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

java新手笔记26 Frame

2015-08-23 23:28 477 查看
0.Calculater

package com.yfs.javase;

import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.Panel;
import java.awt.TextField;
//布局管理器
public class Calculater extends Frame {
//设置2个panel
Panel pn = new Panel();
Panel pc = new Panel();

Button[] buts = new Button[16];
TextField text = new TextField(20);
//菜单
MenuBar bar = new MenuBar();
Menu m1 = new Menu("编辑");
Menu m2 = new Menu("查看");
Menu m3 = new Menu("帮助");

public Calculater() {
super("山寨计算器");
setLocation(200, 150);

//布局管理  GridLayout 表格
pc.setLayout(new GridLayout(4,4,5,5));
//添加到north面板
pn.add(text);
//添加but
for (int i = 0; i < 10; i++) {
buts[i] = new Button(String.valueOf(i));
pc.add(buts[i]);
}
//运算符
String[] opt = {"+","-","*","/","="};
for (int i = 10; i < opt.length + 10; i++) {
buts[i] = new Button(opt[i - 10]);
pc.add(buts[i]);
}
//向窗体添加面板
add(pn, BorderLayout.NORTH);
add(pc);
pack();//窗体包裹组件
setResizable(false);
//添加菜单项
MenuItem m11 = new MenuItem("复制");
MenuItem m12 = new MenuItem("粘贴");
MenuItem m21 = new MenuItem("标准型");
MenuItem m22 = new MenuItem("科学型");
MenuItem m23 = new MenuItem("数字分组");
MenuItem m31 = new MenuItem("帮助主题");
MenuItem m32 = new MenuItem("关于计算器");

m1.add(m11);
m1.add(m12);
m2.add(m21);
m2.add(m22);
m2.addSeparator();
m2.add(m23);
m3.add(m31);
m3.add(m32);

//设置菜单
bar.add(m1);
bar.add(m2);
bar.add(m3);
//菜单添加到窗体
setMenuBar(bar);

// 默认隐藏 设置显示
setVisible(true);

}

public static void main(String[] args) {
new Calculater();
}

}


1.Frame

package com.yfs.javase;

import java.awt.Button;
import java.awt.Checkbox;
import java.awt.Choice;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Label;
import java.awt.TextArea;
import java.awt.TextField;

public class FrameDemo1 {

/**
* awt
*/
public static void main(String[] args) {
//创建窗体对象
Frame frame = new Frame();
//设置位置
frame.setLocation(200, 150);
//设置窗体大小
frame.setSize(400, 300);
//设置布局
frame.setLayout(new FlowLayout());
//按钮
Button but = new Button();
but.setLabel("新建");

Label  la = new Label();
la.setText("软件开发");
Checkbox ch = new Checkbox();//单选框
TextArea area = new TextArea(6,20);//多行文本框
TextField text = new TextField(15);//单行文本框
Choice choice = new Choice();
choice.add("clazz1");
choice.add("clazz2");
choice.add("clazz3");

//添加窗体
frame.add(but);
frame.add(la);
frame.add(ch);
frame.add(area);
frame.add(text);
frame.add(choice);

//默认隐藏  设置显示
frame.setVisible(true);

}

}


2.JFrame

package com.yfs.javase;

import java.awt.FlowLayout;

import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class FrameDemo2 {

/**
* swing
*/
public static void main(String[] args) {
//创建窗体对象
JFrame frame = new JFrame();
//设置位置
frame.setLocation(200, 150);
//设置窗体大小
frame.setSize(400, 300);
frame.setLayout(new FlowLayout());
JButton but = new JButton();
but.setText("新建");

JLabel la = new JLabel("软件");
JCheckBox ch = new JCheckBox();
JTextArea area = new JTextArea(8,20);
JTextField text = new JTextField(15);
JComboBox box = new JComboBox();
box.addItem("clazz1");
box.addItem("clazz2");
box.addItem("clazz3");

frame.add(but);
frame.add(la);
frame.add(ch);
frame.add(area);
frame.add(text);
frame.add(box);
//默认隐藏  设置显示
frame.setVisible(true);

}

}


3.自己管理窗体布局

package com.yfs.javase;

import java.awt.Button;
import java.awt.Checkbox;
import java.awt.Choice;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Label;
import java.awt.TextArea;
import java.awt.TextField;

public class FrameDemo3 extends Frame {

public FrameDemo3() {
//调用父类无参数的构造方法
//super("我的程序");
setTitle("还是我的程序");
// 创建窗体对象
//Frame frame = new Frame();
// 设置位置
this.setLocation(200, 150);
// 设置窗体大小
setSize(400, 300);

// 按钮
Button but1 = new Button("新建");
Button but2 = new Button("打开");
Button but3 = new Button("保存");
Button but4 = new Button("退出");
setLayout(null);
//自己管理窗体布局
//指定大小 位置
but1.setLocation(10, 50);
but1.setSize(50, 30);

but2.setLocation(70, 50);
but2.setSize(50, 30);

but3.setLocation(130, 50);
but3.setSize(50, 30);

but4.setLocation(190, 50);
but4.setSize(50, 30);

// 添加到窗体
add(but1);
add(but2);
add(but3);
add(but4);

// 默认隐藏 设置显示
setVisible(true);

}

public static void main(String[] args) {
new FrameDemo3();
}

}


4.布局管理器

package com.yfs.javase;

import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Checkbox;
import java.awt.Choice;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Label;
import java.awt.TextArea;
import java.awt.TextField;
//布局管理器
public class FrameDemo4 extends Frame {

public FrameDemo4() {

super("borderlayout管理器");
setBounds(200, 150, 500, 400);
Button b1 = new Button("北");
Button b2 = new Button("南");
Button b3 = new Button("西");
Button b4 = new Button("东");
Button b5 = new Button("中");
Button b6 = new Button("发");
//布局管理  frame默认 BorderLayout布局管理器
//setLayout( new BorderLayout());

add(b1, BorderLayout.NORTH);
add(b2, BorderLayout.SOUTH);
add(b3, BorderLayout.WEST);
add(b4, BorderLayout.EAST);
//add(b5,BorderLayout.CENTER);
add(b5);
add(b6);

// 默认隐藏 设置显示
setVisible(true);

}

public static void main(String[] args) {
new FrameDemo4();
}

}


5.FlowLayout

package com.yfs.javase;

import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Checkbox;
import java.awt.Choice;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Label;
import java.awt.TextArea;
import java.awt.TextField;
//布局管理器
public class FrameDemo5 extends Frame {

public FrameDemo5() {

super("Flowlayout管理器");
setBounds(200, 150, 500, 400);
Button b1 = new Button("新建");
Button b2 = new Button("打开");
Button b3 = new Button("保存");
Button b4 = new Button("关闭");

//布局管理  FlowLayout
setLayout(new FlowLayout(FlowLayout.RIGHT, 10, 20));

add(b1);
add(b2);
add(b3);
add(b4);

// 默认隐藏 设置显示
setVisible(true);

}

public static void main(String[] args) {
new FrameDemo5();
}

}


6.GridLayout 表格

package com.yfs.javase;

import java.awt.Color;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Label;
import java.util.Random;
//布局管理器
public class FrameDemo6 extends Frame {
//属性
private Label[] labels = new Label[16];

public FrameDemo6() {

super("gridlayout管理器");
setBounds(200, 150, 400, 400);
Random ran = new Random();

//布局管理  GridLayout 表格
setLayout(new GridLayout(4,4,1,1));
//创建label
for (int i = 0; i < labels.length; i++) {
labels[i] = new Label(String.valueOf(i + 1), Label.CENTER);
//添加背景色
//labels[i].setBackground(Color.CYAN);
labels[i].setBackground(new Color(ran.nextInt(256),ran.nextInt(256),ran.nextInt(256)));
//设置前景色
labels[i].setForeground(Color.WHITE);

//添加到窗体
add(labels[i]);
}

// 默认隐藏 设置显示
setVisible(true);

}

public static void main(String[] args) {
new FrameDemo6();
}

}


7.容器Panel

package com.yfs.javase;

import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Checkbox;
import java.awt.Choice;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Label;
import java.awt.Panel;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.Window;

//容器
public class FrameDemo7 {

// public FrameDemo7() {
//
// super("Flowlayout管理器");
// setBounds(200, 150, 500, 400);
// Button b1 = new Button("新建");
// Button b2 = new Button("打开");
// Button b3 = new Button("保存");
// Button b4 = new Button("关闭");
//
// //布局管理 FlowLayout
// //setLayout(new FlowLayout(FlowLayout.RIGHT, 10, 20));
//
// add(b1);
// add(b2);
// add(b3);
// add(b4);
//
// // 默认隐藏 设置显示
// setVisible(true);
//
// }

public static void main(String[] args) {
Frame f = new Frame("容器实例");
f.setBounds(200, 150, 300, 300);
f.setVisible(true);
// 不能独立显示  管理组件
Panel p = new Panel();
p.setBounds(200, 150, 100, 100);
p.setBackground(Color.CYAN);
p.setVisible(true);

p.add(new Button("javase"));
f.add(p, BorderLayout.EAST);
//		Window win = new Window(null);
//		win.setBounds(200, 150, 300, 300);
//		Button but = new Button("软件开发");
//		win.add(but);
//		win.setVisible(true);

}

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