Eclipse中进行Swing的开发

来源:互联网 发布:快消行业数据 尼尔森 编辑:程序博客网 时间:2024/04/29 05:17

 

运行环境:ecplipse ,安装VE插件,要同时安装GEF-runtime,emf-runtime

第一个Swing 程序

1new java-visualclass-Application (实际上就是一个frame)

2. new AddPanel,     new ListPanel  。。。。   new User,  

3 假设ListPanel 就是App mainFrame,  那么怎么切换frmae自带的panel ListPanel 呢?

App

private JPanel getJContentPane() {

       if (jContentPane == null) {

           jContentPane = new JPanel();

           jContentPane.setLayout(new BorderLayout());

//new ListPanel 里面传递的参数是listPanel与其他Panel转换用的

           this.jContentPane.add(new ListPanel(this.jFrame));

       }

       return jContentPane;

    }

4.ListPanel里点button”增加转换到AddPanel

  Button的事件监听的处理方法为toAdd();

public void toAdd(){

       this.mainFrame.getContentPane().removeAll();

       this.mainFrame.add(new AddPanel(this.mainFrame));

       this.mainFrame.validate();

      

    }

 

ListPanel的构造方法增加参数,取得frame的实例

private JFrame mainFrame = null;

 

public ListPanel(JFrame mainFrame) {

       super();

       this.mainFrame = mainFrame;

       //this.user = user;

       initialize();

    }

 

5.怎么样取得页面元素的值呢?假设是UserName Password

 AddPanel 提交的事件处理方法为 toSubmit();

 

    public void toSubmit(){

       String userName = this.jTextField_userName.getText();

       String password = this.jPasswordField_password.getText();

       User user = new User();

       user.setUserName(userName);

       user.setPassword(password);

      

       this.jFrame.getContentPane().removeAll();

       this.jFrame.add(new ListPanel(this.jFrame));

       this.jFrame.validate();

      

    }

6.listPanel如何展示取得的值呢/

   User类中,userName password 都是静态的,所以只有一份

  listPanel

private JTextField getJTextField_userName() {

       if (jTextField_userName == null) {

           jTextField_userName = new JTextField();

           jTextField_userName.setBounds(new Rectangle(239, 135, 150, 47));

       }

       if(user == null){

           jTextField_userName.setText("");

       }

//取得userName,类似可以取得password

       jTextField_userName.setText(user.getUserName());

       return jTextField_userName;

    }

 

 

 

原创粉丝点击