1

ダイアログを表示し、[OK] をクリックした後に値を返す関数 (JOptionPane.showMessageDialog(xxx,"xxx") など) を作成しようとすると、ストレスの多い週末がかかりますか? コードを書くのを手伝ってくれる人はいますか?

前もって感謝します

マカラ

4

3 に答える 3

4

JOptionPane.showInputDialog()を使用します。

他の方法は、GUIコントロールをJOptionPane.showMessageDialog()に渡して、閉じたらコントロールの状態を照会するか、JDialogを使用することです。

JOptionPaneを必要なとおりに実行するために15分以上を費やす場合は、JOptionPaneがそのジョブのクラスではないことを示す良い兆候です。

于 2011-02-03T13:10:06.757 に答える
2

ここでは、簡単なアプローチがあります。これは関数ではなくクラスです。2 つのパラメーターだけで構築する場合は、必要な 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 に答える