Hi, also ich habe folgendes Problem, ich wollte bisschen mit Fensterklassen rumspielen und habe mal versucht ein Programm zu schreiben , welches ein Fenster erzeugt mit einer ClickBox. Wenn man das Häckchen setzt sollte sich die Hintergrundfarbe ändern. Nun versuche ich dies zu erreichen in dem ich in meinem Listener auf die Hintergrundfarbe meines Frames zurückgreife , aber irgendwie bekomm ich dies nicht so richtig hin
ich habe mehrer Klassen geschrieben um es ein bisschen zu üben und eine bessere Übersicht zu bekommen.
Meine CheckBox:
mein Listener:
Hoffe es findet sich Hilfe.
Gruß
ich habe mehrer Klassen geschrieben um es ein bisschen zu üben und eine bessere Übersicht zu bekommen.
Java:
public class ActionEvent extends JFrame {
public ActionEvent(){
super ("ClickFrame");
JPanel southPanel = new JPanel();
CheckBox checkbox = new CheckBox();
southPanel.add(new JLabel("switch"));
southPanel.add(checkbox);
this.add(southPanel);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
pack();
setVisible(true);
}
public static void main(String[] args) {
new ActionEvent();
}
}
Code:
public class CheckBox extends JCheckBox {
public CheckBox(){
this.addItemListener(new CheckBoxListener(this));
}
Code:
public class CheckBoxListener implements ItemListener {
CheckBox j;
public CheckBoxListener(CheckBox j){
this.j = j;
}
public void itemStateChanged(ItemEvent e){
Color color;
if(e.getStateChange() == ItemEvent.SELECTED){
color = Color.RED;
//wie greife ich hier auf die hintergrundfarbe zurück?
}else{
color = Color.GREEN;
//wie greife ich hier auf die hintergrundfarbe zurück?(
}
}
Gruß