java新手笔记26 Frame
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的更多相关文章
- JAVA自学笔记26
JAVA自学笔记26 1.网络编程 1)用来实现网络互联的不同计算机上运行的程序可以进行数据交换 2)网络模型一般泛指 OSI:(Open System Interconnection)开放系统互联参 ...
- java新手笔记27 监听器类
1.外部类监听 package com.yfs.javase; import java.awt.Button; import java.awt.FlowLayout; import java.awt. ...
- JAVA新手笔记 Intent对象和Bundle对象
Intent对象和Bundle对象 功能主要是在 MainActivity中定义了2个EditText,当用户输入内容,把他传入到第二个活动, 自己新创的活动中,MyActivity中 放在MainA ...
- java新手笔记34 连接数据库
1.JdbcUtil package com.yfs.javase.jdbc; import java.sql.Connection; import java.sql.DriverManager; i ...
- java新手笔记33 多线程、客户端、服务器
1.Mouse package com.yfs.javase; public class Mouse { private int index = 1; private boolean isLive = ...
- java新手笔记32 jdk5新特性
1.for package com.yfs.javase; import java.awt.Color; import java.util.Calendar; import java.util.Has ...
- java新手笔记31 集合实现类
Person类: package com.yfs.javase; import java.util.Date; public class Person implements Comparable { ...
- java新手笔记30 集合
1.set/list package com.yfs.javase; import java.util.ArrayList; import java.util.Collection; import j ...
- java新手笔记29 读取文件
1.读取文件 package com.yfs.javase; import java.io.FileInputStream; import java.io.FileReader; import jav ...
随机推荐
- 修改HTMLTestRunner模板
---恢复内容开始--- 1.修改bug(passCase不标色和加粗) style = (n == 2 and 'errorCase') or (n == 1 and 'failCase') or ...
- Android 图片加载[常见开源项目汇总]
该文主要是讲一下目前有哪些使用比较多的 图片加载开源项目,并简单介绍该如果使用 以及各开源项目之间有什么区别, 我们该如何去选择适合的开源项目应用到我们的项目中? 一.Android-Universa ...
- 看文章《EAI和SOA的比较》有感(1)
<EAI和SOA的比较>http://www.cnblogs.com/asdling/archive/2007/11/26/973100.html这篇文章写的很全面,至少自己这么认为,也解 ...
- 简单详细的OD破解教程
2007-08-04 15:46作者:CCDebuger注:昨天在网上见到了这篇文章,但缺少插图,从另外一篇文章中也看到了类似的的教程文章,里面的插图质量实在不敢恭维.在一个论坛中正好下载了文章中所介 ...
- sql函数:汉字转换为拼音
sql数据库自定义一个函数把下面代码写进去 功能是得到汉字拼音首字母create function fun_getPY(@str nvarchar(4000)) returns nvarchar(40 ...
- httpclient模拟浏览器訪问站点
HttpClient 是 Apache Jakarta Common 下的子项目.能够用来提供高效的.最新的.功能丰富的支持 HTTP 协议的client编程工具包.而且它支持 HTTP 协议最新的版 ...
- JS 实现2+2=5的代码 实现原理解析
当我在http://segmentfault.com/q/1010000000531302 看到的时候 先是一惊. 这是代码 g = function () { H = 3 return H ...
- SAP交货单过账自动生产采购订单、采购订单自动收货入库
公司间需要买卖操作,由于发货和收货都是同一批人在操作,为了减少业务人员的工作量,提高工作效率,特实现以上功能 1.增强实现:增强点为交货单过账成功时触发,在提交前触发,如果遇到不可预知问题,可能造成数 ...
- c++简单的ATL COM开发和调用实例(转)
c++简单的ATL COM开发和调用实例 1.打开VS2010,新建ATL COM 项目,步骤:“文件” -->“新建” -->“项目”,选择“Visual C++” -->“ATL ...
- unix 网路编程(卷一)第一个程序编译过程
unix卷一去年暑假买的到现在才开始看无比惭愧,而且惭愧第一个程序就断断续续弄了几天,要好好写程序了,马上要找工作了,下面介绍下把本书第一个程序跑起来的过程: 搜各种博客 我用系统的是ubuntu 1 ...