zoukankan      html  css  js  c++  java
  • CardLayout使用

    相对于BoxLayout,GridBugLayut等常用的Swing layout,CardLayout是特殊的,前者是一个容器内布置组件,而后者是在一个容器内放置很多页面(但一个时间只用显示一个)。

    比如需要制作Step by Step的桌面程序,使用CardLayout就非常方便快捷。下面用代码说明:

    JPanel innerPanel=new JPanel(new CardLayout());// 对容器innerPanel设置为CardLayout
    
    // 用于初始化页面和显示页面的一些字符串常量
    
    private static final String WELCOME="welcome"; 
    private static final String URL="url"; 
    private static final String COUNT="count";
    
    // 把欢迎页加入innerPanel,WelcomePage继承自JPanel,下类同
    welcomePage=new WelcomePage("/welcome.jpg");
    innerPanel.add(welcomePage,WELCOME);
    
    // 把地址页加入innerPanel
    urlPage=new UrlPage();
    innerPanel.add(urlPage,URL);
    
    // 把数目页加入innerPanel
    countPage=new CountPage();
    innerPanel.add(countPage,COUNT);
    
    需要显示某个页面的话可以用下面的函数,pageName取值就是前面定义的"welcome","url","count"等。
    
    // 显示一个页面
    public void showPage(String pageName){
            CardLayout c=(CardLayout)(innerPanel.getLayout());
            c.show(innerPanel, pageName);
    }

    每当一个页面被显示出来,其它页面就被遮挡了。要是不采用CardLayout而自己编码,要多花些工夫.

  • 相关阅读:
    JS重写alert,保证弹窗错误的友好性
    wpf窗体中复合控件焦点控制
    mybatis特殊字符转义
    SpringMVC HandlerMethodArgumentResolver自定义参数转换器
    IntelliJ IDEA创建maven web项目
    shiro app
    Linux查看日志定位问题
    Flask中使用Flask-Migrate扩展迁移数据库
    flask + pymysql操作Mysql数据库
    HTTP
  • 原文地址:https://www.cnblogs.com/heyang78/p/3704093.html
Copyright © 2011-2022 走看看