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

}
原文地址:https://www.cnblogs.com/feilongblog/p/4753546.html