我在一个面板中有六个单选按钮,我想监听面板上的鼠标点击,然后确定选择了哪个单选按钮,并相应地执行操作。但是当我设置并尝试这种情况时,在Action监听器中有一个断点,代码似乎根本没有调用Action监听器。任何关于为什么会这样的解释,或避免为每个按钮编写Action监听器的替代方法,将不胜感激。提前感谢您提供任何提示。约翰·多纳 最佳答案 此代码将循环并以编程方式添加监听器。importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.
我有一个用Java制作的Blackjack游戏,我想通过单击一个按钮来表示游戏开始。我所有的Action监听器都工作得很好,但问题在于,如果游戏不在actionPerformed方法中完全运行,我无法弄清楚如何开始游戏。显然,在actionPerformed方法中持续运行的函数将有效地禁用我的GUI的其余部分。这是一个代码片段....go.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){//STARTGAMESOMEHOWbutmustrunoutsideofactionlist
在我的程序中,我想对数字使用JSpinner。这个数字稍后会被用来计算一些东西。每次用户单击其中一个微调器按钮(向上或向下)时,我希望结果自动更新。由于您不能将ActionListener添加到JSpinner(我认为这真的很奇怪),我在这里问如何做类似的事情(我已经为此准备了一个ActionListener,可以在任何其他监听器中更改当然)。 最佳答案 您可以添加ChangeListener到微调器。这将由按下按钮(或直接编辑字段)触发。spinner.addChangeListener(newChangeListener(){@
我想知道是否有任何方法可以将ActionListener添加到JPanel中?我可以将它们添加到JButtons,但JPanel似乎没有这样的方法。基本上,我在具有网格布局的JFrame中有一堆JPanel,我想知道是否有任何方法可以知道用户何时单击其中一个。非常感谢任何帮助! 最佳答案 Action监听器用于监听Action事件。当使用鼠标按下和释放按钮时(而不是单击时),或者使用键盘(空格键、助记键、键盘快捷键等)按下按钮时,按钮会触发Action事件。这是一个高级别的Activity。鼠标点击是一个更底层的事件,由MouseL
我已经开发Java程序1.5年了。我目前正在从事一个暑期项目,其中涉及相当大的图形用户界面。我的GUI由几个选项卡式Pane组成。每个Pane都有自己的类。每个Pane都有几个jButtons。现在,我已经到了一个地步,在我的选项卡式Pane类中有如此多的匿名内部类(用于ActionListeners),我确信一定有更好的方法;如果不是为了效率,那么就是为了可维护性-它变得一团糟。我的问题是:当每个类(class)都有很多听众时,是否可以更好地组织听众?我考虑过将相关类中的监听器聚类-如以下示例代码:publicclassSomeListenersimplementsActionLis
我有一个JButton,当玩家点击它时,它会告诉我的ActionListener按钮被点击了。我想知道的是,是否有命令或类似玩家单击按钮的行为。像TicTacToe一样,我拥有它,因此2位玩家可以互相对战,但我想添加计算机玩家与人类玩家的选项。但是由于计算机实际上无法单击按钮,所以我迷路了。编辑:它会像gridButton2.click()(按钮名称).click();一样简单吗? 最佳答案 差不多。您需要做的就是使用doClick()函数。参见theAPI获取更多信息。 关于java-
所以我有一个JPanel实现了MouseListener和MouseMotionListener:importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;publicclassDisplayAreaextendsJPanelimplementsMouseListener,MouseMotionListener{publicDisplayArea(Rectanglebounds,Displaydisplay){setLayout(null);setBounds(bounds);setOpaque(false);setPref
我有一个触发2个线程的应用程序,第一个启动另一个类来执行一些处理,然后启动第三个类来执行更多处理。主类中的第二个线程应该等到第三个类中的某个事件完成后再执行它的工作。如何实现?我曾尝试实现一个等待/通知以在两个线程之间共享一个锁对象,但从技术上讲这行不通,因为我发现了困难的方法。我可以在类之间共享锁吗?请注意,第3类的实例在第1类中声明,并作为参数传递给第2类。我还尝试在第三类中创建boolean值,告诉事件何时完成,然后轮询第二个线程直到该值为真。这有效但不是很理想。actionListner是否也是解决此问题的更好方法? 最佳答案
我在我的程序中将4个按钮列表排列成一列。到目前为止,我有4个循环来检查按钮是否被单击。有没有一种简单的方法来检查是否单击了任何按钮,而不是遍历每个列表以查看是否单击了某个按钮。必须有一种更简单的方法来检查是否“actionSource==anybutton”... 最佳答案 为每个按钮使用匿名内部类:JButtonbutton=newJButton("DoSomething");button.addActionListener(newActionListener(){@OverridepublicvoidactionPerforme
我已经搜索了互联网,但找不到这个问题的答案:我正在使用for循环创建36个按钮,分别称为a1、a2等,并同时为每个按钮分配一个唯一的操作命令。后来我想从actionPerformed(ActionEvente)方法中获取按钮的名称。我可以很容易地获得ActionCommand,但我还需要按钮的名称。非常感谢任何帮助!编辑:这是我使用的代码:Stringletters[]={"0","a","b","c","d","e","f"};JButtonbtn[]=newJButton[35];intcount=0;for(intf=1;f这为6x6网格提供了36个按钮,分别为a1-6、b1-6