java常用组件以及布局管理器

Swing组件按功能来分,可以分为如下几类:

Ø  顶层容器:JFrame、JApplet、JDialog和JWindow

Ø  中间容器:JPanel、JScrollPane、JSplitPane、JToolBar

Ø  特殊容器:在用户界面上有特殊作用的中间容器,如:JInternalFrame、JRootPane、JLayeredPane和JDestopPane

Ø  基本组件:JButton、JComboBox、JList、JMenu、JSlider

Ø  不可编辑信息的显示组件:向用户显示不可编辑信息的组件,如:JLabel、JProgressBar、JToolTip等

Ø  可编辑信息的组件:JTable、JTextArea和JTextField

Ø  特殊对话框组件:JColorChooser和JFileChooser

 

布局管理器用来管理组件在容器中的布局


绝对布局管理器

除了布局管理器之外,也可以使用绝对布局。绝对布局就是硬性指定组件在容器中的位置和大小

getContentPane().setLayout(null);  //JFrame窗体需要调用getContentPane()方法获取窗体容器,然后取消布局管理器(即使用绝对布局管理器)

jp3.setBounds(0,0, 500, 100);

如果窗体内组件使用setBounds(int x,int y,int width,int height),参数x,y代表这个组件在父容器中的位置,而width和height则代表组件的宽度与高度。

如果窗体使用setBounds(int x,int y,int width,int height),参数x,y代表窗体在整个屏幕上出现的位置。



所有的容器都有默认的布局管理器,如果没有为容器指定布局管理器,则使用默认的布局管理器

为容器指定布局管理器,通过调用setLayout(new XxxLayout),如:

c. setLayout(new XxxLayout)

常用的布局管理器:(这些布局管理器不可以人为调整组件的大小,组件的大小是根据容器的大小自动选择合适的大小)

1.      FlowLayout,组件像水流一样向某方向移动,JPanel默认使用FlowLayout布局管理器(不限制组件大小,容器缩放组件大小不变,但是位置会变)

2.      BorderLayout,将容器分为南、北、左、右、中五个部分,如可以利用BorderLayout.SOUTH来设置组件的位置

3.      GridLayout,网格布局,构造方法如下:GrideLayout(int rows,int cols)、GrideLayout(int rows,int cols,int hgap,int vgap),当向该布局管理器的容器中添加组件时,默认从左到右,从上到下依次添加到每个网格中(组件的相对位置不随容器缩放而改变,但大小会改变,所有的组件大小相同)

4.      CardLayout布局管理器,将加入容器的所有组件看成一叠卡片

5.      GridBagLayout,功能强大,但是很复杂

6.      BoxLayout,保留了GridBagLayout的很多优点,但是没那么复杂

你可能感兴趣的:(java,基础)