Rob*_*Fry 1 java swing event-handling jbutton actionlistener
简而言之,我想积累一堆JButton数组,并ActionListener为数组创建一个类.
我正在尝试创建一个计算器,并且所有编号的按钮(例如"6")都在一个JButton数组中,因为我希望它将设置的数字输入到一个临时的int中,并且创建一个更容易方法,而不是10.我还有40个其他按钮,我想应用相同的主体,但在不同的数组,所以它将更快更容易把这些ActionListener按钮数据放入几个方法实现了该方法.这是我的代码:
private JButton num0, num1, num2, num3, num4, num5, num6, num7, num8, num9;
private JButton numArray[] = {num0, num1, num2, num3, num4, num5, num6, num7, num8, num9};
public GUI(){
numArray.AddActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
}
});
}
Run Code Online (Sandbox Code Playgroud)
你可以考虑Newb Monad的提议.但是,您可以对所有按钮使用相同的侦听器,如以下示例所示.
public static void main(String[] args) {
ActionListener listener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() instanceof JButton) {
String text = ((JButton) e.getSource()).getText();
JOptionPane.showMessageDialog(null, text);
}
}
};
JPanel panel = new JPanel(new GridLayout(4,3));
JButton[] array = new JButton[10];
for (int i = 0; i < array.length; i++) {
array[i] = new JButton(String.valueOf(i));
array[i].addActionListener(listener);
panel.add(array[i]);
}
JOptionPane.showMessageDialog(null, panel);
}
Run Code Online (Sandbox Code Playgroud)


| 归档时间: |
|
| 查看次数: |
20431 次 |
| 最近记录: |