java 界面布局学习

package 图形;

import java.awt.*;
import javax.swing.*;

public class frame1 extends JFrame{
	JButton jb = null;
	public frame1(){
		jb = new JButton("按钮"); // 新建按钮
		this.add(jb); // 把按钮放入框体
		this.setTitle("我的第一个界面!"); // 设置主题
		this.setSize(300, 300); // 设置框体大小
		this.setLocation(400,150); //设置框体显示的位置
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置框体退出
		this.setVisible(true); // 显示框体
	}
	public static void main(String[] args) {
		frame1 f = new frame1();
	}
}

package 图形;

import java.awt.*;
import javax.swing.*;
/*
 * 边界布局
 */
public class frame2 extends JFrame{
	JButton jb1,jb2,jb3,jb4,jb5;
	public frame2() {
		// 创建组件
		jb1 = new JButton("中部");
		jb2 = new JButton("东部");
		jb3 = new JButton("南部");
		jb4 = new JButton("西部");
		jb5 = new JButton("北部");
		// 添加组件
		this.add(jb1,BorderLayout.CENTER);
		this.add(jb2,BorderLayout.EAST);
		this.add(jb3,BorderLayout.SOUTH);
		this.add(jb4,BorderLayout.WEST);
		this.add(jb5,BorderLayout.NORTH);
		// 框体
		this.setTitle("边界布局!"); // 设置主题
		this.setSize(300, 300); // 设置框体大小
		this.setLocation(400,150); //设置框体显示的位置
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置框体退出
		this.setVisible(true); // 显示框体
		
	}
	public static void main(String[] args) {
		frame2 f = new frame2();
	}
}

//流式布局
package 图形;
import java.awt.*;

import javax.swing.*;
public class frame3 extends JFrame{
	JButton jb1,jb2,jb3,jb4,jb5;
	
	public frame3() {
		jb1 = new JButton("关羽");
		jb2 = new JButton("张飞");
		jb3 = new JButton("赵云");
		jb4 = new JButton("马超");
		jb5 = new JButton("魏延");
		//添加组件 
		this.add(jb1);
		this.add(jb2);
		this.add(jb3);
		this.add(jb4);
		this.add(jb5);
		//设置布局管理器
		this.setLayout(new FlowLayout(FlowLayout.LEFT));
		//this.setLayout(null);
		//框体
		this.setTitle("流式布局"); // 设置主题
		this.setSize(300, 300); // 设置框体大小
		this.setLocation(400,150); //设置框体显示的位置
		// 禁止用户改变窗体大小
		this.setResizable(false);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置框体退出
		this.setVisible(true); // 显示框体
	}
	
	public static void main(String[] args) {
		frame3 f = new frame3();
	}
}

package 图形;

import javax.swing.*;

import java.awt.*;

public class frame4 extends JFrame{
	int size = 9;
	JButton jb[] = new JButton[size]; // 组件采用数组表示
	public frame4() {
		for(int i=0;i<size;i++){ 
			jb[i] = new JButton(String.valueOf(i)); // 创建组件
		}
		this.setLayout(new GridLayout(3,3,10,10)); // 创建网络布局 3 X 3 , 组件之间的缝隙相隔10, 10
		for(int i=0;i<size;i++){
			this.add(jb[i]); // 往布局中添加组件
		}
		// 框架
		this.setTitle("网络布局"); // 设置主题
		this.setSize(300, 300); // 设置框体大小
		this.setLocation(400,150); //设置框体显示的位置
		// 禁止用户改变窗体大小
		this.setResizable(false);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置框体退出
		this.setVisible(true); // 显示框体
	}
	public static void main(String[] args) {
		frame4 f = new frame4();
	}
}

package 图形;
import java.awt.*;
import java.util.concurrent.BrokenBarrierException;

import javax.swing.*;
public class frame5 extends JFrame{
	JPanel jp1,jp2;
	JButton jb1,jb2,jb3,jb4,jb5,jb6;
	public frame5() {
		// TODO Auto-generated constructor stub
		// JPanel默认的布局是流式布局
		jp1 = new JPanel();
		jp2 = new JPanel();
		// 构造组件
		jb1 = new JButton("西瓜");
		jb2 = new JButton("苹果");
		jb3 = new JButton("橘子");
		jb4 = new JButton("白菜");
		jb5 = new JButton("萝卜");
		jb6 = new JButton("葡萄");
		//设置布局   使用JPanel
		jp1.add(jb1);
		jp1.add(jb2);
		jp2.add(jb3);
		jp2.add(jb4);
		jp2.add(jb5);
		//添加组件
		this.add(jp1,BorderLayout.NORTH);
		this.add(jb6,BorderLayout.CENTER);
		this.add(jp2,BorderLayout.SOUTH);
		// 框架
		this.setTitle("多个流式布局"); // 设置主题
		this.setSize(300, 300); // 设置框体大小
		this.setLocation(400,150); //设置框体显示的位置
		// 禁止用户改变窗体大小
		this.setResizable(false);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置框体退出
		this.setVisible(true); // 显示框体
		
	}
	public static void main(String[] args) {
		frame5 r = new frame5();
	}
}

package 图形;
import java.awt.*;

import javax.swing.*;

public class frame6 extends JFrame{
	JPanel jp1,jp2,jp3; // 流式布局
	JLabel jlb1,jlb2; // 标题
	JTextField jtf1; // 文本框
	JPasswordField jpf1; // 密码框
	JButton jb1,jb2; // 按钮
	public frame6() {
		// TODO Auto-generated constructor stub
		jp1 = new JPanel();
		jp2 = new JPanel();
		jp3 = new JPanel();
		
		jlb1 = new JLabel("用户名");
		jlb2 = new JLabel("密     码");
		
		jb1 = new JButton("确定");
		jb2 = new JButton("取消");
		
		jtf1 = new JTextField(15);
		jpf1 = new JPasswordField(15);
		// 设置布局
		this.setLayout(new GridLayout(3,1));
		
		jp1.add(jlb1);
		jp1.add(jtf1);
		
		jp2.add(jlb2);
		jp2.add(jpf1);
		
		jp3.add(jb1);
		jp3.add(jb2);
		
		this.add(jp1);
		this.add(jp2);
		this.add(jp3);
		
		// 框架
		this.setTitle("多个流式布局"); // 设置主题
		this.setSize(300, 150); // 设置框体大小
		this.setLocation(400,150); //设置框体显示的位置
		// 禁止用户改变窗体大小
		this.setResizable(false);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置框体退出
		this.setVisible(true); // 显示框体
		
	}
	public static void main(String[] args) {
		frame6 f = new frame6();
	}
}

package 图形;
import java.awt.*;

import javax.swing.*;
public class frame7 extends JFrame{
	JButton jb1,jb2; // 按钮
	JLabel jlb1,jlb2; // 标题
	JCheckBox jcb1,jcb2,jcb3; // 复选建********
	JRadioButton jrb1,jrb2; // 单选键********
	JPanel jp1,jp2,jp3; // 流式布局
	
	public frame7() {
		// TODO Auto-generated constructor stub
		jb1 = new JButton("注册用户");
		jb2 = new JButton("取消注册");
		
		jlb1 = new JLabel("你喜欢的运动");
		jlb2 = new JLabel("你的性别");
		
		jcb1 = new JCheckBox("足球");
		jcb2 = new JCheckBox("篮球");
		jcb3 = new JCheckBox("网球");
		
		jrb1 = new JRadioButton("男");
		jrb2 = new JRadioButton("女");
		
		jp1 = new JPanel();
		jp2 = new JPanel();
		jp3 = new JPanel();
		
		ButtonGroup bg = new ButtonGroup();
		bg.add(jrb1);
		bg.add(jrb2);
		
		this.setLayout(new GridLayout(3,1));
		jp1.add(jlb1);
		jp1.add(jcb1);
		jp1.add(jcb2);
		jp1.add(jcb3);
		
		jp2.add(jlb2);
		jp2.add(jrb1);
		jp2.add(jrb2);
		
		jp3.add(jb1);
		jp3.add(jb2);
		
		this.add(jp1);
		this.add(jp2);
		this.add(jp3);
		
		// 框架
		this.setTitle("多个流式布局"); // 设置主题
		this.setSize(300, 150); // 设置框体大小
		this.setLocation(400,150); //设置框体显示的位置
		// 禁止用户改变窗体大小
		this.setResizable(false);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置框体退出
		this.setVisible(true); // 显示框体
	}
	public static void main(String[] args) {
		frame7 f = new frame7();
	}
}

package 图形;
import java.awt.*;

import javax.swing.*;
public class frame8 extends JFrame{
	// 定义
	JPanel jp1,jp2; 
	JLabel jlb1,jlb2;
	JComboBox jcb1; // 下拉框组件
	JList jlist; // 列表框组件
	JScrollPane jsp; // 滚动窗格组件
	public frame8() {
		// TODO Auto-generated constructor stub
		jp1 = new JPanel();
		jp2 = new JPanel();
		
		jlb1 = new JLabel("你的籍贯");
		jlb2 = new JLabel("旅游地点");
		
		String []jg = {"北京","上海","杭州","深圳"};
		jcb1 = new JComboBox(jg);
		
		String []jd = {"故宫","长城","长白山","庐山","龙虎山","武功山"};
		jlist = new JList(jd);
		//设置显示的个数
		jlist.setVisibleRowCount(3);
		jsp = new JScrollPane(jlist);
		
		this.setLayout(new GridLayout(2,1));
		jp1.add(jlb1);
		jp1.add(jcb1);
		
		jp2.add(jlb2);
		jp2.add(jsp);
		
		this.add(jp1);
		this.add(jp2);
		
		// 框架
		this.setTitle("多个流式布局"); // 设置主题
		this.setSize(300, 150); // 设置框体大小
		this.setLocation(400,150); //设置框体显示的位置
		// 禁止用户改变窗体大小
		this.setResizable(false);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置框体退出
		this.setVisible(true); // 显示框体
		
		
	}
	public static void main(String[] args) {
		frame8 f = new frame8();
	}
}

package 图形;

import java.awt.*;
import javax.swing.*;

public class frame9 extends JFrame{
	JLabel jlb1; // 标题
	JList jlist;  // 列表框架
	JSplitPane jsp; //拆分方格
	public frame9() {
		String []words = {"boy","gild","man","wonman"}; // 单词表
		jlist = new JList(words);
		jlb1 = new JLabel(new ImageIcon("image/2013-10-25-19.jpg")); // 插入图片
		
		jsp = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,jlist,jlb1); // 拆分布局
		//收缩
		jsp.setOneTouchExpandable(true);
		
		// 添加组件
		this.add(jsp);
		this.setTitle("多个流式布局"); // 设置主题
		this.setSize(500, 300); // 设置框体大小
		this.setLocation(400,150); //设置框体显示的位置
		// 禁止用户改变窗体大小
		//this.setResizable(false);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置框体退出
		this.setVisible(true); // 显示框体
		
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		frame9 f = new frame9();
	}

}

package 图形;
import java.awt.*;
import javax.swing.*;

public class frame10 extends JFrame{
	JTextArea jta; // 文本
	JPanel jp1;
	JScrollPane jsp; //滚动布局
	JComboBox jcb1; 
	JTextField jtf; 
	JButton jb1;
	public frame10() {
		// TODO Auto-generated constructor stub
		jta = new JTextArea();
		jp1 = new JPanel();
		jsp = new JScrollPane(jta);
		String []jg = {"北京","上海","杭州","深圳"};
		jcb1 = new JComboBox(jg);
		jtf = new JTextField(10);
		jb1 = new JButton("发送");
		设置布局
		添加组件
		jp1.add(jcb1);
		jp1.add(jtf);
		jp1.add(jb1);
		
		this.add(jsp);
		this.add(jp1,BorderLayout.SOUTH);
		
		
		this.setTitle("多个流式布局"); // 设置主题
		this.setSize(500, 300); // 设置框体大小
		this.setLocation(400,150); //设置框体显示的位置
		this.setIconImage(new ImageIcon("image/图片.jpg").getImage());
		// 禁止用户改变窗体大小
		//this.setResizable(false);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置框体退出
		this.setVisible(true); // 显示框体
	
	}
	public static void main(String[] args) {
		frame10 f = new frame10();
	}
}

package 图形;
import java.awt.*;
import java.awt.image.ImageObserver;
import java.awt.image.ImageProducer;
import java.util.concurrent.BrokenBarrierException;

import javax.swing.*;
public class frame11 extends JFrame{
	//北部区域
	JLabel jl1;
	
	//南部区域
	JButton jb1,jb2,jb3;
	JPanel jp1;
	
	//中间区域
	JTabbedPane jtp; //选项卡格
	JPanel jp2,jp3,jp4;
	JLabel jl2,jl3,jl4,jl5;
	JTextField jtf; // 文本框
	JPasswordField jpf; // 密码框
	JButton jb4; // 清除内容按钮
	JCheckBox jcb1,jcb2; // 选项
	
	public frame11() {
		jl2 = new JLabel("QQ号码",JLabel.CENTER);
		jl3 = new JLabel("QQ密码",JLabel.CENTER);
		jl4 = new JLabel("忘记密码",JLabel.CENTER);
		jl4.setFont(new Font("宋体", Font.PLAIN, 16));
		jl4.setForeground(Color.BLUE);
		jl5 = new JLabel("<html><a href='www.qq.com'>申请密码保护</a></html>");
		jl5.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
		
		jtf = new JTextField();
		jpf = new JPasswordField();
		jb4 = new JButton("清除");
		jcb1 = new JCheckBox("隐身登入");
		jcb2 = new JCheckBox("记住密码");
		
		// 北部区域
		jl1 = new JLabel(new ImageIcon("image/2013-10-25-19.jpg"));
		
		// 南部区域
		jp1 = new JPanel();
		jb1 = new JButton("登陆");
		jb2 = new JButton("取消");
		jb3 = new JButton("向导");
		
		// 中间区域
		jtp = new JTabbedPane();
		jp2 = new JPanel();
		jp3 = new JPanel();
		jp3.setBackground(Color.RED);
		jp4 = new JPanel();
		jp4.setBackground(new Color(0,0,255));
		// 将面板添加到卡格上
		jtp.add("QQ号码",jp2);
		jtp.add("手机号码",jp3);
		jtp.add("电子邮箱",jp4);	
		
		// 布局
		jp2.setLayout(new GridLayout(3,3));
		// 添加组件
		jp1.add(jb1);
		jp1.add(jb2);
		jp1.add(jb3);
		
		jp2.add(jl2);
		jp2.add(jtf);
		jp2.add(jb4);
		jp2.add(jl3);
		jp2.add(jpf);
		jp2.add(jl4);
		jp2.add(jcb1);
		jp2.add(jcb2);
		jp2.add(jl5);
		
		this.add(jp1,BorderLayout.SOUTH);
		this.add(jl1,BorderLayout.NORTH);
		this.add(jtp,BorderLayout.CENTER);
		
		this.setTitle("多个流式布局"); // 设置主题
		this.setSize(450, 550); // 设置框体大小
		this.setLocation(400,150); //设置框体显示的位置
		this.setIconImage(new ImageIcon("image/图片.jpg").getImage());
		// 禁止用户改变窗体大小
		//this.setResizable(false);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置框体退出
		this.setVisible(true); // 显示框体
		
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		frame11 f = new frame11();
	}

}

package 图形;
import java.awt.*;

import javax.swing.*;

public class frame12 extends JFrame{
	JMenuBar jmb;
	JMenu menu1,menu2,menu3,menu4,menu5;
	JMenuItem itme1,itme2,itme3,itme4,itme5;
	JMenu xinjian; // 二级菜单
	JMenuItem file,project;
	JTextArea jta; // 文本
	JToolBar jtb; // 工具条
	JButton jb1,jb2,jb3,jb4,jb5;
	
	public frame12() {
		jtb = new JToolBar(); // 工具条
		jb1 = new JButton("保存");
		jb1.setToolTipText("保存");
		
		jb2 = new JButton("打开");
		jb2.setToolTipText("打开");
		
		jb3 = new JButton("另存为");
		jb3.setToolTipText("另存为");
		
		jb4 = new JButton("属性");
		jb4.setToolTipText("属性");
		
		jb5 = new JButton("关闭");
		jb5.setToolTipText("关闭");
		
		jmb = new JMenuBar(); //菜单栏
		menu1 = new JMenu("文件(F)");
		menu1.setMnemonic('F');
		
		menu2 = new JMenu("编辑");
		menu2.setMnemonic('F');
		
		menu3 = new JMenu("格式(O)");
		menu3.setMnemonic('O');
		
		menu4 = new JMenu("查看(V)");
		menu4.setMnemonic('V');
		
		menu5 = new JMenu("帮助(H)");
		menu5.setMnemonic('H');
		
		//itme1 = new JMenuItem("新建");
		xinjian = new JMenu("新建");
		file = new JMenuItem("文件");
		project = new JMenuItem("工程");
		
		itme2 = new JMenuItem("保存(S)");
		itme2.setMnemonic('S');
		
		itme3 = new JMenuItem("另存为");
		itme4 = new JMenuItem("打开");
		itme5 = new JMenuItem("关闭");
		
		// 设置布局
		// 将按钮添加到组件上
		
		jtb.add(jb1);
		jtb.add(jb2);
		jtb.add(jb3);
		jtb.add(jb4);
		jtb.add(jb5);
		
		xinjian.add(file);
		xinjian.add(project);
		
		menu1.add(xinjian);
		menu1.add(itme2);
		menu1.add(itme3);
		menu1.add(itme4);
		menu1.add(itme5);
		
		jmb.add(menu1);
		jmb.add(menu2);
		jmb.add(menu3);
		jmb.add(menu4);
		jmb.add(menu5);
		jta = new JTextArea();
		
		JScrollPane jsp = new JScrollPane(jta);
		jsp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
		
		
		this.setJMenuBar(jmb);
		this.add(jtb,BorderLayout.NORTH);
		
		this.add(jsp);
		
		this.setTitle("记事本"); // 设置主题
		this.setSize(300, 150); // 设置框体大小
		this.setLocation(400,150); //设置框体显示的位置
		// 禁止用户改变窗体大小
		//this.setResizable(false);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置框体退出
		this.setVisible(true); // 显示框体
		
		
		
	}
	public static void main(String[] args) {
		frame12 f = new frame12(); 
	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值