Jframe 安装多个 JPanel的问题

有一个问题想请教一下,如果只有一个JFramejf.其上有一个jmenubar,其中有2个按钮,现在有两个jpaneljp1,和jp2我想请问如何做到点击一个按钮则jp1... 有一个问题想请教一下,如果只有一个JFrame jf. 其上有一个jmenubar,其中有2个按钮,现在有两个jpanel jp1,和jp2
我想请问如何做到点击一个按钮则jp1被装入jf,点击另一个按钮则jp2被装入?
展开
 我来答
ltolt
2010-05-11 · TA获得超过106个赞
知道答主
回答量:56
采纳率:0%
帮助的人:45.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);
}

}
不理解再联系。
yang163_yang
2010-05-11 · TA获得超过499个赞
知道小有建树答主
回答量:207
采纳率:0%
帮助的人:267万
展开全部
你可以在jframe中add进一个JScrollPane p,然后用p.setViewportView(Jpanel)方法设定p中显示的内容.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式