2011-02-03 25 views
1

它需要一個充滿壓力的週末,試圖創建一個顯示對話框並可以在點擊確定後返回值的函數(如JOptionPane.showMessageDialog(xxx,「xxx」))?任何人都可以幫我編寫代碼嗎?如何製作一個像JOptionPane.showMessageDialog(xxx,「xxx」)的函數?

在此先感謝

馬卡拉

+1

爲什麼不使用相同的? – 2011-02-03 13:03:07

+1

另請參閱http://stackoverflow.com/questions/3002787 – trashgod 2011-02-03 14:12:36

回答

4

使用JOptionPane.showInputDialog()。

其他替代方法是將GUI控件交給JOptionPane.showMessageDialog(),並在控件關閉或查詢時使用JDialog查詢控件的狀態。

如果您花費超過15分鐘試圖讓JOptionPane完全按照需要進行操作,那麼這是JOptionPane不是作業類的好兆頭。

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; 

} 
相關問題