私は一度に3つのMessageDialog
ボックスを表示するプログラムを作ろうとしています。私はあなたがswing timer
のactionListner
クラスにJOPtionPane.showMessageDialog
を入れると、毎秒新しいMessageDialog
ボックスを表示すると思っていました。一度に複数のMessageDialogを表示
package pracatice;
import java.awt.event.*;
import javax.swing.*;
public class practice extends JFrame
{
public static int num = 0;
public static TimerClass tc = new TimerClass();
public static Timer timer = new Timer(1000, tc);
public JPanel panel = new JPanel();
public JButton btn = new JButton("press");
public practice()
{
setSize(100,100);
setTitle("Test");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setPanel();
setVisible(true);
}
public void setPanel()
{
btn.addActionListener(new listener());
panel.add(btn);
add(panel);
}
public class listener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
num = 0;
System.out.println("starting timer");
timer.start();
}
}
public static class TimerClass implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
System.out.println("Adding 1 to num");
num++;
JOptionPane.showMessageDialog(null,"Test");
if(num == 3)
{
System.out.println("stopping the timer");
timer.stop();
}
}
}
public static void main(String[] args)
{
practice p = new practice();
System.out.println("created an instance of practice");
}
}
それは動作しますが、ではない、私はそれがしたい方法:だからここ
は私が思いついたコードです。 1秒ごとに新しいボックスを表示するのではなく、1秒後に新しいボックスを表示します。
「press」を押すと、1秒間待機してボックスを生成します。 「OK」を押すと、1秒間待って別のものを起動します。どのようにして3つのボックスを1つずつ作成させるか考えてみましょうか?
理由について_one_ダイアログのない複数のメッセージ、[実施例](http://stackoverflow.com/a/3002830/230513) 。 – trashgod