gpt4 book ai didi

java - 是什么导致绿灯保持绿色?

转载 作者:行者123 更新时间:2023-12-02 01:47:42 25 4
gpt4 key购买 nike

抱歉问了这个愚蠢的问题,这是为了我的作业。我应该制作一个交通灯,当按下按钮时它会改变灯光。我已经半工作了,我遇到的问题是绿灯在红色阶段保持点亮。我对所有三个阶段都做同样的事情,所以我不明白为什么它只在那个阶段有问题。代码:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;


public class ButtonPanel extends JPanel {

int presses;

int gy=200;
int yy=130;
int ry=60;
int filly=ry;
int empty1=gy;
int empty2=yy;
private JButton push;
private JLabel label;
Color light=Color.RED;

public ButtonPanel () {
presses=0;
push=new JButton("Change Light");



push.addActionListener(new ButtonListener());
add(push);


setBackground(Color.white);
setPreferredSize(new Dimension(300,400));
}
public void paint(Graphics g) {
super.paint(g);
setBackground(Color.WHITE);

g.drawOval(120,gy,50,50);
g.drawOval(120,yy,50,50);
g.drawOval(120,ry,50,50);
g.drawRect(95, 50, 100, 210);
g.setColor(light);
g.fillOval(120, filly, 50, 50);
g.setColor(Color.white);
g.fillOval(120, empty1, 50, 50);
g.fillOval(120, empty2, 50, 50);



}
public class ButtonListener implements ActionListener{

public void actionPerformed(ActionEvent e) {
System.out.println(presses);
presses++;
if(presses>2) {
presses=0;
}
if(presses==0) {
light=Color.red;
filly=ry;
System.out.println("check");
empty1=gy;
System.out.println("check");
empty1=yy;
repaint();
}
if(presses==1) {
light=Color.yellow;
filly=yy;
empty1=ry;
empty2=gy;
repaint();
}
if(presses==2) {
light=Color.green;
filly=gy;
empty1=ry;
empty2=yy;
repaint();
}

}

}
}

如果你想编译它,这里是框架和主要方法部分:

import javax.swing.JFrame;
public class TrafficFrame {

public static void main(String[] args) {
JFrame frame= new JFrame("Traffic Light");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ButtonPanel panel=new ButtonPanel();
frame.getContentPane().add(panel);

frame.pack();
frame.setVisible(true);

}

}

最佳答案

对我来说这只是一个简单的拼写错误。在该 if block 中,您设置了 empty1 两次,但没有设置 empty2

关于java - 是什么导致绿灯保持绿色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53524731/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com