是否有更有效的方法来添加按钮 R、0 和 E?是否有可能以某种方式将它们添加到数组中?
public Keypad() {
setTitle("Keypad");
setSize(220, 250);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setLayout(new GridLayout(4, 3, 2, 2));
JButton[] buttonArray = new JButton[10];
for (int i = 1; i < buttonArray.length; i++) {
buttonArray[i] = new JButton(String.valueOf(i));
add(buttonArray[i]);
buttonArray[i].addActionListener(this);
}
add(buttonR);
add(button0);
add(buttonE);
setVisible(true);
setResizable(false);
}
最佳答案
您的效率不可能比现在更高了。您可以稍微重新组织代码,以在单个方法中将 ActionListener 的添加和按钮的添加移动到层次结构中。另外,JButton[]
没什么用,所以放弃它,您将在内存中节省几个字节(但实际上没什么大不了的):
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class Keypad extends JFrame implements ActionListener {
private JButton buttonR = new JButton("R");
private JButton button0 = new JButton("0");
private JButton buttonE = new JButton("E");
public Keypad() {
setTitle("Keypad");
setSize(220, 250);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setLayout(new GridLayout(4, 3, 2, 2));
for (int i = 1; i < 10; i++) {
addButton(new JButton(String.valueOf(i)));
}
addButton(buttonR);
addButton(button0);
addButton(buttonE);
setResizable(false);
setVisible(true);
}
private void addButton(JButton button) {
button.addActionListener(this);
add(button);
}
@Override
public void actionPerformed(ActionEvent e) {
}
}
关于java - 数字键盘更有效的方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15001635/