zoukankan      html  css  js  c++  java
  • 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);
    		
    	}
    
    }
    
  • 相关阅读:
    docker 安装 redis
    docker 安装 fastdfs
    docker 安装 mysql5.7
    docker 安装 nacos
    docker 安装 gitlab-ce
    gitlab记录
    git记录
    ubuntu命令
    java html table 转 excel,给予jdom 和 poi
    自律挑战
  • 原文地址:https://www.cnblogs.com/feilongblog/p/4753546.html
Copyright © 2011-2022 走看看