gpt4 book ai didi

java - 用于停止和反转对象的按钮监听器 (GUI)

转载 作者:行者123 更新时间:2023-11-30 04:07:17 25 4
gpt4 key购买 nike

我创建了两个类,名为 ControlPanel 和 Bicycle Panel。它们都使用 Japplet(GUI) 运行。自行车类创建了一辆蓝色和一辆红色的自行车。控制面板设置显示并创建按钮。用户可以通过这些按钮来告诉自行车移动、倒车和停止。我的显示器工作正常,但在移动、停止和倒车方面遇到问题。当程序第一次执行时,自行车开始自动移动。然而,当我告诉它停止或反转时,我的按钮不起作用。我需要一些帮助来了解我可以对代码进行哪些更改以使其正常工作或者我缺少什么。还有一个 slider 可以改变自行车的速度。

控制面板 -

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

public class ControlPanel extends JPanel
{
//1, blueBikeDelay;



//The constructor creates 6 buttons, 2 sliders, and 2 bicycle panels
//and organize them using layouts.
public ControlPanel(int width, int height)
{
this.width = width;
this.height = height;

//
JLabel = new JLabel("Red Delay");
JSlider = new JSlider(JSlider.VERTICAL);
add(sp);

setPreferredSize(new Dimension(width,height));
}


private class ButtonListener implements ActionListener
{
public void actionPerformed(ActionEvent event)
{.reverse();
}
} //end of ButtonListener

private class SliderListener implements ChangeListener
{

最佳答案

(按钮的)主要问题是它们被声明了两次。一次作为实例变量(您在 actionPerformed 方法中使用),并在构造函数中再次使用。

这意味着您尝试在 actionPerformed 方法中引用的按钮与屏幕上的按钮不同(实际上很可能为 null)

删除构造函数中的第二个声明。

(看似)第二个问题,当你开始时自行车会移动(不确定这是否是一个问题),是因为它们有一个非零增量(或)。如果您不希望它们在程序启动时开始移动,您只需将步长设置为 0 即可开始

关于java - 用于停止和反转对象的按钮监听器 (GUI),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20433761/

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