2011-02-03 4 views
1

JOptionPane.showMessageDialog (xxx, "xxx")와 같이 ok를 클릭하면 대화 상자를 표시하고 값을 반환 할 수있는 함수를 만드는 데 스트레스가 쌓여 주말이 걸립니다. 누구든지 코드 작성에 대한 도움을받을 수 있습니까? 사전에JOptionPane.showMessageDialog (xxx, "xxx")와 같은 함수를 만드는 방법은 무엇입니까?

감사

Makara

+1

왜 같은를 사용하지? –

+1

또한보십시오 http://stackoverflow.com/questions/3002787 – trashgod

+0

당신이 지금까지 한 무엇을 보여 주면 (질문에서 포함하십시오) 도움을 얻게 훨씬 쉬워. –

답변

1
  1. 디자인이 필요합니다 어떤 클래스와는
  2. 는 클래스와 메소드의 골격을 작성하고 세부 작성 시작처럼 GUI가보고 싶은 .
  3. 함께 넣고 결과를 반환 할 수있는 메서드를 만듭니다.

일부 유용한 아이템 : API에서

4

가 JOptionPane.showInputDialog 사용을().

다른 대안은 GUI 컨트롤을 JOptionPane.showMessageDialog()에 전달하고 닫은 컨트롤의 상태를 쿼리하거나 JDialog를 사용하는 것입니다.

필요에 따라 JOptionPane을 얻으려고 15 분 이상을 소비하는 경우 JOptionPane이 해당 작업의 클래스가 아님을 나타내는 좋은 신호입니다.

+0

그래, 나는 그렇게 생각했다. 그러나 유일한 문제는 코딩을 모른다는 것입니다. ?? 간단한 코드를 보여 주시겠습니까? – Makara

+2

코드는 작성하지 않습니다. 튜토리얼을 얻고 학습을 시작하십시오. – mdrg

2

여기에 사소한 접근법이 있습니다. 그것은 클래스이고 함수는 아닙니다. 두 개의 매개 변수만으로 구성하려는 경우 필요한 두 개의 매개 변수가있는 추가 생성자를 만듭니다.

당신이 진짜 맥코이 좀 걸릴 수 있습니다

Here ...

public class MyOwnJDialog extends javax.swing.JDialog { 
    private String theMessage; 

    public MyOwnJDialog(java.awt.Frame parent, boolean modal, String theMessage) { 
     super(parent, modal); 
     initComponents(); 
     this.theMessage = theMessage; 
     jLabel1.setText(theMessage); 
     setVisible(true); 
    } 


    private void initComponents() { 

     jLabel1 = new javax.swing.JLabel(); 
     jPanel1 = new javax.swing.JPanel(); 
     jButton1 = new javax.swing.JButton(); 

     setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); 
     getContentPane().add(jLabel1, java.awt.BorderLayout.CENTER); 

     jButton1.setText("OK"); 
     jButton1.addActionListener(new java.awt.event.ActionListener() { 
      public void actionPerformed(java.awt.event.ActionEvent evt) { 
       jButton1ActionPerformed(evt); 
      } 
     }); 
     jPanel1.add(jButton1); 

     getContentPane().add(jPanel1, java.awt.BorderLayout.SOUTH); 
     pack(); 
    } 

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { 
     dispose(); 
    } 

    private javax.swing.JButton jButton1; 
    private javax.swing.JLabel jLabel1; 
    private javax.swing.JPanel jPanel1; 

} 
관련 문제