JFrame 간 값 전달
챌린지
JTable의 행을 클릭할 때 두 번째 JFrame의 목적은 선택한 값이 원본 JFrame의 텍스트 필드를 채우도록 하는 것입니다.
분석
프로그램 아키텍처에서는 JDialog 대신 JDialog를 사용하도록 제안할 수 있습니다. JFrame은 둘 다 표준 Java 코드에서와 같이 GUI 객체 참조를 전달하는 동일한 원칙에 의존합니다.
다른 JFrame을 여는 JFrame 창의 경우 일반적으로 첫 번째 프레임은 두 번째 프레임에 대한 참조를 보유하므로 다음을 수행할 수 있습니다. 해당 메서드를 호출합니다. 이러한 호출의 타이밍은 두 번째 프레임이 모달 대화 상자인지 여부에 따라 다릅니다.
해결 방법
모달 대화 상자의 경우 상태를 검색하는 이상적인 시간은 다음 프레임 직후입니다. 대화 상자가 반환됩니다. 비모달 대화의 경우 리스너를 사용하여 정보를 추출해야 하는 시기를 모니터링할 수 있습니다.
예제 코드
간단한 예를 통해 이 개념을 설명하려면 다음을 고려하세요. 다음 코드:
<code class="java">// MyFramePanel holds a reference to MyDialogPanel and its JDialog class MyFramePanel extends JPanel { // ... // When the "Open Dialog" button is clicked, the dialog is opened private void openTableAction() { if (dialog == null) { dialog = new JDialog(win, "My Dialog", ModalityType.APPLICATION_MODAL); dialog.getContentPane().add(dialogPanel); dialog.pack(); dialog.setLocationRelativeTo(null); } dialog.setVisible(true); // Modal dialog takes over // After the dialog is disposed, retrieve the text from its JTextField field.setText(dialogPanel.getFieldText()); } }</code>
이 예는 대화 상자 패널에 대한 참조를 통해 대화 상자의 텍스트 필드 데이터를 메인 프레임의 텍스트 필드로 전송하는 방법을 보여줍니다. JTable에서 데이터를 검색하는 데에도 유사한 기술을 적용할 수 있습니다.
위 내용은 두 번째 JFrame의 JTable에서 원래 JFrame의 텍스트 필드로 값을 어떻게 전달합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!