java - 在 Java 中获取 JButton 的一个元素

标签 java netbeans

我正在开发一款扫雷游戏,当时我在尝试标记方 block 时遇到了问题。我正在使用代码

if (SwingUtilities.isRightMouseButton(e)) {
                int clickedTile = e.getButton();
                bombNum.setText(""+userMineNum); 
                //flagTile(clickedTile);
            }

尝试访问 JButton 的编号。然而,这总是导致 clickedTile 的值为 3(它是一个 JButton 数组,因此不可能多次出现)。不管怎样,我研究了 e.getSource(),它获取整个对象,如果我将它打印出来作为一个对象,它会是:

javax.swing.JButton[,221,124,44x31,alignmentX=0.0,alignmentY=0.5,border=,flags=288,maximumSize=,minimumSize=,preferredSize=,defaultIcon=resources/0.png,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0,bottom=0,right=0],paintBorder=false,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text= ,defaultCapable=true]

重要的字段是“文本”(我可以稍后更改,但现在它是空白的)。我想知道如何访问它,以便我可以保存它的值以在正确的位置设置标志。

e.getSource().text

不起作用。

任何帮助将不胜感激。 谢谢。

最佳答案

e.getButton() 指示正在单击鼠标的哪个按钮。根据您的情况,选择正确的一个,即数字 3。

除此之外,我相信您可以获得按钮的文本:

((JButton) e.getSource()).getName()

((JButton) e.getSource()).getText()

但我强烈建议您检查是否是一个被单击的按钮而不是其他组件。

关于java - 在 Java 中获取 JButton 的一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45334399/

相关文章:

c++ - NetBeans C++ 在错误的位置寻找 make 实用程序

java - 如何在 Java 中将文本文件的整数行分配到 2D 表中?

java - LocalDateTime.toString - 可以在环境中配置格式吗?

Java 泛型 T 与对象

java - 按值的数量对 Guava Multimap 进行排序

java - 如何在我的应用程序而不是浏览器中打开 url?

java - 在jtable的所有行中导入mysql数据库的最后一行(Java Swing)

javascript - Netbeans javascript 评论

java - 结果集关闭后不允许执行操作 - 错误

java - 如何分析 native JNI 库