您的位置:首页 > 编程语言 > Java开发

Java图形化界面设计——中间容器(Jpanel)

2017-11-18 20:53 351 查看
1、  将组件添加到JFrame中

方式之一:

frame.getContentPane().add(childComponent)

用getContentPane()方法获得JFrame的内容面板,再对其加入组件,一般只使用该方式添加组件。

 

向JFrame中添加组件的两种方式之二:

把组件添加到Jpanel之类的中间容器中,用setContentPane()方法把该容器置为JFrame的内容面板:

    Jpanel contentPane=new Jpanel( );

      ……//把其它组件添加到Jpanel中;

frame.setContentPane(contentPane);

 

注意:用setContentPane()方法不允许设置窗体布局,其只显示最后添加的组件,且该组件将布满整个窗口,而不管原先组件的大小设置,相当于只允许添加一次组件作为JFrame的内容面板。所以一般不实用该方法进行添加组件(可能是我不知道吧)。

 

2、  JPanel的使用

 



 

         JPanel是java图形化界面中最常使用的容器。

实例:在窗体中添加一个蓝色的面板

// PanelDemo.java

import javax.swing.*;

import java.awt.*;  //引入AWT包,因为要使用到颜色类

class PanelDemo {

         public static void main(String[] args)throws Exception

         {   JFrame f=new JFrame("第一个Java窗口");                   

f.setSize(300,200);         

              f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        f.setVisible(true);         

                f.setResizable(false);

                f.setLocationRelativeTo(null) ;

                   f.setLayout(null);  //设置窗体布局为空布局

                JPanel p=new JPanel();             //实例化一个面板

                   //设置面板背景色为蓝色,如果不引入AWT包,程序将出错,可以试试看

                p.setBackground(Color.BLUE);       

                p.setSize(100,100);          //设置面板对象大小

                f.getContentPane().add(p);     //将面板添加到窗体中

                   //如果使用下面添加面板的方法,面板将布满整个窗口,可以试试看

                   //f. setContentPane(p);

          }

}

 

 

中间容器可以嵌套中间容器

 

实例2:面板的嵌套

import java.awt.*;

import javax.swing.*;

class  TwoPanel extends JFrame {

  public TwoPanel( String title){

  super(title);

}

 public static void main(String args[]) {

   TwoPanel fr=new TwoPanel("Two Panel测试");

   JPanel pan1 = new JPanel();

   JPanel pan2 = new JPanel();

   fr.setLayout(null);     

   fr.getContentPane().setBackground(Color.green);  //设置窗口的颜色

   fr.setSize(250,250);

   pan1.setLayout(null);                  //设置面板为空布局

   pan1.setBackground(Color.red);

   pan1.setSize(150,150);

   pan2.setBackground(Color.yellow);

   pan2.setSize(50,50);

   pan1.add(pan2);   //将面板pan2添加到pan1中

         //将pan1添加到窗体中,因为pan2被添加到pan1中,所以pan1、pan2都被显示在窗体中

   fr.getContentPane().add(pan1); 

   fr.setVisible(true);

fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

 }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  界面设计 java 图形