Hallo liebe Forenmitglieder!
Ich bin ein Anfänger in sachen Java und hab mich mal an einer Ampel versucht.
Allerdings finde ich sie so noch etwas langweilig weil man jedes mal wen man einen zustand weiter schalten möche auf diesen button drücken muss. Jetzt ist also meine frage wie ich das so programmieren kann, dass man einen start und einen stop button hat und sich die zustände von allein vl. so in 1 sec intervallen weiterschalten. Bitte dringen um hilfe... und schon mal danke im vorraus!!!
Ich bin ein Anfänger in sachen Java und hab mich mal an einer Ampel versucht.
Allerdings finde ich sie so noch etwas langweilig weil man jedes mal wen man einen zustand weiter schalten möche auf diesen button drücken muss. Jetzt ist also meine frage wie ich das so programmieren kann, dass man einen start und einen stop button hat und sich die zustände von allein vl. so in 1 sec intervallen weiterschalten. Bitte dringen um hilfe... und schon mal danke im vorraus!!!
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
/**
*
* Beschreibung
*
* @version 1.0 vom 25.03.2010
* @author
*/
public class Ampel2 extends JFrame {
// Anfang Attribute
private JButton jButton1 = new JButton();
int i=0;
int y=0;
private ButtonGroup jButtonGroup1 = new ButtonGroup();
// Ende Attribute
public Ampel2(String title) {
// Frame-Initialisierung
super(title);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
int frameWidth = 316;
int frameHeight = 298;
setSize(frameWidth, frameHeight);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
int x = (d.width - getSize().width) / 2;
int y = (d.height - getSize().height) / 2;
setLocation(x, y);
Container cp = getContentPane();
cp.setLayout(null);
// Anfang Komponenten
jButton1.setBounds(24, 24, 89, 33);
jButton1.setText("Start");
jButton1.setVisible(true);
jButton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jButton1_ActionPerformed(evt);
}
});
jButton1.setToolTipText("Klicken um den Ampel-Zustand zu ändern");
cp.add(jButton1);
// Ende Komponenten
setResizable(false);
setVisible(true);
}
// Anfang Methoden
public void jButton1_ActionPerformed(ActionEvent evt) {
// TODO hier Quelltext einfügen
i++;
repaint();
}
public void paint(Graphics g){
g.setColor(Color.GRAY);
g.fill3DRect(27,95,89,170, true);
if (i==1){
g.setColor(Color.RED);
g.fillOval(45,100,50,50);
}
if (i==2){
g.setColor(Color.RED);
g.fillOval(45,100,50,50);
g.setColor(Color.YELLOW);
g.fillOval(45,155,50,50);
}
if (i==3){
g.setColor(Color.GREEN);
g.fillOval(45,205,50,50);
}
if (i==4){
g.setColor(Color.YELLOW);
g.fillOval(45,155,50,50);
i=0;
}
}
public String getSelectedRadioButton(ButtonGroup bg) {
for (java.util.Enumeration<AbstractButton> e = bg.getElements(); e.hasMoreElements();) {
AbstractButton b = e.nextElement();
if (b.isSelected()) return b.getText();
}
return null;
}
// Ende Methoden
public static void main(String[] args) {
new Ampel2("2");
}
}