我必须创建包含了在一个阵列中创建10个按钮的GUI的一个阵列时,为了避免重复的代码:如何使用组件
public static final JButton[] buttons = new JButton[10];
每个按钮表示0至9。我一个数字希望,每当我按下一个按钮,暂定值我认为,将10相乘并添加到按钮的值(这是讽刺的是,它的指数)。因此,我写了下面的代码:
public void actionPerformed (ActionEvent e) {
if (e.getSource()==CalculatorGUI.buttons[0]) {
num=num*10;
CalculatorGUI.resultLabel.setText(Double.toString(num));
}
if (e.getSource()==CalculatorGUI.buttons[1]) {
num=num*10+1;
CalculatorGUI.resultLabel.setText(Double.toString(num));
}
if (e.getSource()==CalculatorGUI.buttons[2]) {
num=num*10+2;
CalculatorGUI.resultLabel.setText(Double.toString(num));
}
if (e.getSource()==CalculatorGUI.buttons[3]) {
num=num*10+3;
CalculatorGUI.resultLabel.setText(Double.toString(num));
}
if (e.getSource()==CalculatorGUI.buttons[4]) {
num=num*10+4;
CalculatorGUI.resultLabel.setText(Double.toString(num));
}....
这段代码的问题是,代码复制本身有轻微的变化。我想问一下是否有写这个代码在较短的方式,而不重复一个更好的方法(例如,没有单独的“如果”为每个按钮)。
一个问题:有没有在Java中得到一个数组的元素,并返回该元素的索引此数组中的任何方法? – CrazySynthax
我做了你用getText()写的东西。我得到一个编译错误: “的JButton不能被解析为一个类型为” – CrazySynthax
@CrazySynthax你进口吗?我没有粘贴完整的工作代码,只是替代你的代码。 – user1803551