gpt4 book ai didi

java - 在 Java 中翻转硬币

转载 作者:行者123 更新时间:2023-11-29 07:05:22 26 4
gpt4 key购买 nike

我正在用 Java 编写 GUI 程序。 GUI 由 9 个标题为 H 的按钮组成。在运行模式下,当鼠标单击任何按钮时,该按钮的标题应更改为 T。我有一个 MouseListener 代码监视点击。但是我无法根据鼠标点击找出我需要更改那个特定按钮的方法。任何帮助表示赞赏。
下面是我的代码。

package flippingcoins;

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

public class FlippingCoins extends JFrame
{
public FlippingCoins()
{
JPanel p = new JPanel();

p.setLayout(new GridLayout(3,3,1,1));

JButton jbt1=new JButton("H");
p.add(jbt1);
JButton jbt2=new JButton("H");
p.add(jbt2);
JButton jbt3=new JButton("H");
p.add(jbt3);
JButton jbt4=new JButton("H");
p.add(jbt4);
JButton jbt5=new JButton("H");
p.add(jbt5);
JButton jbt6=new JButton("H");
p.add(jbt6);
JButton jbt7=new JButton("H");
p.add(jbt7);
JButton jbt8=new JButton("H");
p.add(jbt8);
JButton jbt9=new JButton("H");
p.add(jbt9);
add(p);
}

public static void main(String[] args) //Main program begins here.
{
FlippingCoins frame = new FlippingCoins();//Instantiating an object.
frame.setTitle("Head or Tails");//Setting the frame title.
frame.setSize(300,300);//Setting the size.
frame.setLocationRelativeTo(null);//Setting the location.
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// Default closing options.
frame.setVisible(true);//Setting visibility to true.
}//End of main program.

static class ChangeTiles extends JPanel
{
public ChangeTiles()
{
addMouseListener(new MouseAdapter()//Creating a listener
{
public void mouseClicked(MouseEvent e)//When the mouse is clicked.
{
int x=e.getX();
int y=e.getY();
System.out.println("x= "+ x + "y= "+y);

}
}
);
}
}

最佳答案

这不是好的策略。相反,向每个按钮添加一个 ActionListener。不仅会更容易,而且用户还可以使用键盘单击按钮。

此外,请考虑使用按钮数组或列表。这将允许使用循环而不是复制和粘贴相同的代码 9 次。

关于java - 在 Java 中翻转硬币,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20445156/

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