【发布时间】:2015-10-09 18:20:53
【问题描述】:
我有一个 MainPanel,其中包含 2 个其他面板(显示随机数)和一个 Next 按钮。当我单击下一个按钮时,我想显示另一个数字组合。我无法做到这一点。
我的挥杆一般。我知道如何使用面板、按钮和监听器(不确定)。但是如何链接它们没有!!!。
我的代码:
public class Test extends JFrame implements MouseListener {
JPanel mainPanel = new JPanel(new GridLayout(1, 1, 5, 5));
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
JLabel label1 = new JLabel();
JLabel label2 = new JLabel();
JPanel buttonPanel = new JPanel();
JButton next = new JButton();
public void randomNumber(){
int randomNumber1 = 0;
int randomNumber2 = 0;
randomNumber1 = 1 + (int) (Math.random() * 9);
randomNumber2 = 1 + (int) (Math.random() * 9);
label1.setText(String.valueOf(randomNumber1));
label2.setText(String.valueOf(randomNumber2));
}
public Test(){
panel1.setBorder(BorderFactory.createEmptyBorder(15, 15, 15, 15));
panel2.setBorder(BorderFactory.createEmptyBorder(15, 15, 15, 15));
panel1.setBackground(Color.red);
panel2.setBackground(Color.yellow);
panel1.add(label1);
panel2.add(label2);
next.setText("Next");
mainPanel.add(panel1);
mainPanel.add(panel2);
buttonPanel.add(next);
this.add(mainPanel, BorderLayout.NORTH);
this.add(buttonPanel,BorderLayout.CENTER);
initUI();
}
/**
*
*/
public final void initUI()
{
setTitle("Test");
setSize(800, 400);
setLocationRelativeTo(null);
setVisible(true);
this.setResizable(false);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent event) {
Object source = event.getSource();
if (source instanceof JButton) randomNumber() ;
}
/**
*
* @param args
*/
public static void main(String[] args){
Test game = new Test();
game.setVisible(true);
}
}
【问题讨论】:
-
为什么不能用数字更新标签?
-
我不知道,当我单击“下一步”按钮时似乎没有任何效果。我尝试了很多方法,但没有结果
-
你的意思是,我不需要通过面板。
-
但是,这是我做对了???