Jframe 安装多个 JPanel的问题
有一个问题想请教一下,如果只有一个JFramejf.其上有一个jmenubar,其中有2个按钮,现在有两个jpaneljp1,和jp2我想请问如何做到点击一个按钮则jp1...
有一个问题想请教一下,如果只有一个JFrame jf. 其上有一个jmenubar,其中有2个按钮,现在有两个jpanel jp1,和jp2
我想请问如何做到点击一个按钮则jp1被装入jf,点击另一个按钮则jp2被装入? 展开
我想请问如何做到点击一个按钮则jp1被装入jf,点击另一个按钮则jp2被装入? 展开
2个回答
展开全部
这应该不难吧 几行代码的事,我随手给你写了一个,你看看是不是你想要的效果,代码很简单,我就不加注释了:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenuBar;
import javax.swing.JPanel;
public class Test {
private JFrame frame;
public static void main(String[] args) {
Test test=new Test();
}
private JPanel panel1;
private JPanel panel2;
public Test() {
frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(100, 100, 450, 300);
frame.setVisible(true);
JMenuBar menuBar = new JMenuBar();
frame.setJMenuBar(menuBar);
JButton button = new JButton("按钮1");
JButton button_1 = new JButton("按钮2");
menuBar.add(button);
menuBar.add(button_1);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
frame.remove(panel2);
frame.add(panel1,BorderLayout.CENTER);
frame.validate();
}
});
button_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
frame.remove(panel1);
frame.add(panel2,BorderLayout.CENTER);
frame.validate();
}
});
panel1 = new JPanel();
panel1.setBackground(Color.red);
panel2 = new JPanel();
panel2.setBackground(Color.blue);
}
}
不理解再联系。
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenuBar;
import javax.swing.JPanel;
public class Test {
private JFrame frame;
public static void main(String[] args) {
Test test=new Test();
}
private JPanel panel1;
private JPanel panel2;
public Test() {
frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(100, 100, 450, 300);
frame.setVisible(true);
JMenuBar menuBar = new JMenuBar();
frame.setJMenuBar(menuBar);
JButton button = new JButton("按钮1");
JButton button_1 = new JButton("按钮2");
menuBar.add(button);
menuBar.add(button_1);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
frame.remove(panel2);
frame.add(panel1,BorderLayout.CENTER);
frame.validate();
}
});
button_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
frame.remove(panel1);
frame.add(panel2,BorderLayout.CENTER);
frame.validate();
}
});
panel1 = new JPanel();
panel1.setBackground(Color.red);
panel2 = new JPanel();
panel2.setBackground(Color.blue);
}
}
不理解再联系。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询