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. android最快的模拟器

    https://www.genymotion.com/ genymotion Genymotion是一套完整的工具,它提供了Android虚拟环境.它简直就是开发者.测试人员.推销者甚至是游戏玩家的福 ...

  2. [css]display: table-cell,用div做分列布局

    table-cell我们却能用得到,而且是用它来干一件很重要的事情——多列布局. 多列布局在css中有多重要就不用我说了吧,传统模式下大家都使用float来解决这一问题,但是float写出来的东西代码 ...

  3. HTTP笔记:URI与URL

    URI与URL 简单理解是这样的:理解URI和URL的区别,我们引入URN这个概念.URI = Universal Resource Identifier 统一资源标志符URL = Universal ...

  4. Yale CAS + .net Client 实现 SSO 的完整版

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  5. MFC 学习 之 菜单栏的添加

    运行环境:vc++ 6.0    win81.通过资源 添加一组  菜单栏  如下: 2.在OnInitDialog()中添加如下代码: // Add "About..." men ...

  6. Java向PostgreSQL发送prepared statement 与 libpq 向PostgreSQL发送prepared statement之比较:

    Java 代码,在数据库端,并没有当成 prepared statetment 被处理. C代码通过libpq 访问数据库端,被当成了 prepared statement 处理.也许是因Postgr ...

  7. 【19】设计class犹如设计type

    设计class 的时候,需要好好考虑下面的问题: 1.新type的对象应该如何被创建和销毁? 2.对象的初始化和对象的赋值该有什么样的差别? 3.新type的对象如果pass by value,意味着 ...

  8. 包管理器Bower使用手冊之中的一个

    包管理器Bower使用手冊之中的一个 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 一.Bower介绍 Bower是一个适合Web应用的包管理器,它擅长 ...

  9. bmp to jpg

    uses Jpeg; function BMPtoJPG(var BMPpic, JPGpic: string): boolean;var  Bitmap: TBitmap;  JpegImg: TJ ...

  10. 数据库中的DDL和DML语言

    "D:\mysql-5.6.22-winx64\bin"添加到系统环境变量path中了,然后在任意目录可访问mysql等命令,这样如登录等操作就不需要进入MySQL安装目录才好执行 ...