V
valbet
Gast
Hallo, ich habe folgende Source, und wenn ich den Programm starte, die Farbe der "TEXT" ist Schwarz, obwohl im JCombo als erste Farbe "Rot" angegeben ist. Was kann ich ändern, damit die erste Farbe im "JComboBox" benutz wird. Danke
Java:
import java.awt.Color;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JRadioButton;
import com.sun.org.apache.bcel.internal.generic.INSTANCEOF;
public class BuntOderNichtGUI extends JFrame{
public BuntOderNichtGUI(String titel) {
super(titel);
gross = new JCheckBox("Grösser darstellen");
auswahl=new JComboBox(farbAuswahl);
auswahl.setEnabled(false);
schaltflaecheBeenden=new JButton("Beenden");
bunt =new JRadioButton("bunt");
nichtBunt=new JRadioButton("nichtBunt");
gruppe=new ButtonGroup();
gruppe.add(bunt);
gruppe.add(nichtBunt);
anzeige =new JLabel("Text");
anzeige.setFont(new Font("Arial",Font.BOLD,14));
//
setLayout(new GridLayout(0,2,10,10));
add(anzeige);
add(gross);
add(bunt);
add(auswahl);
add(nichtBunt);
add(schaltflaecheBeenden);
//
MeinListener listener=new MeinListener();
schaltflaecheBeenden.addActionListener(listener);
//auswahl.addActionListener(listener);//////////
auswahl.addItemListener(listener);
gross.addItemListener(listener);
bunt.addItemListener(listener);
nichtBunt.addItemListener(listener);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setVisible(true);
}
//automatisch über Eclipse erzeugt
private static final long serialVersionUID = 2007237315429965675L;
//die verfügbaren Farben werden in einem Array ablegt
private String[] farbAuswahl = {"Rot", "Gelb", "Blau", "Grün", "Schwarz"};
private JRadioButton bunt, nichtBunt;
private ButtonGroup gruppe;
//für die Auswahl groß oder kleine
private JCheckBox gross;
//für die Auswahl der Farben
private JComboBox auswahl;
//für das Beenden
private JButton schaltflaecheBeenden;
//für die Anzeige
private JLabel anzeige;
class MeinListener implements ActionListener, ItemListener {
@Override
public void actionPerformed(ActionEvent e) {
Object ausloeser = e.getSource();
if (ausloeser instanceof JButton) {
if (e.getActionCommand().equals("Beenden")) {
System.exit(0);
}
}// ende IF ausloeser instanceof JComboBox
}//Ende actionPerformed
@Override
public void itemStateChanged(ItemEvent e) {
Object ausloeser = e.getSource();
if (ausloeser instanceof JCheckBox) {
if (gross.isSelected()==true) {
anzeige.setFont(new Font("Arial",Font.PLAIN,30));
}
else {
anzeige.setFont(new Font("Arial",Font.ITALIC,14));
}
}//ende IF ausloeser instanceof JComboBox
if (ausloeser instanceof JRadioButton) {
if (bunt.isSelected()==true) {
auswahl.setEnabled(true);
}
else {
auswahl.setEnabled(false);
}
}//ende IF ausloeser instanceof JComboBox
///////////////////////////
if (ausloeser instanceof JComboBox) {
if (auswahl.getSelectedItem().toString().equals("Rot")) {
anzeige.setForeground(Color.RED);
}
if (auswahl.getSelectedItem().toString().equals("Gelb")) {
anzeige.setForeground(Color.YELLOW);
}
if (auswahl.getSelectedItem().toString().equals("Blau")) {
anzeige.setForeground(Color.BLUE);
}
if (auswahl.getSelectedItem().toString().equals("Grün")) {
anzeige.setForeground(Color.GREEN);
}
if (auswahl.getSelectedItem().toString().equals("Schwarz")) {
anzeige.setForeground(Color.BLACK);
}
}// ende IF ausloeser instanceof JComboBox
if (ausloeser instanceof JButton) {
if (auswahl.getActionCommand().toString().equals("Beenden")) {
System.exit(0);
}
}// ende IF ausloeser instanceof JComboBox
//////////////////////////
}// ende itemStateChanged
}
}// ende BuntOderNichtGUI
Zuletzt bearbeitet von einem Moderator: