内容面板的切换

来源:互联网 发布:达内云笔记数据库 编辑:程序博客网 时间:2024/05/02 04:36
import java.awt.Dimension;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;public class ContentPanelSwitch {    public static void main(String[] args) {        final JFrame frame = new JFrame("内容面板切换");        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        frame.setPreferredSize(new Dimension(400, 300));        final JPanel panelA = new JPanel();        panelA.add(new JLabel("这里是面板A"));        final JPanel panelB = new JPanel();        panelB.add(new JLabel("这里是面板B"));                frame.setContentPane(panelA);   //将面板A设为frame的内容面板
        鼠标点击事件可把面板A切换为面板B        panelA.addMouseListener(new MouseAdapter() {            @Override            public void mouseClicked(MouseEvent e) {                    //当在panelA上点击鼠标时,将frame内容切换为panelB                frame.remove(panelA);                frame.setContentPane(panelB);//将frame的内容面板切换为panelB                frame.revalidate();                frame.repaint();            }        });        
//加入后可把切换为panelB的frame切换回panelA        panelB.addMouseListener(new MouseAdapter() {            @Override            public void mouseClicked(MouseEvent e) {                frame.remove(panelB);                frame.setContentPane(panelA);                frame.revalidate();                frame.repaint();            }        });        frame.pack();        frame.setVisible(true);   //以默认大小显示    }}

另还可以用Swing GUI窗体  中的 应用程序样例窗体   通过菜单切换
0 0
原创粉丝点击