1

尝试制作一个显示对话框并在单击确定后可以返回值的函数需要一个完整的周末(如 JOptionPane.showMessageDialog(xxx,"xxx"))?谁能帮我写代码?

提前致谢

马卡拉

4

3 回答 3

4

使用 JOptionPane.showInputDialog()。

其他替代方法是将 GUI 控件交给 JOptionPane.showMessageDialog() 并在控件关闭后查询控件的状态,或者使用 JDialog。

如果您花费超过 15 分钟试图让 JOptionPane 完全按照要求执行,则表明 JOptionPane 不是该工作的类是一个好兆头。

于 2011-02-03T13:10:06.757 回答
2

在这里,您有一个简单的方法。它是一个类而不是一个函数。如果您只想使用两个参数来构造它,请创建一个具有您需要的两个参数的附加构造函数。

在这里你可以看看真正的麦考伊...

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;

}
于 2011-02-03T13:25:23.677 回答
1
  1. 设计您需要的类以及您希望 GUI 的外观
  2. 创建类和方法的骨架并开始填写细节。
  3. 创建一个可以将它们组合在一起并返回输出的方法。

一些有用的项目:

于 2011-02-03T13:09:17.557 回答