0
JLabel
に文字列を出力したいが、各アルファベットは特定の時間の後に追加する必要がある。自分のプログラムでスレッドを使用していました。JLabelで文字列を表示して、各アルファベットを特定の時間の後に表示する方法
私のプログラムを実行しているときに、JLabel
が最後のアルファベットを置き換えて新しい文字列を追加しています。JLabel
は私の文字列の各アルファベットを追加します。ここで
は私のプログラムは次のとおりです。
public class Thread_in_Swing extends JFrame implements Runnable {
String s="HELLO PRASHANT";
JLabel lb=new JLabel();
Thread_in_Swing() {
lb.setBounds(10,50,200,40);
add(lb);
setLayout(null);
setTitle(s);
setVisible(true);
setSize(400,400);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args) {
Thread_in_Swing t1=new Thread_in_Swing();
t1.run();
}
@Override
public void run() {
String a;
for(int i=0;i<s.length();i++) {
a=Character.toString(s.charAt(i));
lb.setText(a);
try {
Thread.sleep(1000);
}
catch (Exception e) {
}
}
}
}
私のプログラムが正常に実行され、1秒後に、それは最後の1を交換することによってString s
でアルファベットを印刷しているが、私は、各アルファベットは、前を追加する必要がありますしたいです。
'lb.setText(lb.getText()+ a)' – daniu