Java swing でアプリケーションを作っています。アプリケーションのボタンで、x 分ごとに何かを作成する必要があります。新しいスレッドでやらないといけないと思っているのですが、2点問題があります。1 つ目は、これらのスレッドにパラメーターを渡す必要があることです。Thread とコンストラクターを拡張するクラスで解決しました。これらの方法は正しいと思いますか?解決できない2番目のことは、スレッドの実行中にjtextpaneを更新する必要があることですが、JTextPaneのプロパティを更新しようとすると、Eclipseは解決できないと言います。問題は、これらのスレッドがメインスレッドではないことだと思います。でも・・・直す方法はありますか?私の英語に感謝し、申し訳ありません!
コードは次のとおりです。
btnIniciar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
//String file = "D:\\prueba.torrent";
// while (true) {
Hilo ejecutar = new Hilo(listaBuscar);
ejecutar.run();
public class Hilo extends Thread {
public Hilo(List<String> aBuscar){
}
public void run(){
System.out.println("Trabajo por hacer dentro de MiHilo");
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
lblNewLabel.setText("hola");
}
});
}
}
lblNewLabel を解決できないと表示されます。
何か助けはありますか?ありがとう
私は今これらのコードを試していますが、うまくいきません:
public class Hilo implements Runnable {
private JLabel etiqueta;
public Hilo (List <String> aBuscar, JLabel label){
System.out.println("Hemos entrado en el puto hilo");
etiqueta = label;
}
@Override
public void run() {
etiqueta.setText("hola");
System.out.println("vamos a coneseguirlo");
// TODO Auto-generated method stub
SwingUtilities.invokeLater(new Runnable() {
public void run() {
etiqueta.setText("hola");
System.out.println("vamos a coneseguirlo");
}
});
}
}