创建一个窗口
//1.创建一个窗口对象
Frame frame=new Frame("这里测试window窗口");
//2.指定窗口位置,大小
frame.setBounds(200,200,400,400);
//3.设置窗口对象可见
frame.setVisible(true);
这是测试可滚动界面
Frame frame =new Frame("这是测试可滚动界面");
//创建一个ScrollPane对象
ScrollPane sp = new ScrollPane(ScrollPane.SCROLLBARS_ALWAYS);
//添加内容
sp.add(new TextField("这是测试文本"));
sp.add(new Button("这是测试按钮"));
//吧ScrollPane添加到window上
frame.add(sp);
frame.setBounds(500,300,600,400);
frame.setVisible(true);
创建一个window对象,因为panel以及其他的容器,都不能独立存在
//1.创建一个window对象,因为panel以及其他的容器,都不能独立存在
Frame frame =new Frame("这是测试panel");
//2.创建一个panel对象
Panel panel =new Panel();
//3.在panel添加组件
//创建一个文本框和一个按钮,并放入到panel容器中
panel.add(new TextField("这里是一个测试文本"));
panel.add(new Button("这是一个测试按钮"));
//4.把panel放入到window容器中
frame.add(panel);
frame.setBounds(100,100,400,400);
frame.setVisible(true);
layout布局
BorderLayoutDemo1
Frame frame =new Frame();
//给frame设置按钮管理器
frame.setLayout(new BorderLayout(30,10));
//2.往frame的指定区域添加组件
frame.add(new Button("北侧按钮"),BorderLayout.NORTH);
frame.add(new Button("南侧按钮"),BorderLayout.SOUTH);
frame.add(new Button("东侧按钮"),BorderLayout.EAST);
frame.add(new Button("西侧按钮"),BorderLayout.WEST);
frame.add(new Button("中间按钮"),BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
BorderLayoutDemo2
Frame frame =new Frame();
//给frame设置按钮管理器
frame.setLayout(new BorderLayout(30,10));
//2.往frame的指定区域添加组件
frame.add(new Button("北侧按钮"),BorderLayout.NORTH);
frame.add(new Button("南侧按钮"),BorderLayout.SOUTH);
Panel p =new Panel();
p.add(new Button("中间按钮"));
p.add(new TextField("测试文本"));
frame.add(p);
frame.pack();
frame.setVisible(true);
BoxLayoutDome1
Frame frame =new Frame("这里测试boxlayout");
//基于frame,创建一个boxlayout组件,该对象存放组件是垂直存放
// BoxLayout boxLayout = new BoxLayout(frame,BoxLayout.Y_AXIS);
BoxLayout boxLayout = new BoxLayout(frame,BoxLayout.X_AXIS);
//吧boxlayout对象设置给frame
frame.setLayout(boxLayout);
//往frame中添加两个按钮组件
frame.add(new Button("按钮1"));
frame.add(new Button("按钮2"));
frame.pack();
frame.setVisible(true);
BoxLayoutDome2
Frame frame =new Frame();
//创建一个水平排列组件的容器
Box box1 = Box.createHorizontalBox();
//往容器添加两个按钮
box1.add(new Button("水平按钮1"));
box1.add(new Button("水平按钮2"));
//添加垂直排列的box容器
Box box2 = Box.createVerticalBox();
//往当前容器中添加两个按钮
box2.add(new Button("垂直按钮1"));
box2.add(new Button("垂直按钮2"));
//把两个box容器添加到frame中展示
frame.add(box1,BorderLayout.NORTH);
frame.add(box2,BorderLayout.SOUTH);
frame.pack();
frame.setVisible(true);
BoxLayoutDome3
Frame frame =new Frame();
Box box1 = Box.createHorizontalBox();
box1.add(new Button("水平按钮1"));
box1.add(Box.createHorizontalGlue());//该分隔在两个方向都可以拉伸
box1.add(new Button("水平按钮2"));
box1.add(Box.createHorizontalStrut(30));
box1.add(new Button("水平按钮3"));
Box box2=Box.createVerticalBox();
box2.add(new Button("垂直按钮1"));
box1.add(Box.createVerticalGlue());//该分隔在两个方向都可以拉伸
box2.add(new Button("垂直按钮2"));
box2.add(Box.createVerticalStrut(30));
box2.add(new Button("垂直按钮3"));
frame.add(box1,BorderLayout.NORTH);
frame.add(box2);
frame.pack();
frame.setVisible(true);
CardLayoutDome
Frame frame =new Frame();
//创建一个panel,用来存储多张卡片
final Panel p1=new Panel();
//创建card对象,并且把该对象设置给之前创建的容器
final CardLayout cardLayout=new CardLayout();
p1.setLayout(cardLayout);
//王panel中存储多个组件
String[] names={"第一张","第二张","第三张","第四张","第五张"};
for (int i = 0; i < names.length; i++) {
p1.add(names[i],new Button(names[i]));
}
//把panel放到frame的中间区域
frame.add(p1);
//创建另外一个panel p2,用于存储多个按钮组件
Panel p2=new Panel();
//创建5个按钮组件
Button b1 = new Button("上一张");
Button b2 = new Button("下一张");
Button b3 = new Button("第一张");
Button b4 = new Button("最后一张");
Button b5 = new Button("第三张");
//创建一个事件监听器,监听按钮的动作
ActionListener actionListener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
//这个字符串其实就是按钮的文字
String command = e.getActionCommand();
if ("上一张".equals(command)) {
cardLayout.previous(p1);
} else if ("下一张".equals(command)) {
cardLayout.next(p1);
} else if ("第一张".equals(command)) {
cardLayout.first(p1);
} else if ("最后一张".equals(command)) {
cardLayout.last(p1);
} else if ("第三张".equals(command)) {
cardLayout.show(p1,"第三张");
}
}
};
//把当前这个事件监听器和多个按钮绑定到一起
b1.addActionListener(actionListener);
b2.addActionListener(actionListener);
b3.addActionListener(actionListener);
b4.addActionListener(actionListener);
b5.addActionListener(actionListener);
//把按钮添加到容器p2中
p2.add(b1);
p2.add(b2);
p2.add(b3);
p2.add(b4);
p2.add(b5);
//把p2放到frame的南边区域
frame.add(p2,BorderLayout.SOUTH);
frame.pack();
frame.setVisible(true);
FlowLayoutDome
Frame frame =new Frame("这里测试FlowLayout");
//通过setlayout设置容器的布局管理器//像素
// frame.setLayout(new FlowLayout(FlowLayout.LEFT,20,20));
frame.setLayout(new FlowLayout(FlowLayout.CENTER,20,20));
//添加多个按钮到frame中
for (int i = 1; i <100 ; i++) {
frame.add(new Button("按钮"+i));
}
//设置最佳大小,pack方法
frame.pack();
frame.setVisible(true);
GridLayoutDome
Frame frame = new Frame("计算器");
//1.创建panel对象,存入textfiled组件
Panel panel =new Panel();
panel.add(new TextField(30));
//2.把当前这个panel添加到北边区域
frame.add(panel,BorderLayout.NORTH);
//创建一个panle对象,并且设置布局管理器为gridlayout
Panel panel2 =new Panel();
panel2.setLayout(new GridLayout(3,5,4,4));
//王panle中天加内容
for (int i = 0; i < 10; i++) {
panel2.add(new Button(i+""));
}
panel2.add(new Button("+"));
panel2.add(new Button("-"));
panel2.add(new Button("*"));
panel2.add(new Button("/"));
panel2.add(new Button("."));
//panel添加到frame
frame.add(panel2);
frame.pack();
frame.setVisible(true);
BaseComponentDome 基础组件练习
public class BaseComponentDome {
Frame frame =new Frame();
TextArea ta =new TextArea(5,20);
Choice choice=new Choice();
CheckboxGroup cbg =new CheckboxGroup();
Checkbox male=new Checkbox("男",cbg,true);
Checkbox female=new Checkbox("女",cbg,false);
Checkbox isMarried =new Checkbox("是否已婚?");
TextField tf =new TextField(20);
Button ok=new Button("确认");
List colorList =new List(6,true);
public void init(){
//组装界面
//组装底部
Box bBox =Box.createHorizontalBox();
bBox.add(tf);
bBox.add(ok);
frame.add(bBox,BorderLayout.SOUTH);
//组装选择部分
Box cBox =Box.createHorizontalBox();
choice.add("红色");
choice.add("蓝色");
choice.add("绿色");
cBox.add(choice);
cBox.add(male);
cBox.add(female);
cBox.add(isMarried);
//组装文本域和选择部分
Box topLeft =Box.createVerticalBox();
topLeft.add(ta);
topLeft.add(cBox);
//组装左面和列表框
Box top =Box.createHorizontalBox();
colorList.add("红色");
colorList.add("蓝色");
colorList.add("绿色");
top.add(topLeft);
top.add(colorList);
frame.add(top);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
new BaseComponentDome().init();
}
}