Hallo,
Ich schreibe gerade ein Programm (nur so zum testen). In einer Klasse erstelle ich meine ganze Form. Dort befindet sich auch ein Button. Wenn dieser Button gedrückt wird, möchte ich herausfinden welche CheckBoxes und Radiobuttons gerade aktiv sind. Allerdings möchte ich dies OHNE ActionListener oder ItemListener realiseren. Ist sowas möglich?
Ich poste mal mein Programm. Wie ihr seht ist die Klasse actionPerformed noch leer.
Ich schreibe gerade ein Programm (nur so zum testen). In einer Klasse erstelle ich meine ganze Form. Dort befindet sich auch ein Button. Wenn dieser Button gedrückt wird, möchte ich herausfinden welche CheckBoxes und Radiobuttons gerade aktiv sind. Allerdings möchte ich dies OHNE ActionListener oder ItemListener realiseren. Ist sowas möglich?
Ich poste mal mein Programm. Wie ihr seht ist die Klasse actionPerformed noch leer.
Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Pizza extends JFrame implements ActionListener
{
private JTextArea bestelltext;
private JCheckBox cb;
private JRadioButton rbGroesse;
private ButtonGroup bg;
private static final String[] GROESSEN = {"klein","normal","gro\u00df"};
private static final String[] ZUTATEN = {"Artischocken","Paprika","Ei","Spinat","Knoblauch","Mais"};
private static final double[] GRUNDPREISE = {4,4.5,5};
private static final double PPZ = 0.6;
public Pizza(String titel, String[] zutaten, String[] groessen, double[] grundpreise, double ppz)
{
super(titel);
if (groessen.length != grundpreise.length)
{
throw new IllegalArgumentException("Fehler: Argumentgrössen stimmen nicht");
}
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
// --- Hauptpanel erzeugen
JPanel hauptPanel = new JPanel();
hauptPanel.setLayout(new GridLayout(0,1));
// --- Panel mit den Checkboxes
JPanel checkboxesPanel = new JPanel();
checkboxesPanel.setLayout(new GridLayout(0,2));
JCheckBox kaese = new JCheckBox("K\u00e4se");
kaese.setSelected(true);
kaese.setEnabled(false);
checkboxesPanel.add(kaese);
kaese.setName("K\u00e4se");
JCheckBox tomaten = new JCheckBox("Tomaten");
tomaten.setSelected(true);
tomaten.setEnabled(false);
checkboxesPanel.add(tomaten);
tomaten.setName("tomaten");
for(int i=0; i < zutaten.length; i++)
{
cb = new JCheckBox(zutaten[i]);
cb.setName(zutaten[i]);
checkboxesPanel.add(cb);
}
// --- Panel mit den Radiobuttons
JPanel radiobuttonsPanel = new JPanel();
radiobuttonsPanel.setLayout(new GridLayout(1,0));
bg = new ButtonGroup();
for(int i=0; i<groessen.length;i++)
{
rbGroesse = new JRadioButton(groessen[i]);
radiobuttonsPanel.add(rbGroesse);
rbGroesse.setName(groessen[i]);
bg.add(rbGroesse);
if (groessen[i].equals("normal"))
{
rbGroesse.setSelected(true);
}
}
// --- Bestellen Button
JButton bestellen = new JButton("Bestellen");
bestellen.addActionListener(this);
// --- AnzeigenFeld
bestelltext = new JTextArea();
bestelltext.setEditable(false);
bestelltext.setLineWrap(true);
bestelltext.setWrapStyleWord(true);
// --- Alles auf hauptpanel setzen
hauptPanel.add(checkboxesPanel);
hauptPanel.add(radiobuttonsPanel);
hauptPanel.add(bestellen);
hauptPanel.add(bestelltext);
add(hauptPanel);
setSize(500,400);
setVisible(true);
}
public void actionPerformed(ActionEvent evt)
{
}
public static void main(String[] args)
{
new Pizza("Pizza",ZUTATEN, GROESSEN, GRUNDPREISE, PPZ);
}
}