java容器
java的Containerl类可以直接派生出两个常用的容器:框架(Framel类)和面板(Panel类)
容器分为顶层容器和非顶层容器
Framel框架的创建
package com.imau;
import java.awt.*;
import javax.swing.*;
public class FrameDemo extends JFrame{
public FrameDemo() {
this.setTitle("窗口");//窗口的标题
this.setSize(300,300);//大小(宽度,高度)
this.setLocation(100,199);//窗口的位置,从左上角(0,0)开始
this.setVisible(true);//窗口的可见性true是可见的
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
标签(Label)的创建
private JLable label;
private void init(){
label=new JLabel("姓名");
}
将标签添加进窗体
public FrameDemo() {
init();
this.add(label);
this.setTitle("窗口");//窗口的标题
this.setSize(300,300);//大小(宽度,高度)
this.setLocation(100,199);//窗口的位置,从左上角(0,0)开始
this.setVisible(true);//窗口的可见性true是可见的
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
按钮(Button)
private void init(){
button=new JButton("按钮")
//button,setEnabled(false);按钮是否可点击:false不可点击
}
java布局管理器:管理容器中的组件的位置和大小。
java中常用的布局有:FlowLayout(l流式布局)、BorderLayout(边界布局)、GridLayouut(网格布局)、CardLayout(卡片布局)、BoxLayout(框布局)、GridBagLayout(网格包布局).
设置流式布局
流式布局:默认居中对齐,从左往右排列超出自动换行,相对位置。
setLayout(new FlowLayout());
//setLayout(new FlowLayout(FlowLayout.LEFT));改为左对齐
//setLayout(new FlowLayout(FlowLayout.LEFT,10,30));改为左对齐,组件间的水平间距为10,垂直间距为30
边界布局
边界布局:位置有5个东西南北中;
setLayout(new BorderLayout());
//add(bts[0],BorderLayout.EAST);位置设置为东
网格布局
网格布局:使容器中的各组件呈M行×N列的网格状分布。
setLayout(new GridLayout(3,2));
空布局
空布局:添加组建的时候,组件没有大小,没有位置。空布局创建组件时要给组件设置大小和位置,对于窗口来说他是一个绝对位置。