Hallo,
ich versuche über einen Button-Klick die Farbe eines anderen Buttons zu verändern.
Dabei stosse ich auf ein Problem:
1) wie muss ich die Variable des zweiten Buttons deklarieren, so dass ich über die private Klasse SwingAction auf den "ZielButton" zugreifen kann?
2) eventuell gibt es dann noch mehrere Probleme, von denen ich jetzt noch nichts weiss
Danke für Eure Unterstützung
GGK
ich versuche über einen Button-Klick die Farbe eines anderen Buttons zu verändern.
Dabei stosse ich auf ein Problem:
1) wie muss ich die Variable des zweiten Buttons deklarieren, so dass ich über die private Klasse SwingAction auf den "ZielButton" zugreifen kann?
2) eventuell gibt es dann noch mehrere Probleme, von denen ich jetzt noch nichts weiss
Java:
package buttonTest;
import java.awt.EventQueue;
public class ButtonTest {
public static String Test = null;
private JFrame frame;
public JButton btnZielButton;
private final Action action = new SwingAction();
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
ButtonTest window = new ButtonTest();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
String Test = "gut";
}
});
}
/**
* Create the application.
*/
public ButtonTest() {
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 450, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
JButton btnStartButton = new JButton("Start Button");
btnStartButton.setAction(action);
ImageIcon icon1 = new ImageIcon(getClass().getResource("/images/start_klein.png"));
btnStartButton.setIcon(icon1);
btnStartButton.setBounds(10, 11, 139, 23);
frame.getContentPane().add(btnStartButton);
JButton btnZielButton = new JButton("Ziel Button");
btnZielButton.setBounds(10, 45, 139, 23);
frame.getContentPane().add(btnZielButton);
}
private class SwingAction extends AbstractAction {
public SwingAction() {
putValue(NAME, "Start Button");
putValue(SHORT_DESCRIPTION, "Some short description");
}
public void actionPerformed(ActionEvent e) {
Test = "gut";
System.out.println("Testvariable: "+Test);
if (Test.equals("gut")) {
btnZielButton.setBackground(new Color(47, 79, 79));
}
}
}
}
Danke für Eure Unterstützung
GGK