Hallo,
ich hab ein kleines Programm geschrieben, das ein Textfeld anzeigt und dessen Textfarbe über eine JComboBox geändert werden kann. Ich stelle mir gerade die Frage ob ich meinen Code noch ein wenig optimieren kann und wollte Euch fragen, ob Ihr vielleicht eine gute Idee habt:
Meine JComboBox fülle ich über ein Array:
Im Konstruktor meiner Klasse, baue ich dann mein Fenster, mit weiteren Elementen auf:
Die Farben des Textes kann ich derzeit bloß über actionPerformed der Combobox ändern.
Allerdings ist wie man sieht beim Start des Programms in der Combobox bereits "rot" ausgewählt.
Mein Label-TExt ist allerdings schwarz.
Habe ich vielleicht irgendwo eine Kleinigkeit vergessen oder komme ich nicht drum rum im Konstruktor
z.B. eine separate Methode farbesetzen() aufzurufen, wo ich dann explizit nochmal über getSelectedItem die
Farbe auslese und dann über
die richtige Farbe bei Programmstart setze?!
Danke für Eure Hilfe,
ich hab ein kleines Programm geschrieben, das ein Textfeld anzeigt und dessen Textfarbe über eine JComboBox geändert werden kann. Ich stelle mir gerade die Frage ob ich meinen Code noch ein wenig optimieren kann und wollte Euch fragen, ob Ihr vielleicht eine gute Idee habt:
Meine JComboBox fülle ich über ein Array:
Code:
private String[] farbAuswahl = {"Rot", "Gelb", "Blau", "Grün", "Schwarz"};
//für die Auswahl der Foraben
private JComboBox auswahl;
//Hier wird der Text angezeigt
private JLabel anzeige;
Im Konstruktor meiner Klasse, baue ich dann mein Fenster, mit weiteren Elementen auf:
Code:
public Textfarbe_aendern(String titel) {
super(titel);
auswahl = new JComboBox (farbAuswahl);
auswahl.setEnabled(false);
auswahl.setSelectedIndex(0);
anzeige = new JLabel("Der Text");
anzeige.setFont(new Font("Arial", Font.PLAIN, 14));
//GridLayout 2 Spalten und Abstand
setLayout(new GridLayout(0,2,10,10));
//jetzt werden in Komponenten hinzugefügt
add(anzeige);
add(auswahl);
//Listener verbinden
MeinListener listener = new MeinListener();
auswahl.addActionListener(listener);
auswahl.requestFocus();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setVisible(true);
}
Die Farben des Textes kann ich derzeit bloß über actionPerformed der Combobox ändern.
Allerdings ist wie man sieht beim Start des Programms in der Combobox bereits "rot" ausgewählt.
Mein Label-TExt ist allerdings schwarz.
Habe ich vielleicht irgendwo eine Kleinigkeit vergessen oder komme ich nicht drum rum im Konstruktor
z.B. eine separate Methode farbesetzen() aufzurufen, wo ich dann explizit nochmal über getSelectedItem die
Farbe auslese und dann über
Code:
anzeige.setForeground(Color.RED);
Danke für Eure Hilfe,