JAVAswing编写界面

JAVAswing编写界面,第1张

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"==password) {
			//成功登录界面
		}
		else {
			//登录失败界面
		}
	}
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5706955.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存