我与intelij合作,我想做的是:
当按下panel1按钮时,右J面板应打开panel1,并与Panel2按钮类似,但出现的是一些小正方形。
代码:
GridBagLayout layout = new GridBagLayout();
Panel1 p1;
Panel2 p2;
private JButton panel1Button;
private JButton panel2Button;
private JPanel DynamicPanel;
private JPanel mainPanel;
public Frame1(){
p1 = new Panel1();
p2 = new Panel2();
DynamicPanel.setLayout(layout);
GridBagConstraints c = new GridBagConstraints();
c.gridx = 0;
c.gridy = 0;
DynamicPanel.add(p1);
c.gridx = 0;
c.gridy = 0;
DynamicPanel.add(p2);
p1.setVisible(false);
p2.setVisible(false);
panel1Button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Button1");
p1.setVisible(true);
p2.setVisible(false);
}
});
panel2Button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Button2");
p1.setVisible(false);
p2.setVisible(true);
}
});
}
我还想在不同的类中分离p1和p2面板。panel1和panel2如下所示:
1条答案
按热度按时间iq3niunx1#
敲击panel1按钮时,右J面板应打开panel1并与Panel2按钮类似
那么右边的面板应该使用
CardLayout
. 当你点击按钮时,你可以交换面板。阅读swing教程中有关如何使用cardlayout的部分,了解更多信息和工作示例。