Ich habe class1 und class2. Class1 ist eine Benutzeroberfläche, Klasse2 nimmt Änderungen an der Benutzeroberfläche vor. Class2 ist unten gezeigt.Java: Access-Taste in einer anderen Klasse von Thread
1) Gibt es eine Möglichkeit, die gesamte Klasse 2 zu ermöglichen, Objekte von class1 zu verwenden (JButton btnStartFullBuild, JButton btnShutdownServer
, etc)
2) Wie ermögliche ich dem Thread, um die Hintergrundfarbe der Schaltfläche in Class1 zu ändern (mit : btnShutdownServer.setBackground(Color.blue);
)
package examples;
import java.awt.Color;
import javax.swing.JButton;
public class Class2 {
public static void shutdownServer(JButton btnStartFullBuild, JButton btnShutdownServer) {
// This works
btnShutdownServer.setBackground(Color.blue);
// This works when passing text, but I cant modify other classes buttons
new ThreadTest("Can I modify a button?").start();
}
}
class ThreadTest extends Thread {
public ThreadTest(String str) {
super(str);
}
public void run() {
for (int i = 0; i < 5; i++) {
System.out.println("Loop " + i + ": " + getName());
try {
sleep((int) (Math.random() * 2000));
} catch (InterruptedException e) {
}
}
}
}
Sie sollten das Schwingen wissen absolut nicht fadensicher. Während das, was du tust, vielleicht auch nicht funktioniert, ist es keine gute Idee, es so zu machen. – nhouser9
Ich erkannte, dass ich einen Teil des Codes kopiert hatte, der nicht ausgeführt wurde. Es funktionierte, nachdem ich den Teil des Codes bearbeitet hatte, der tatsächlich ausgeführt wurde (ich habe viele Änderungen vorgenommen) – heyitsmyusername