JAVAswing编写界面

关于布局管理器:Java Swing布局管理器(详解版)在使用 Swing 向容器添加组件时,需要考虑组件的位置和大小。如果不使用布局管理器,则需要先在纸上画好各个组件的位置并计算组件间的距离,再向容器中添加。这样虽然能够灵活控http://c.biancheng.net/view/1212.html

在图形编程中,将不同的控件按区域排列用BorderLayout布局管理器

让控件自动排列并保持大小用FlowLayout布局管理器

让控件按相同大小排列用GridLayout布局管理器

一次只有一个控件可见的布局管理器是CardLayout

    三种布局:

流式布局(FlowLayout)    从左往右顺序放。

边界布局(BorderLayout) 上下左右中放。

网格布局(GridLayout)划分区域布局。

卡片布局(CardLayout)    每次只有一个组件可见。 

  

窗口关闭 setDefaultCloseOperation的四种关闭方式的区别             

点击窗口右上角关闭,四种关闭方式
1.this.setDefaultCloseOperation(0);

DO_NOTHING_ON_CLOSE,(在你点击关闭按钮的时候,不会被关闭,)不执行任何操作。

2.this.setDefaultCloseOperation(1);

HIDE_ON_CLOSE,(当你点击关闭按钮的时候,不会释放内存,只是隐藏该界面,没有真正的关闭,还占有资源)只隐藏界面,setVisible(false)。

3.this.setDefaultCloseOperation(2);

DISPOSE_ON_CLOSE,点击关闭按钮的时候,隐藏并释放窗体,dispose(),当最后一个窗口被释放后,则程序也随之运行结束。

4.this.setDefaultCloseOperation(3);

EXIT_ON_CLOSE,直接关闭应用程序,System.exit(0)。一个main函数对应一整个程序。

主函数如下:

​

package java界面的学习;

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


public class Login {
//main函数
	public static void main(String []args) {
		Login lo =new Login();
		lo.showUI();
	}
	public void showUI() {
	//窗体类
		JFrame jf =new JFrame(); 
	//窗体名字
		jf.setTitle("登录界面");
	//窗体大小
		jf.setSize(800,500);//(长,高)
	//设置窗体背景颜色
		//getContentPane()为提取面板,java中窗体背景会被面板覆盖
		jf.getContentPane().setBackground(Color.orange);
	//设置关闭方式
		jf.setDefaultCloseOperation(3);
	//设置窗体居中
		jf.setLocationRelativeTo(null);
	//流式布局管理器
		FlowLayout flow =new FlowLayout();
		jf.setLayout(flow);
	
	
	//图片
		ImageIcon icon = new ImageIcon("C:\\Users\\烨\\eclipse-workspace\\java界面的学习\\src\\java界面的学习\\MZ.png");
	//标签
		JLabel jla =new JLabel(icon);//创建一个标签
		Dimension dm0 =new Dimension(800,300);//创建一个容器
		//设置大小
		jla.setPreferredSize(dm0);
		jf.add(jla);
		
		//文字标签
		jf.add(new JLabel("                             "));
		JLabel p = new JLabel("密码"); 
		Dimension dmm1 =new Dimension(40,30);
		p.setPreferredSize(dmm1);
		p.setFont(new Font("微软雅黑", Font.BOLD, 20));//设置字体大小
		p.setForeground(Color.BLUE);//设置字体颜色
		jf.add(p);
		
		
	//文本框	
		JTextField jtf =new JTextField();
		Dimension dm1 =new Dimension(280,30);
		jtf.setPreferredSize(dm1);
		jf.add(jtf);
		
		
	//复选框
		JCheckBox jcb1 =new JCheckBox("记住密码");
		jf.add(jcb1);
		JCheckBox jcb2 =new JCheckBox("忘记密码");
		jf.add(jcb2);
	
		
	//按钮	
		JButton jbu = new JButton ("登录");
		Dimension dm2 =new Dimension(100,40);
		jbu.setPreferredSize(dm2);
		//换行
		jf.add(new JLabel("                                                  "));
		jf.add(jbu);
	
		
	//创建监听器
		ButListener P =new ButListener();
	//把监听器加在登录按钮上	
		jbu.addActionListener(P);
	//接收文本框内内容	
		P.setJT(jtf);
		
	//设置窗体可见	
		jf.setVisible(true);
	}
}

[点击并拖拽以移动]
​

(注意我并未编写登录成功界面,编写流程如上主函数代码)

监听器类如下:

package java界面的学习;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JTextField;
//ActionListener里面有函数可以直接检测按钮是否被点击
public class ButListener implements ActionListener {
//定义JTextField变量来储存传递过来的文本框对象
	private JTextField jt1;
//定义set方法用来初始化jt
	public void setJT(JTextField jt1){
		this.jt1=jt1;
	}

	
	//检测到按钮被点击自动计入到这个函数,此函数是ActionListener类的方法
	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		//获取文本框里面的字符串
		String password =jt1.getText();
		//验证
		if("svip000".equal(password)) {
			//成功登录界面
		}
		else {
			//登录失败界面
		}
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值