2010-06-09 3 views

답변

39

showInputDialog() 또는 showMessageDialog()과 같이 JOptionPane 방법 중 하나를 고려해야합니다.

부록 : JOptionPane을 선택하면 표시된 구성 요소의 수가 아니라 모달의 적합성에 더 좌우됩니다. How to Make Dialogs도 참조하십시오.

부록 : @camickr의 의견에서 언급했듯이 에 설명 된 방법 (예 : here)을 사용하여 특정 구성 요소에 포커스를 설정할 수 있습니다.

image

package gui; 

import java.awt.EventQueue; 
import java.awt.GridLayout; 
import javax.swing.*; 

/** @see https://stackoverflow.com/a/3002830/230513 */ 
class JOptionPaneTest { 

    private static void display() { 
     String[] items = {"One", "Two", "Three", "Four", "Five"}; 
     JComboBox<String> combo = new JComboBox<>(items); 
     JTextField field1 = new JTextField("1234.56"); 
     JTextField field2 = new JTextField("9876.54"); 
     JPanel panel = new JPanel(new GridLayout(0, 1)); 
     panel.add(combo); 
     panel.add(new JLabel("Field 1:")); 
     panel.add(field1); 
     panel.add(new JLabel("Field 2:")); 
     panel.add(field2); 
     int result = JOptionPane.showConfirmDialog(null, panel, "Test", 
      JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE); 
     if (result == JOptionPane.OK_OPTION) { 
      System.out.println(combo.getSelectedItem() 
       + " " + field1.getText() 
       + " " + field2.getText()); 
     } else { 
      System.out.println("Cancelled"); 
     } 
    } 

    public static void main(String[] args) { 
     EventQueue.invokeLater(new Runnable() { 

      @Override 
      public void run() { 
       display(); 
      } 
     }); 
    } 
} 
+0

대답 예 간의 초기 혼란에 대해 죄송합니다. – trashgod

+0

어떻게 입력을 검색 할 수 있습니까? – nunos

+0

나는 위에서 정교하고 튜토리얼에 대한 링크를 추가했다. – trashgod

관련 문제