ここ数か月、私は Java でプログラミングを試みましたが、ほとんどの場合問題はありませんでしたが、現在、ボイドの操作に問題があります。私のプログラムでは、ユーザーがボタンを押すと、複数のメッセージが JLabel に表示されるようになり、メッセージは Thread.sleep() メソッドで広がります。どういうわけか、最後の 1 つだけが送信されてしまいます。これが私のコードです。すべてではありませんが、どこかに問題があると確信しています。そこにあるエラー出力は、コードで何が起こっているのかを確認するためのものでしたが、明らかにそれらは機能しませんでした。
private class ClickListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
try {
if (e.getSource() == exitButton)
System.exit(0);
else if (e.getSource() == button1)
alValue = "This is the new message text.";
System.err.println(alValue);
createNewArrayList();
Thread.sleep(3000);
alValue = "Back to invisible...";
System.err.println(alValue);
createNewArrayList();
Thread.sleep(2000);
alValue = "";
System.err.println(alValue);
createNewArrayList();
} catch (InterruptedException ex) {
Logger.getLogger(EmptySpace.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
と
private void createNewArrayList() {
ArrayList al = new ArrayList();
al.add(alValue);
label1.setText("" + al);
}