关于布局管理器: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方法用来初始化jtpublic void setJT(JTextField jt1){this.jt1=jt1;}//检测到按钮被点击自动计入到这个函数,此函数是ActionListener类的方法@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stub//获取文本框里面的字符串String password =jt1.getText();//验证if("svip000".equal(password)) {//成功登录界面}else {//登录失败界面}}
}

JAVAswing编写界面相关推荐

  1. 编写脚本电脑怎么编写界面_在任何无法理解的情况下,请编写脚本

    编写脚本电脑怎么编写界面 脚本编写是使您的应用程序在运行时就可根据客户需求进行调整的最流行的方法之一. 与往常一样,此方法不仅带来好处,例如,在灵活性和可管理性之间存在众所周知的折衷方案. 本文不是从 ...

  2. PyQt 6(二) 亲手编写界面

    文章目录 前提概要 本文内容 资源概览 如何找到自己需要的组件类 用户体验 PyQt 系列 前提概要 PyQt 6 (一) 最强大的python客户端界面 文章讲述了,PyQt是什么,介绍PyQt的主 ...

  3. MATLAB编写界面实战-一款优良的二维非结构化网格生成软件

    主核调用c语言编写的delaucy非结构化网格生成器,采用Matlab编写界面,界面代码如下: %--------------------------------------------------- ...

  4. c语言编写界面图形表示,「分享」C语言如何编写图形界面

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 贴吧内经常有人问C语言是不是只能用于字符终端界面开发,不能用于图形界面.大家也都有回答,需要其他的库.MFC,GTK,QT. 本人近期刚用GTK库加上纯C ...

  5. 用c语言编写界面,「分享」C语言如何编写图形界面

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 贴吧内经常有人问C语言是不是只能用于字符终端界面开发,不能用于图形界面.大家也都有回答,需要其他的库.MFC,GTK,QT. 本人近期刚用GTK库加上纯C ...

  6. python tkinter编写界面,使用win32com操作excel获取数据生成截图后,wxpy登录微信,给租客发送房租(三)

    tkinter界面: 这部分很大坨,不过跟上部分一样,代码里备注得很完整了,慢慢消化就能看得懂了!! 操作步骤: 运行程序后, 1.先点击"获取房租信息"按钮,所有租客该月的房租信 ...

  7. python tkinter编写界面,使用win32com操作excel获取数据生成截图后,wxpy登录微信,给租客发送房租(一)

    家里有几个单间出租,可是每到月头收房租就是件麻烦事,挨个挨个去收,对方有时候不在,或者说还没出粮,过几天再给,又或者没到时间,太麻烦了,而且还得写收据,学了python这么久,自己来写个GUI,用ex ...

  8. java五子棋页面设计编程_Java程序设计:五子棋(一)——编写界面

    1.界面的预处理与刷新 我们要绘制五子棋棋盘,首先必须明确一点:不管我们在棋盘上怎么操作,棋盘的网格线是不可能改变的.无论是下棋,悔棋,网格线都会在那.故而我们应该知道,要想网格线始终存在,我们需要在 ...

  9. WPF编写界面代码快速换行

    在用WPF进行界面语言编写的时候经常会要换行的时候需要点方向键 十分不方便!!!! 在这里提供两个快键键实现快速换行! ctrl + Enter 向上换行 ctrl + shift + Enter 向 ...

最新文章

  1. 我今天的收获,必备stadio 插件
  2. 异常详细信息: System.Web.HttpException: 请求在此上下文中不可用
  3. oracle rac应急_ORACLE紧急情况检查应急预案
  4. 理解Spark的核心RDD
  5. android 模拟器Genymotion的安装和使用
  6. Apache Storm:如何使用Flux配置KafkaBolt
  7. python最简分数_1062 最简分数 Python实现
  8. linux下安装mysql5.7方法与常见问题
  9. Lovesource博士:或者我是如何学会不再担心和热爱开放的
  10. WSL2:docker中ubuntu18.04编译webRTC
  11. CF960G Bandit Blues 分治+NTT(第一类斯特林数)
  12. 【2022版】 Kafka面试题整理(含答案解析)
  13. p6spy mysql8_druid数据源集成p6spy踩坑
  14. 家有千金之冰糖绿豆汤
  15. KVM实验一 pepsi-wyl
  16. 【华为OD机试真题 JS】两数之和绝对值最小
  17. 腾讯2018秋招笔试真题-小Q的歌单
  18. dcb模式(dcb模式)
  19. 腾讯云对象存储的完整教程,java将文件上传到腾讯云上后返回可以访问的连接
  20. word标尺灰色_如何在Microsoft Word中使用标尺

热门文章

  1. Oracle----Orcacle简介
  2. FLIR Brickstream 力天创见客流方案
  3. orientdb实战
  4. Java 程序员开发常用的工具
  5. 会声会影2023专业旗舰版新功能介绍
  6. 没有微信和QQ,用记事本也能在线聊天
  7. “有钱了”的理想汽车,能否拿下自动驾驶赛道入场券?
  8. Pytest学习笔记(15)-allure之@allure.epic()、@allure.feature()和@allure.story()
  9. BeautifulSoup中find和find_all的使用
  10. 查看僵尸进程并杀掉僵尸进程