精华内容
下载资源
问答
  • Java面板切换

    2021-02-27 14:38:20
    展开全部完全根据逻辑写,按钮动作 可以通过,删除jp1,然后62616964757a686964616fe78988e69d8331333365643031添加jp2,然后刷新界面就可以了效果图参考代码如下importjava.awt.*;importjava.awt.event.*;importjavax....

    展开全部

    完全根据逻辑写,按钮动作 可以通过,删除jp1,然后62616964757a686964616fe78988e69d8331333365643031添加jp2,然后刷新界面就可以了

    效果图

    06df6501521c157a78abb98c249c802e.gif

    参考代码如下import java.awt.*;

    import java.awt.event.*;

    import javax.swing.*;

    public class FrameDemo extends JFrame implements ActionListener {

    JPanel jp1,jp2;

    JButton jb1,jb2;

    public FrameDemo() {

    jp1 =new JPanel();

    jp1.setBackground(Color.YELLOW);

    jb1 =new JButton("出发");

    jb1.addActionListener(this);

    jp1.add(jb1);

    jp2=new JPanel();

    jp2.setBackground(Color.RED);

    jb2=new JButton("返回");

    jb2.addActionListener(this);

    jp2.add(jb2);

    add(jp1);// 注意这里只添加了jp1 ,没有添加jp2

    setTitle("测试窗口");

    setSize(236, 200);//窗口大小

    setLocationRelativeTo(null);//居中

    setDefaultCloseOperation(EXIT_ON_CLOSE);//关闭窗口就结束程序

    setVisible(true);//显示

    }

    @Override

    public void actionPerformed(ActionEvent e) {

    JButton jb = (JButton) e.getSource();

    if(jb==jb1) {//如果是出发按钮被点击.

    this.remove(jp1);//删除jp1

    this.add(jp2);//添加jp2

    SwingUtilities.updateComponentTreeUI(this);//刷新界面

    }else if(jb==jb2) {//如果是返回按钮被点击

    this.remove(jp2);

    this.add(jp1);

    this.validate();

    SwingUtilities.updateComponentTreeUI(this);

    }

    }

    public static void main(String[] args) {

    new FrameDemo();

    }

    }

    当然了, 还有其他思路,替换这种变化,比如弹出新窗口,关闭旧窗口等等.

    如果有多个JPanel切换,效果像相册那样的话 , 也可以使用卡片布局

    效果图

    6282cf3feb0fb1a570935d2e96c2cd4f.gif

    参考代码import java.awt.*;

    import java.awt.event.*;

    import javax.swing.*;

    public class CardDemo extends JFrame implements ActionListener {

    JButton jbNext, jbPre, jbFirst, jbLast;

    CardLayout cl;//卡片布局

    JPanel jpc;//主要的显示面板

    public CardDemo() {

    jpc = new JPanel();

    cl = new CardLayout();

    jpc.setLayout(cl);

    for (int i = 0; i 

    JPanel jp = new JPanel();

    JLabel jl =new JLabel("我是第"+(i+1)+"个标签");

    jl.setFont(new Font("宋体", Font.BOLD, 20));

    jl.setForeground(getRandomColor());

    jp.add(jl);

    jpc.add(jp);

    }

    add(jpc);

    JPanel jps = new JPanel();

    jbFirst= new JButton("首页");

    jbFirst.addActionListener(this);

    jbNext = new JButton("下一张");

    jbNext.addActionListener(this);

    jbPre = new JButton("前一张");

    jbPre.addActionListener(this);

    jbLast=new JButton("尾页");

    jbLast.addActionListener(this);

    jps.add(jbFirst);

    jps.add(jbPre);

    jps.add(jbNext);

    jps.add(jbLast);

    add(jps,BorderLayout.SOUTH);

    setTitle("卡片布局");

    setSize(380, 200);

    setLocationRelativeTo(null);

    setDefaultCloseOperation(EXIT_ON_CLOSE);

    setVisible(true);

    }

    public static void main(String[] args) {

    new CardDemo();

    }

    @Override

    public void actionPerformed(ActionEvent e) {

    JButton jb = (JButton) e.getSource();

    if (jb == jbNext) {

    cl.next(jpc);//后一张

    } else if (jb == jbPre) {

    cl.previous(jpc);//前一张

    } else if (jb == jbFirst) {

    cl.first(jpc);//第一张

    } else if (jb == jbLast) {

    cl.last(jpc);//最后一张

    }

    }

    private Color getRandomColor() {

    return new Color((int) (Math.random() * 256), (int) (Math.random() * 256), (int) (Math.random() * 256));

    }

    }

    展开全文
  • Java GUI 切换面板

    2010-08-02 17:57:40
    该资源是javax.swing 包中的类,使用该类的中方法实现面板切换,是使用者能够清晰的明了的使用GUI程序
  • 主要为大家详细介绍了java单例模式实现面板切换,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • Java GUI 菜单项 多面板(panel) 切换显示

    万次阅读 多人点赞 2019-06-07 11:41:11
    Java GUI编程中,要求点击菜单栏中不同的菜单项,切换面板中的显示内容。 解决: 主面板为Panel contentPanel(用于放置其他具体的功能面板)。 其他面板,如Panel p1, p2,先自定义好(这些功能面板,向...

    NOTE

    以下共两种解决方案。

    1. 手动操作面板容器和其组件(add, remove等)
    // 以contentPanel为底,其上覆盖想要展示的panel内容(切换panel)。
    private void showSpecifiedPanel(Panel contentPanel, Panel showPanel) {
        contentPanel.removeAll();
        contentPanel.add(showPanel);
        contentPanel.validate();
        contentPanel.repaint();
    }
    
    1. 直接设置窗口的contentPane属性(推荐)。
    // 切换内容面板
    public void changeContentPane(Container contentPane) {
        this.setContentPane(contentPane);
        this.revalidate();
    }
    

    后期如果有其他解决方案,我会继续追加。

    需求

    在Java GUI编程中,要求点击菜单栏中不同的菜单项,切换主面板中的显示内容。
    解决:
    主面板为Panel contentPanel(用于放置其他具体的功能面板)。
    其他面板,如Panel p1, p2,先自定义好(这些功能面板,向contentPanel面板上添加)。
    当点击被监听器监听着的菜单项后,执行以下方法:

    // 以contentPanel为底,其上覆盖想要展示的panel内容(切换panel)。
    private void showSpecifiedPanel(Panel contentPanel, Panel showPanel) {
        contentPanel.removeAll();
        contentPanel.add(showPanel);
        contentPanel.validate();
        contentPanel.repaint();
    }
    

    即:先移除contentPanel上的所有组件,然后放置所需的、具体的某个功能面板。
    然后执行validate()repaint()方法,重新绘制图形。

    • 其他相关API
      在处理多Panel切换的过程中,检索到的其他相关API如下:
      hide() 隐藏面板
      show() 显示面板
      isVisible() 面板是否可见
      setVisible(boolean isVisible) 设置面板的可见性
      一开始的解决思路是重叠添加多个面板,然后控制各个面板的可见状态(显示,隐藏)。奈何不成。所以还是使用之上的方法。

    效果图

    学生菜单项下有添加查看两个菜单项。
    点击添加显示添加学生信息面板。
    点击查看显示查看学生信息面板。

    • 主面板
      在这里插入图片描述
    • 添加学生信息(面板细节自定义)
      在这里插入图片描述
    • 查看学生面板(细节自定义)
      在这里插入图片描述

    Code

    import java.awt.BorderLayout;
    import java.awt.Label;
    import java.awt.Menu;
    import java.awt.MenuBar;
    import java.awt.MenuItem;
    import java.awt.Panel;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    import javax.swing.JFrame;
    
    public class Test {
        public static void main(String[] args) {
            new MyFrame();
        }
    }
    
    class MyFrame extends JFrame implements ActionListener {
        private static final long serialVersionUID = 1L;
        MenuBar menuBar;    // 菜单栏
        Menu student;       // 菜单
        MenuItem add, show; // 菜单项
        Panel contentPanel; // 内容面板,其上用于添加其他待切换的面板
    
        public MyFrame() {
            // 初始化组件
            menuBar = new MenuBar();
            student = new Menu("学生");
            add = new MenuItem("添加");
            show = new MenuItem("查看");
            contentPanel = new Panel();
    
            // 菜单项添加事件监听器
            add.addActionListener(this);
            show.addActionListener(this);
    
            // 设置窗口的菜单栏,菜单和各个菜单项。
            student.add(add);
            student.add(show);
            menuBar.add(student);
            setMenuBar(menuBar);
    
            // 设置布局为边界布局管理器。将contentPanel添加到窗口中心位置。
            setLayout(new BorderLayout());
            contentPanel.add(new Label("欢迎使用教学管理系统"));    // 欢迎页消息
            add(contentPanel, BorderLayout.CENTER);
            
            // 窗口的其他参数
            setTitle("测试");
            setBounds(300, 50, 400, 300);
            setVisible(true);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }
        
        @Override
        public void actionPerformed(ActionEvent e) {
            Object source = e.getSource();
            if (source == add) {
                showSpecifiedPanel(contentPanel, new MyPanel("请添加学生信息"));
            } else if (source == show) {
                showSpecifiedPanel(contentPanel, new MyPanel("您正在查看学生信息"));
            }
        }
    
        // 以contentPanel为底,其上覆盖想要展示的panel内容(切换panel)。
        private void showSpecifiedPanel(Panel contentPanel, Panel showPanel) {
            contentPanel.removeAll();
            contentPanel.add(showPanel);
            contentPanel.validate();
            contentPanel.repaint();
        }
        
    }
    
    // 简易地获取所需的面板(使用时需自定义)
    class MyPanel extends Panel {
        public MyPanel(String msg) {
            this.add(new Label(msg));
        }
    }
    

    方案2

    JFrame类的实例方法:
    setContentPane(Container contentPane)
    revalidate()

    封装方法:

    // 切换内容面板
    public void changeContentPane(Container contentPane) {
        this.setContentPane(contentPane);
        this.revalidate();
    }
    

    运行效果相同。都是点击不同的菜单项后,切换不同的主面板。

    代码(将以上源码稍作修改即可):

    import java.awt.Container;
    import java.awt.Label;
    import java.awt.Menu;
    import java.awt.MenuBar;
    import java.awt.MenuItem;
    import java.awt.Panel;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    import javax.swing.JFrame;
    
    public class Test {
        public static void main(String[] args) {
            new MyFrame();
        }
    }
    
    class MyFrame extends JFrame implements ActionListener {
        private static final long serialVersionUID = 1L;
        MenuBar menuBar;    // 菜单栏
        Menu student;       // 菜单
        MenuItem add, show; // 菜单项
        Panel contentPanel; // 内容面板,其上用于添加其他待切换的面板
    
        public MyFrame() {
            // 初始化组件
            menuBar = new MenuBar();
            student = new Menu("学生");
            add = new MenuItem("添加");
            show = new MenuItem("查看");
            contentPanel = new Panel();
    
            // 菜单项添加事件监听器
            add.addActionListener(this);
            show.addActionListener(this);
    
            // 设置窗口的菜单栏,菜单和各个菜单项。
            student.add(add);
            student.add(show);
            menuBar.add(student);
            setMenuBar(menuBar);
    
            // 设置布局为边界布局管理器。将contentPanel添加到窗口中心位置。
            this.setContentPane(new MyPanel("这是欢迎页 - setContentPane()"));
            
            // 窗口的其他参数
            setTitle("测试");
            setBounds(300, 50, 400, 300);
            setVisible(true);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }
        
        @Override
        public void actionPerformed(ActionEvent e) {
            Object source = e.getSource();
            if (source == add) {
                changeContentPane(new MyPanel("添加学生信息 - setContentPane()"));
            } else if (source == show) {
                changeContentPane(new MyPanel("查看学生信息 - setContentPane()"));
            }
        }
        
        // 切换内容面板
        public void changeContentPane(Container contentPane) {
            this.setContentPane(contentPane);
            this.revalidate();
        }
    
    }
    
    // 简易地获取所需的面板(使用时需自定义)
    class MyPanel extends Panel {
        public MyPanel(String msg) {
            this.add(new Label(msg));
        }
    }
    
    展开全文
  • java版本切换

    2016-12-15 14:18:06
    新建一个脚本文件比如为java8.sh,在里面设置java的环境变量,当要切换jdk1.8时,在终端输入source java8.sh。 这样设置完后只会在当前的终端窗口内有效,重新打开一个终端窗口时又回到以前的版本了。

    新建一个脚本文件比如为java8.sh,在里面设置java的环境变量,当要切换jdk1.8时,在终端输入source java8.sh。
    这样设置完后只会在当前的终端窗口内有效,重新打开一个终端窗口时又回到以前的版本了。

    展开全文
  • java swing Jtabledpane 面板切换

    千次阅读 2017-06-22 11:20:22
     一开始不知道这东西,想了各种办法,通过菜单点击监听事件啊,啥乱七八糟的,...import java.awt.Font; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.UIManager; import j
    

    一开始不知道这东西,想了各种办法,通过菜单点击监听事件啊,啥乱七八糟的,然后某天找到Jtabledpane  这个类,然后就风中凌乱了。。。。。


    import java.awt.Font;


    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.UIManager;
    import javax.swing.JTabbedPane;

    public class JTabbedPaneExample extends JFrame{

        private JTabbedPane aa ;
        private JPanel  Jp01,Jp02,Jp03;
       
        private static final long serialVersionUID = 1L;
       
        public static void main(String[] args) {
            @SuppressWarnings("unused")
            JTabbedPaneExample a =new JTabbedPaneExample();

        }
        public JTabbedPaneExample(){

           
            this.setTitle("JTablePane实例");
            //
            this.setSize(500, 300);

            // 窗口自动居中
            this.setLocationRelativeTo(null);

            this.setLayout(null);

            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            // 保持Window窗体基本风格
            try {
                UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
            } catch (Exception err) {
                err.printStackTrace();
            }
            // 不能最大化
            this.setResizable(false);
            this.init();
           
           
            this.setVisible(true);
           
           
        }
        private void init(){
           
            aa =new JTabbedPane(JTabbedPane.TOP);
            //给JTabbedPane设置大小
            aa.setBounds(0, 0, 500, 300);
            Jp01 =new JPanel();
            Jp02 =new JPanel();
            Jp03 =new JPanel();
       
            Jp01.setBounds(0, 0, 500, 300);
            Jp02.setBounds(0, 0, 500, 300);
            Jp03.setBounds(0, 0, 500, 300);
            //将三个面板加入到JTabbedPane上
            aa.addTab("面板一", Jp01);
            aa.addTab("面板二", Jp02);
            aa.addTab("面板三", Jp03);
            //设置字体为宋体,不加粗(加粗为1),字号18
            aa.setFont(new Font("宋体", 0, 18));
            //添加到JFrame内容面板上,也可以直接this.add(aa);
            this.getContentPane().add(aa);
            //初始显示面板一
            aa.setSelectedIndex(0);
           
        }
       
    }




    展开全文
  • Java学习 - GUI设计中如何在一个窗口下进行多个面板切换一种实现方式是,设定JFrame实例的contentPane的布局为CardLayout,然后向contentPane中加入不同的JPanel.结构框架如图注意要将CardLayout定义成JFrame的一个...
  • 都快半个多月了,因为我们数据库课设(是做一个 ***系统)要用到Java-Swing创建窗体,而我想实现这样一个功能:就是一个窗体上有几个不同的按钮,和一个主面板,通过点击按钮,切换不同的面板,即显示不同的内容。...
  • 但是这样写出现了一个问题,就是打开其他窗口界面会导致之前的部分界面出现无法关闭或者隐藏的情况,因为本来的设想是在新窗口打开后,对之前旧窗口隐藏,但是还是在某些界面切换时出现无法将旧界面全部隐藏,改了也...
  • Java 面板切换问题

    万次阅读 2010-08-17 21:24:00
    CutPanel cut = new CutPanel("面板切换示例"); cut.setVisible(true); } private class PanelAction implements ActionListener { public void actionPerformed(ActionEvent e) { String num = e....
  • 好久没做swing了,我写了一个例子,希望可以帮到你,你直接拷下去测试就行了//nametap.javaimport javax.swing.*;import java.awt.*;public class nametap {public static void main(String args[]) {St...
  • Java窗口切换

    千次阅读 2019-05-14 12:00:00
    1、运用事件处理相关知识,完成两个窗口之间的切换,例如:登陆窗口------》注册窗口 ...import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; ...
  • Java的GUI设计中,若是要想实如今一个窗体中多个界面而且能在这些界面内能够随意切换,那选项卡面板绝对是最佳的选择,下面将具体介绍JTabbedPane的使用方法java使用方法介绍1. 首先,须要导入JTabbedPane类,即在...
  • package swing;public class mains {public static void main(String[] args) {new swingJpanel();}}package swing;import java.awt.Color;import java.awt.event....import java.awt.event.ActionListener...
  • android keyboard键盘和panel面板切换时,屏幕闪烁解决方案 Android键盘操作总结 Android 键盘相关常见问题有: 限制输入框内字数,超过字数不让输入,并且提示 点击外部区域键盘自动收起 如何获取键盘高度 键盘与...
  • 最近,因为要做项目,使用的eclipse版本为Helios Service Release 2(3.6 版本代号 Helios),jdk只能配置1.7及以下的版本,而日常学习用的是最新版本的eclipse,1.8的jdk,所以需要切换。 我目前使用的jdk版本为1.7 ...
  • javaGUI实现图片切换操作

    千次阅读 2017-09-12 20:35:57
    javaGUI实现图片切换操作,代码如下: package www.629niuniu.com; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import java.awt.TextArea; import javax.swing....
  • 在实际开发中,可能会碰到不同项目需要利用不同jdk版本进行开发,这时候就需要我们安装不同jdk版本,实现不同项目进行jdk切换了。     首先,可根据需求下载不同jdk版本,这地方我安装了jdk1.6(32位),jdk...
  • 相信很多小伙伴在开发springboot后端或者玩minecraft的时候都会遇到上古Java版本要求(比如Java8),但是如今最新的Java版本已经到Java16了,如何在电脑安装多个版本Java并做到切换呢?下面来一起看看吧 0、准备...
  • 本文目的:将已经验证过的内容进行整理,减少再次搜索验证的过程 背景:win7 系统装了jdk1.7、jdk1.8两个版本,工作中需要使用jdk1.7进行开发 步骤一、 修改系统变量JAVA_HOME的值,将其...打开 java控制面板-...
  • Java的安装与多版本配置

    万次阅读 多人点赞 2018-08-23 00:40:35
    最近换了电脑,好多东西需要...本期主要介绍Java1.8 的安装和配置,有需要的小伙伴也可以看看后面的Java版本配置。 一、 下载JDK JDK的下载,这里提供官网和百度云两种途径,大家可以自行选择。 (1)官网...
  • Swing中面板切换

    千次阅读 2016-08-13 21:01:01
    "JavaSrc" )){ cp.panel.add( new JTreeDemo(),BorderLayout.CENTER); } else if (buttonName.equals( "数据排序" )){ cp.panel.add( new DataSort(),BorderLayout.CENTER); } else if (buttonName....
  • 文章目录前言正文1、修改环境变量2、上移环境变量3、控制面板中关闭4、删除C盘中的Java文件 √总结 前言 博主不知道啥时候安装了jdk10,然后才发现原来已经安装了jdk8,现在需要将环境配到jdk8,查询资料,发现网上...
  • JavaEE擅长的就是企业级应用,作为一个Java程序员,如果想自己徒手撸一个ERP、WMS之类的系统还是有一点挑战的,不过今天松哥要给大家介绍几款牛逼的基于Vue.js...
  • 注意修改path路径,或者修改控制面板下的java控制面板并不有效,原因是由于在WINDOWS\System32环境变量中的优先级高于JAVA_HOME设置的环境变量优先级,故如果只修改环境变量JAVA_HOME,jdk的版本并不会切换。...
  • 本篇文章介绍了java仿windows 字体设置选项卡,可实现类似windows字体设置效果,需要的朋友可以参考下。
  • 由于电脑安装了eclipse,同时又安装了idea2018,idea是最新版,必须使用jdk1.8以上,而eclipse中的项目又需要低版本的jdk,所以在电脑上之前安装配置好了jdk1.8,后来又要安装jdk1.7,可以来回切换,但是过程中遇到...
  • Java - swing - 图形界面间的切换( CardLayout )

    万次阅读 多人点赞 2016-12-21 15:57:37
    实现图形界面的切换,可以通过CardLayout,实现面板切换实现界面的切换。 首先介绍一下CardLayout CardLayout 对象是容器的布局管理器。它将容器中的每个组件看作一张卡片。一次只能看到一张卡片,容器则充当...
  • 中英文切换

    2021-02-27 14:11:48
    //首页var zh_index = {"index1":"首页","index2":"产品实例"};var en_index = {"index1":"index","index2":"Product examples"};//服务支持var zh_serviceSupport = {"serviceSupport1":"首页","serviceSupport2":...
  • java swing 菜单栏怎么实现窗体切换

    千次阅读 多人点赞 2019-01-26 15:33:25
    //面板 // 以下是显示位移的地方 JLabel jl1 = new JLabel("平硐位移"); jl1.setFont(new Font("宋体", Font.BOLD, 20)); jf.add(jl1); jl1.setBounds(130, 100, 100, 30); // 查询数据库 Select...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 26,917
精华内容 10,766
关键字:

java控制面板切换版本

java 订阅