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); } }

java新手笔记26 Frame的更多相关文章

  1. JAVA自学笔记26

    JAVA自学笔记26 1.网络编程 1)用来实现网络互联的不同计算机上运行的程序可以进行数据交换 2)网络模型一般泛指 OSI:(Open System Interconnection)开放系统互联参 ...

  2. java新手笔记27 监听器类

    1.外部类监听 package com.yfs.javase; import java.awt.Button; import java.awt.FlowLayout; import java.awt. ...

  3. JAVA新手笔记 Intent对象和Bundle对象

    Intent对象和Bundle对象 功能主要是在 MainActivity中定义了2个EditText,当用户输入内容,把他传入到第二个活动, 自己新创的活动中,MyActivity中 放在MainA ...

  4. java新手笔记34 连接数据库

    1.JdbcUtil package com.yfs.javase.jdbc; import java.sql.Connection; import java.sql.DriverManager; i ...

  5. java新手笔记33 多线程、客户端、服务器

    1.Mouse package com.yfs.javase; public class Mouse { private int index = 1; private boolean isLive = ...

  6. java新手笔记32 jdk5新特性

    1.for package com.yfs.javase; import java.awt.Color; import java.util.Calendar; import java.util.Has ...

  7. java新手笔记31 集合实现类

    Person类: package com.yfs.javase; import java.util.Date; public class Person implements Comparable { ...

  8. java新手笔记30 集合

    1.set/list package com.yfs.javase; import java.util.ArrayList; import java.util.Collection; import j ...

  9. java新手笔记29 读取文件

    1.读取文件 package com.yfs.javase; import java.io.FileInputStream; import java.io.FileReader; import jav ...

随机推荐

  1. C语言/C++中怎样产生随机数

    C语言/C++怎样产生随机数:这里要用到的是rand()函数, srand()函数,和time()函数. 需要说明的是,iostream头文件中就有srand函数的定义,不需要再额外引入stdlib. ...

  2. web开发工具类

    1.日期工具类 import java.text.SimpleDateFormat; import java.util.Date; public class DateUtil { public sta ...

  3. 运用集合来做一个DVD管理器(全代码)

    package DVD;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Array ...

  4. C++学习笔记(二):基本数据类型

    带符号整数: short至少16位: int至少与short—样长: long至少32位,且至少与int—样长: long long至少64位,且至少与long—样长: 无符号整数: unsigned ...

  5. C++学习笔记(十六):友元

    问题的提出: 我们已知道类具备封装和信息隐 藏的特性.只有类的成员函数才能访问类的私有成员,程式中的其他函数是无法访问私有成员的.非成员函数能够访问类中的公有成员,但是假如将数据成员都定义 为公有的, ...

  6. java+hadoop+spark+hbase+scala+kafka+zookeeper配置环境变量记录备忘

    java+hadoop+spark+hbase+scala 在/etc/profile 下面加上如下环境变量 export JAVA_HOME=/usr/java/jdk1.8.0_102 expor ...

  7. DBCP数据源

    DBCP数据源是Apache软件基金组织下的开源连接池实现,需要两个jar文件:Commons-dbcp.jar 连接池的实现和Commons-pool.jar 连接池实现的依赖库

  8. [置顶] 运算符重载,浅拷贝(logical copy) ,vs, 深拷贝(physical copy),三大件(bigthree problem)

    一般的我们喜欢这样对对象赋值: Person p1;Person p2=p1; classT object(another_object), or    A a(b); classT object = ...

  9. Oracle删除重复数据的几种常用方法

    1.有可区分的主键,其他数据相同 select * from 表名 dl where dl.id not in (select min(d.id) from  表名 d group by 重复列) 2 ...

  10. 在orangepi-PC, ubuntu mini下使用usb wifi(rtl8188cu/rtl8192cu)

    本文章针对orangepi-pc下的ubuntu,分两部分,分别介绍在ubuntu14.04(trusty)mini下使用usb无线网卡的方式,以及怎样在ubuntu15.10(wily)mini下正 ...