java - 如何判断哪个 JButton 被按下?

标签 java swing jbutton

目前正在制作一个程序来显示数据,我想通过单击它来编辑数据。我如何知道按下了哪个按钮?我无法查看该值是什么,因为该值可以是任何东西。这就是我添加它们的方式:

for (int i = 0; i < indexOrder.size(); i++)
{
    colName = new JLabel(colNames.get(indexOrder.get(i))+": ", SwingConstants.RIGHT);
    colName.setFont(new Font("Serif", Font.BOLD, 14));
    rowPane.add(colName);

    colData = new JButton(custData.get(indexOrder.get(i)));
    colData.setHorizontalAlignment(SwingConstants.LEFT);
    colData.setFont(new Font("Serif", Font.PLAIN, 14));
    colData.setBackground(Color.white);
    rowPane.add(colData);
}

最佳答案

我为字符串创建了另一个数组,使用 setName() 将每个按钮名称设置为其索引,并将名称作为字符串放入新数组中。现在我可以使用 getName(),将其转换回整数,然后通过将其与原始的 indexOrder 数组进行比较来确定按下了哪个按钮。

关于java - 如何判断哪个 JButton 被按下?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51897936/

相关文章:

java - 如何从 NetBeans 6.8 中的其他项目导入 java 类?

java - 删除列表中的所有非唯一成员

java - 是否可以在同一个端口上创建多个(SSL)ServerSocket?

java - JTextField 未按照 swing 的预期将值从文本字段传递到对象字段

java - 如果不会发生争用,读取时是否需要同步

java - 扩展的 JPanel 破坏了 GridLayout

java - 调整 jslider 在 Windows laf 上的外观

java - JButton 干扰 JPanel 上的鼠标监听器

Java:无法让 JButton 水平紧贴文本

java - 如何在按下 JButton 时显示文本