我正在为学校做一个项目,我们需要创建一个包含许多JButtons
,ActionListeners
,图片等的程序。我创建了一个包含许多个人ActionListeners
和JButtons
,但是如何将其更改为按钮数组而不是单独创建它们?
这是我的代码......
public class Selectie extends JFrame{
private JButton keeper, verdediger, verdediger1, verdediger2;
public void initGUI() {
keeper = new JButton("1. "+""+" Kenneth Vermeer");
Cursor cur = keeper.getCursor();
keeper.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
keeper.setBounds(20, 50, 186, 12);
keeper.setFocusable(false);
keeper.setBorderPainted(false);
keeper.setContentAreaFilled(false);
keeper.setFont(new Font("Arial",Font.PLAIN,17));
keeper.setForeground(Color.WHITE);
keeper.setActionCommand(Vermeer);
verdediger = new JButton("2. "+""+" Gregory van der Wiel");
Cursor cur1 = verdediger.getCursor();
verdediger.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
verdediger.setBounds(20, 70, 215, 17);
verdediger.setFocusable(false);
verdediger.setBorderPainted(false);
verdediger.setContentAreaFilled(false);
verdediger.setFont(new Font("Arial",Font.PLAIN,17));
verdediger.setForeground(Color.WHITE);
verdediger.setActionCommand(Gregory);
verdediger1 = new JButton("3. "+""+" Toby Alderweireld");
Cursor cur2 = verdediger1.getCursor();
verdediger1.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
verdediger1.setBounds(20, 95, 188, 17);
verdediger1.setFocusable(false);
verdediger1.setBorderPainted(false);
verdediger1.setContentAreaFilled(false);
verdediger1.setFont(new Font("Arial",Font.PLAIN,17));
verdediger1.setForeground(Color.WHITE);
verdediger1.setActionCommand(Alderweireld);
verdediger2 = new JButton("4. "+""+" Jan Vertonghen");
Cursor cur3 = verdediger2.getCursor();
verdediger2.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
verdediger2.setBounds(20, 120, 174, 17);
verdediger2.setFocusable(false);
verdediger2.setBorderPainted(false);
verdediger2.setContentAreaFilled(false);
verdediger2.setFont(new Font("Arial",Font.PLAIN,17));
verdediger2.setForeground(Color.WHITE);
verdediger2.setActionCommand(Vertonghen);
SelectieController s1 = new SelectieController(keeper,verdediger,verdediger1,verdediger2);
keeper.addActionListener(s1);
verdediger.addActionListener(s1);
verdediger1.addActionListener(s1);
verdediger2.addActionListener(s1);
}
}
答案 0 :(得分:0)
如果不做所有的工作,你需要做这样的事情(你可以填补空白 - 这毕竟是你的功课......)
// create the array
JButton[] buttons = new JButton[10];
// Repeat for each button...
for (int i=0;i<buttons.length;i++){
// create the button
JButton button = new JButton("label");
// set the button properties...
button.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
button.setBounds(20, 95, 188, 17);
button.setFocusable(false);
button.setBorderPainted(false);
button.setContentAreaFilled(false);
// etc.
// Assign the listener
button.addActionListener(s1);
// Add the button to the array
buttons[i] = button;
}