一、标签和按钮
1、JFrame frame = new JFrame("测试窗口");//创建顶层容器
JPanel panel = new
JPanel();//创建中间容器
frame.setContentPane(panel);//将中间容器依托在顶层容器内
JButton button = new
JButton("这是一个基本组件");//创建一个基本组件
panel.add(button);//将基本组件依托在中间容器内
frame.setVisible(true);
2、JButton button =new JButton("确定");
button.setToolTipText("这是一个确定按钮");//鼠标在“确定”按钮上时,会提示"这是一个确定按钮"
button.getText();//获取按钮上的文本
button.setText();//设定按钮上的文本
JButton(Icon
icon);//创建一个带图标的按钮 JButton(String text);创建一个带文本的按钮
3、JLabel label = new JLabel();
label.setText("我们都是中国人!")//设定标签文本
label.getText();//获取标签文本
二、布局管理器组件
1、BorderLayout
:他将容器分为5个部分,即东、南、西、北、中,,每一个区域可以容纳一个组件(可以是容器组件,也可以说按钮或是标签),使用的时候也好似通过BoaderLayout中的5个方位常量来确定组件所在的位置。
2、FlowLayout
:是按加入的先后顺序从左到右排列,一行排满了,再换行,继续从左到右排列。每一行的组件都是居中排列的。
3、GridLayout :是将整个布局空间,划分为若干个行乘若干列的网格区域。组件就位于这些小的区域内。
4、GridBagLayout
:是通过网格进行划分,可以看到每个组都占据一个网格,也可以一个组件占据几个网格。有点类似GridLayout,但是比其要复杂多了。。
BorderLayout布局:
public class test1{
static
final int WIDTH = 300;
static
final int HEIGHT = 200;
public
static void main(String[] args){
JFrame frame = new JFrame("BorderLayout布局");
frame.setSize(WIDTH,HEIGHT);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
JPanel contentPane = new JPanel();
frame.setContentPane(contentPane);
JButton b1 = new JButton("生活");
JButton b2 = new JButton("工作");
JButton b3 = new JButton("睡觉");
JButton b4 = new JButton("购物");
JButton b5 = new JButton("饮食");
BorderLayout lay = new BordLayout();
//创建一个布局管理器对象,将中间容器设置为此布局管理
frame.setLayout(lay);
contentPane.add(b1,"North");
contentPane.add(b2,"South");
contentPane.add(b3,"East");
contentPane.add(b4,"West");
contentPane.add(b5,"Center");
}
}
GridBagLayout布局:
class test2 extends JPanel{
static
final int WIDTH = 300;
static
final int HEIGHT = 200;
JFrame
frame;
public
void add(Component c,GridBagConstraints constaints,int x,int y,int
w,int h){
//gridX、gridY分别定义了添加组件时左上角的行与列的位置
//gridwidth、gridheight分别定义了组件所占用的列数与行数
constaints.gridx=x;
constaints.gridy=y;
constaints.gridwidth=w;
constaints.gridheight=h;
}
test2(){
frame = new JFrame("GridBagLayout");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
GridBagLayout lay = new GridBagLayout();//创建网格组布局方式对象
setLayout(lay);
frame.setSize(WIDTH,HEIGHT);
//设置顶层容器框架居中
Toolkit kit = Toolkit.getDefaultToolkit();
Dimension screenSize = kit.getScreenSize();
int width = screenSize.width;
int height = screenSize.height;
int x =(width-WIDTH)/2;
int y =(height-HEIGHT)/2
frame.setLocation(x,y);
JButton ok = new JButton("确定");
JButton cancel = new JButton("放弃");
JLabel title = new JLable("不急管理器");
JLabel name = new JLable("用户名");
JLabel passwod = new JLable("密码");
final JTextField nameinput = new JTextField(15);
final JTextField passwordinput = new JTextField(15);
GridBagConstaints constraints = new GridBagConstraints();
constraints.fill = GridBagConstraints.NONE;
constraints.anchor = GridBagConstraints.EAST;
constraints.weightx = 3;
constraints.heighty = 4;
add(title,constraints,0,0,4,1);
add(name,constraints,0,1,1,1);
add(password,constraints,0,2,1,1);
add(nameinput,constraints,2,1,1,1);
add(passworinput,constraints,2,2,1,1);
add(ok,constraints,0,3,1,1);
add(cancle,constraints,2,3,4,1);
frame.setResizable(false);
frame.setVisible(true);
}
}
public class test2{
public
static void main(String[] args){
login log = new login();
}
}