Hi leute ich hab da ein kleines Problem mit dem JRadioButtons und dem Itemlistener.
Hab da zwei Radionbuttons mit denn ich drei Buttons steuen will, d. h. die Buttons aktivieren oder deaktivieren.
Doch bekomm mit dem ItemListener nur Fehlermeldung, und zwar Folgende, kann damit nicht viel anfangen.
und
hier noch der Quellcode, soll ne ampelsteuerung werden.
Hoffe jemand kann mir ein paar kleine tipps geben wie ich das beheben kann..
MfG mildi
Hab da zwei Radionbuttons mit denn ich drei Buttons steuen will, d. h. die Buttons aktivieren oder deaktivieren.
Doch bekomm mit dem ItemListener nur Fehlermeldung, und zwar Folgende, kann damit nicht viel anfangen.
Code:
Amp_gui is not abstract and does not override abstract method itemStateChanged(java.awt.event.ItemEvent) in java.awt.event.ItemListener
Code:
java.awt.event.ItemListener is abstract; cannot be instantiated
hier noch der Quellcode, soll ne ampelsteuerung werden.
Code:
/**
* @(#)Amp_gui.java
*
*
* @author
* @version 1.00 2008/5/13
*/
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.event.*;
public class Amp_gui extends JFrame implements ItemListener
{
private JLabel label_betrart;
private JLabel label_zeit;
private JLabel label_zwischeZu;
private JLabel label_redGreen;
private JLabel label_kuezelS1;
private JLabel label_kuezelS2;
private JLabel label_leer;
private JRadioButton radioButton_manu;
private JRadioButton radioButton_auto;
private JButton button_Reset;
private JButton button_Start;
private JButton button_Single;
private JPanel flaeche_oben;
private JPanel flaeche_mitte;
private JPanel flaeche_unten;
private JPanel flaeche_blinker;
private JTextField textF1;
private JTextField textF2;
private Amp_draw_RED blinkRed;
private Amp_draw_YELLOW blinkYellow;
private Amp_draw_GREEN blinkGreen;
protected ItemListener itemListener;
public Amp_gui(String name)
{
super (name);
//
// erzeugen der Bedienelemente
//
label_betrart = new JLabel("Betriebsart");
label_zeit = new JLabel("Zeiten");
label_redGreen = new JLabel("Rot oder grün: ");
label_redGreen.setHorizontalTextPosition(0);
label_zwischeZu = new JLabel("Zwischenzustand: ");
label_zwischeZu.setHorizontalTextPosition(0);
label_kuezelS1 = new JLabel("s");
label_kuezelS2 = new JLabel("s");
label_leer = new JLabel();
radioButton_manu = new JRadioButton("manuell", true);
radioButton_auto = new JRadioButton("automatisch");
ButtonGroup bgroup = new ButtonGroup();
button_Reset = new JButton("Reset (blinken) ");
button_Start = new JButton("Start (automatisch)");
button_Single = new JButton("Singel Step ");
textF1 =new JTextField();
textF2 =new JTextField();
//Ende
//
//Anfang Standewerte für Fenster festlegen
//
setSize(270,330);
setLocation(200,300);
setLayout((new BorderLayout()));
// setLayout(null);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent event) {
System.exit(0);
}
});
//
// Anfang Oberere Teil der Bedienoberfläche
//
flaeche_oben = new JPanel();
flaeche_oben.setLayout( null );
label_betrart.setBounds(0,0,160,30);
flaeche_oben.add(label_betrart);
radioButton_manu.setBounds(0,30,160,30);
flaeche_oben.add(radioButton_manu);
radioButton_auto.setBounds(0,60,160,30);
flaeche_oben.add(radioButton_auto);
radioButton_manu.addItemListener(new ItemListener());
//bgroup.add(radioButton_manu);
//bgroup.add(radioButton_auto);
//addItemListener (ItemListener);
//
// Ende Oberer Teil der Bedienoberfläche
//
//
//Anfang Mittlere Teil der Bedienoberfläche
//
button_Reset.setBounds(0,90,160,30);
flaeche_oben.add(button_Reset);
button_Start.setBounds(0,130,160,30);
flaeche_oben.add(button_Start);
button_Single.setBounds(0,170,160,30);
flaeche_oben.add(button_Single);
label_leer.setBounds(0,200,160,40);
flaeche_oben.add(label_leer);
label_zeit.setBounds(0,240,160,20);
flaeche_oben.add(label_zeit);
// add(flaeche_mitte);
//
//Ende Mittlerer Teile der Bedienoberfläche
//
//
//Anfange Untere Teil der Bedienoberfläche
//
label_redGreen.setBounds(0,260,120,20);
flaeche_oben.add(label_redGreen);
textF1.setBounds(125,260,25,20);
flaeche_oben.add(textF1);
label_kuezelS1.setBounds(150,260,10,20);
flaeche_oben.add(label_kuezelS1);
label_zwischeZu.setBounds(0,280,120,20);
flaeche_oben.add(label_zwischeZu);
textF2.setBounds(125,280,25,20);
flaeche_oben.add(textF2);
label_kuezelS2.setBounds(150,280,10,20);
flaeche_oben.add (label_kuezelS2);
//
//Ende Unterer Teil der Bedienoberfläche
//
//
//Anfang der Ampelleuchten
blinkRed = new Amp_draw_RED();
blinkYellow = new Amp_draw_YELLOW();
blinkGreen = new Amp_draw_GREEN();
blinkRed.setBounds(160,0,100,100);
blinkYellow.setBounds(160,100,100,100);
blinkGreen.setBounds(160,200,100,100);
flaeche_oben.add(blinkRed);
flaeche_oben.add(blinkYellow);
flaeche_oben.add(blinkGreen);
add(flaeche_oben, BorderLayout.CENTER);
//
//Ende der Ampelleuchten
//
//
//Fenster sichtbar machen
//
setVisible(true);
}
//
// Item listener für die RadioButtons
//
public void ItemListener (ItemEvent ie)
{
if (radioButton_manu.isSelected())
{
button_Single.setEnabled(true);
button_Start.setEnabled(false);
textF1.setEnabled(false);
textF2.setEnabled(false);
}
if (radioButton_auto.isSelected())
{
button_Single.setEnabled(false);
button_Start.setEnabled(true);
textF1.setEnabled(true);
textF2.setEnabled(true);
}
}
// Eende ItemListener
}
Hoffe jemand kann mir ein paar kleine tipps geben wie ich das beheben kann..
MfG mildi