JFrame test

/**
 * Description: <br>
 *
 * @author zhangqi
 * @time Jan 20, 2011 10:05:30 PM
 * @version
 */
public class ChangePanelExample extends JFrame {

 private static final long serialVersionUID = 1L;

 private JPanel jContentPane = null;

 private JPanel jPanel = null;

 private JButton jButton = null;

 private JButton jButton1 = null;

 private JButton jButton2 = null;

 private JPanel jPanel1 = null;

 private JLabel jLabel = null;

 private JPanel jPanel2 = null;

 private JLabel jLabel1 = null;

 private JPanel jPanel3 = null;

 private JLabel jLabel2 = null;

 /**
  *
  * This method initializes jPanel
  *
  *
  *
  * @return javax.swing.JPanel
  *
  */

 private JPanel getJPanel() {

  if (jPanel == null) {

   jPanel = new JPanel();

   jPanel.setLayout(null);

   jPanel.setPreferredSize(new Dimension(0, 60));

   jPanel.setBorder(BorderFactory.createLineBorder(Color.black, 1));

   jPanel.add(getJButton(), null);

   jPanel.add(getJButton1(), null);

   jPanel.add(getJButton2(), null);

  }

  return jPanel;

 }

 /**
  *
  * This method initializes jButton
  *
  *
  *
  * @return javax.swing.JButton
  *
  */

 private JButton getJButton() {

  if (jButton == null) {

   jButton = new JButton();

   jButton.setBounds(new Rectangle(54, 11, 83, 27));

   jButton.setForeground(Color.red);

   jButton.setText("Panel一");

   jButton.addActionListener(new java.awt.event.ActionListener() {

    public void actionPerformed(java.awt.event.ActionEvent e) {

     jContentPane.remove(((BorderLayout) jContentPane

     .getLayout())

     .getLayoutComponent(BorderLayout.CENTER));// 删除内容面板中间原来的组建

     jContentPane.add(getJPanel1(), BorderLayout.CENTER);// 添加要切换的面板

     jContentPane.validate();// 重构内容面板

     jContentPane.repaint();// 重绘内容面板

     // 上面两句缺一不可,

     // 没有validate()删除和添加没有效果

     // 没有repaint()界面绘出现混乱

    }

   });

  }

  return jButton;

 }

 /**
  *
  * This method initializes jButton1
  *
  *
  *
  * @return javax.swing.JButton
  *
  */

 private JButton getJButton1() {

  if (jButton1 == null) {

   jButton1 = new JButton();

   jButton1.setBounds(new Rectangle(191, 11, 83, 27));

   jButton1.setForeground(Color.blue);

   jButton1.setText("Panel二");

   jButton1.addActionListener(new java.awt.event.ActionListener() {

    public void actionPerformed(java.awt.event.ActionEvent e) {

     jContentPane.remove(((BorderLayout) jContentPane

     .getLayout())

     .getLayoutComponent(BorderLayout.CENTER));

     jContentPane.add(getJPanel2(), BorderLayout.CENTER);

     jContentPane.validate();

     jContentPane.repaint();

    }

   });

  }

  return jButton1;

 }

 /**
  *
  * This method initializes jButton2
  *
  *
  *
  * @return javax.swing.JButton
  *
  */

 private JButton getJButton2() {

  if (jButton2 == null) {

   jButton2 = new JButton();

   jButton2.setBounds(new Rectangle(328, 11, 83, 27));

   jButton2.setForeground(Color.green);

   jButton2.setText("Panel三");

   jButton2.addActionListener(new java.awt.event.ActionListener() {

    public void actionPerformed(java.awt.event.ActionEvent e) {

     jContentPane.remove(((BorderLayout) jContentPane

     .getLayout())

     .getLayoutComponent(BorderLayout.CENTER));

     jContentPane.add(getJPanel3(), BorderLayout.CENTER);

     jContentPane.validate();

     jContentPane.repaint();

    }

   });

  }

  return jButton2;

 }

 /**
  *
  * This method initializes jPanel1
  *
  *
  *
  * @return javax.swing.JPanel
  *
  */

 private JPanel getJPanel1() {

  if (jPanel1 == null) {

   jLabel = new JLabel();

   jLabel.setBounds(new Rectangle(151, 99, 163, 113));

   jLabel.setFont(new Font("Dialog", Font.BOLD, 24));

   jLabel.setHorizontalAlignment(SwingConstants.CENTER);

   jLabel.setForeground(new Color(255, 51, 51));

   jLabel.setText("Panel一");

   jPanel1 = new JPanel();

   jPanel1.setLayout(null);

   jPanel1.add(jLabel, null);

  }

  return jPanel1;

 }

 /**
  *
  * This method initializes jPanel2
  *
  *
  *
  * @return javax.swing.JPanel
  *
  */

 private JPanel getJPanel2() {

  if (jPanel2 == null) {

   jLabel1 = new JLabel();

   jLabel1.setBounds(new Rectangle(162, 100, 138, 96));

   jLabel1.setFont(new Font("Dialog", Font.BOLD, 24));

   jLabel1.setHorizontalAlignment(SwingConstants.CENTER);

   jLabel1.setForeground(Color.blue);

   jLabel1.setText("Panel二");

   jPanel2 = new JPanel();

   jPanel2.setLayout(null);

   jPanel2.add(jLabel1, null);

  }

  return jPanel2;

 }

 /**
  *
  * This method initializes jPanel3
  *
  *
  *
  * @return javax.swing.JPanel
  *
  */

 private JPanel getJPanel3() {

  if (jPanel3 == null) {

   jLabel2 = new JLabel();

   jLabel2.setBounds(new Rectangle(149, 87, 172, 134));

   jLabel2.setFont(new Font("Dialog", Font.BOLD, 24));

   jLabel2.setHorizontalAlignment(SwingConstants.CENTER);

   jLabel2.setForeground(Color.green);

   jLabel2.setText("Panel三");

   jPanel3 = new JPanel();

   jPanel3.setLayout(null);

   jPanel3.add(jLabel2, null);

  }

  return jPanel3;

 }

 /**
  *
  * @param args
  *
  */

 public static void main(String[] args) {

  // TODO Auto-generated method stub

  SwingUtilities.invokeLater(new Runnable() {

   public void run() {

    ChangePanelExample thisClass = new ChangePanelExample();

    thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    thisClass.setVisible(true);

   }

  });

 }

 /**
  *
  * This is the default constructor
  *
  */

 public ChangePanelExample() {

  super();

  initialize();

 }

 /**
  *
  * This method initializes this
  *
  *
  *
  * @return void
  *
  */

 private void initialize() {

  this.setSize(472, 410);

  this.setResizable(false);

  this.setContentPane(getJContentPane());

  this.setTitle("JPanel切换示例");

 }

 /**
  * This method initializes jContentPane
  *
  * @return javax.swing.JPanel
  *
  */

 private JPanel getJContentPane() {

  if (jContentPane == null) {

   jContentPane = new JPanel();

   jContentPane.setLayout(new BorderLayout());

   jContentPane.add(getJPanel(), BorderLayout.NORTH);

   jContentPane.add(getJPanel1(), BorderLayout.CENTER);

  }
  return jContentPane;
 }
} // @jve:decl-index=0:visual-constraint="92,55"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值