当前正在制作一个程序来显示数据,我希望通过单击它来使数据可编辑。我如何确定按下了哪个按钮?我看不到值是什么,因为值可以是任何值。这就是我添加它们的方式:
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);
}
答案 0 :(得分:0)
我为Strings创建了另一个数组,使用setName()将每个按钮的名称设置为其索引,并将名称作为Strings放入新数组中。现在,我可以使用getName(),将其转换回整数,然后通过将其与原始indexOrder数组进行比较来找出按下了哪个按钮。
答案 1 :(得分:0)
您可以使用ActionEvent
通过检查getSource()
的来源来做到这一点:
buttonA = new JButton("A");
buttonA.addActionListener(this);
buttonB = new JButton("B");
buttonB.addActionListener(this);
@Override
public void actionPerformed(ActionEvent e) {
System.out.println(e.getSource().equals(buttonA) ? "A was cliked" : "B was clicked");
}