すでに回答されている可能性のある他の質問をいくつか調べましたが、私に関連するものは何も見られませんでした。少なくとも私が理解したものはありませんでした.
信号機を作成しようとしていますが、ボタンをクリックしたときに実際に赤緑と黄色の円を描くのに問題があります。迅速な回答をいただければ幸いです。
public class TrafficLight extends JApplet implements ActionListener {
private Image Hayden;
JButton btn1;
JButton btn2;
JButton btn3;
int x;
public void init() {
setLayout(new FlowLayout());
btn1 = new JButton("Stop");
btn2 = new JButton("Wait");
btn3 = new JButton("Go");
Boolean Answer;
add(btn1);
btn1.addActionListener(this);
add(btn2);
btn2.addActionListener(this);
add(btn3);
btn3.addActionListener(this);
Hayden = getImage(getDocumentBase(), "49.jpg");
}
public void actionPerformed(ActionEvent event){
if (event.getSource()==btn1){
boolean one = true;
}
if (event.getSource()==btn2){
boolean two = true;
}
if (event.getSource()==btn3){
boolean three = true;
}
repaint();
}
public void paint(Graphics g) {
super.paint(g);
g.setColor(Color.black);
g.drawRect(0, 400, 700, 200);//creating the rectangle
g.fillRect(0, 400, 700, 200);
g.setColor(Color.black);
g.drawRect(645, 0, 55, 155);//creating the rectangle
g.fillRect(645, 0, 55, 155);
g.setColor(Color.white);
g.drawOval(650, 5, 45, 45);//creating the oval
g.fillOval(650, 5, 45, 45);
g.setColor(Color.white);
g.drawOval(650, 55, 45, 45);//creating the oval
g.fillOval(650, 55, 45, 45);
g.setColor(Color.white);
g.drawOval(650, 105, 45, 45);//creating the oval
g.fillOval(650, 105, 45, 45);
if (one == true){
g.setColor(Color.red);
g.drawOval(650,5,45,45);
}
else if (two == true){
g.setColor(Color.red);
g.drawOval(650,55,45,45);
}
else if (three == true){
g.setColor(Color.red);
g.drawOval(650,105,45,45);
}
g.drawImage(Hayden, 0, 500, 150, 100, this);//create the image
}
}