当前位置: 首页 > web >正文

【JavaGUI】


GUI的概念


● GUI(Graphical User Interface)即图形用户界面,是指采用图形方
式显示的用户界面,与早期计算机使用的命令行界面相比,图形界面对
于用户来说在视觉上更易于接受


常用容器和布局管理器


import javax.swing.*;
import java.awt.*;public class LoginFrame extends JFrame {public LoginFrame(){//在构造方法中对创建的窗口特征进行设置this.setSize(300,300);//设置窗口大小this.setTitle("欢迎登录");//设置标题//this.setLocation(500,200);//设置窗口位置this.setLocationRelativeTo(null);//设置窗日水平要直居中this.setResizable(false);//设置简门不可以调整大小this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关阿窗口选项 EXIT_ON_CLOSE-关闭窗口时,程序退出运行/*创建面板面板可以设置布局管理器流式布局组件在面板上从左到右排列,一行占满重新换行*//*JPanel jPanel = new JPanel();jPanel.setBackground(new Color(100, 24, 33, 72));//创建一个功能组件 按钮组件JButton jButton = new JButton("点击查看八嘎思密达滴干活");//把按钮添加到面板上jPanel.add(jButton);*//*JPanel jPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));JButton jButton1 = new JButton("按钮1");JButton jButton2 = new JButton("按钮2");JButton jButton3 = new JButton("按钮3");JButton jButton4 = new JButton("按钮4");jPanel.add(jButton1);jPanel.add(jButton2);jPanel.add(jButton3);jPanel.add(jButton4);*///边界布局/*JPanel jPanel = new JPanel(new BorderLayout());JButton jButton1 = new JButton("按钮1");JButton jButton2 = new JButton("按钮2");JButton jButton3 = new JButton("按钮3");JButton jButton4 = new JButton("按钮4");jPanel.add(jButton1,BorderLayout.CENTER);jPanel.add(jButton2,BorderLayout.SOUTH);jPanel.add(jButton3,BorderLayout.WEST);jPanel.add(jButton4,BorderLayout.NORTH);*///网格布局JPanel jPanel = new JPanel(new GridLayout(4,1));JButton jButton1 = new JButton("按钮1");JButton jButton2 = new JButton("按钮2");JButton jButton3 = new JButton("按钮3");JButton jButton4 = new JButton("按钮4");jPanel.add(jButton1);jPanel.add(jButton2);jPanel.add(jButton3);jPanel.add(jButton4);//把面板添加到窗口上this.add(jPanel);this.setVisible(true);//让窗口显示出来,放在设置的最后一行}public static void main(String[] args){new LoginFrame();//创述一个窗日}
}

在这里插入图片描述


常用组件


import javax.swing.*;
import java.awt.*;public class LoginFrame_back1 extends JFrame {public LoginFrame_back1(){//在构造方法中对创建的窗口特征进行设置this.setSize(300,300);//设置窗口大小this.setTitle("欢迎登录");//设置标题//this.setLocation(500,200);//设置窗口位置this.setLocationRelativeTo(null);//设置窗日水平要直居中this.setResizable(false);//设置简门不可以调整大小this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关阿窗口选项 EXIT_ON_CLOSE-关闭窗口时,程序退出运行/*创建面板面板可以设置布局管理器流式布局组件在面板上从左到右排列,一行占满重新换行*//*JPanel jPanel = new JPanel();jPanel.setBackground(new Color(100, 24, 33, 72));//创建一个功能组件 按钮组件JButton jButton = new JButton("点击查看八嘎思密达滴干活");//把按钮添加到面板上jPanel.add(jButton);*//*JPanel jPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));JButton jButton1 = new JButton("按钮1");JButton jButton2 = new JButton("按钮2");JButton jButton3 = new JButton("按钮3");JButton jButton4 = new JButton("按钮4");jPanel.add(jButton1);jPanel.add(jButton2);jPanel.add(jButton3);jPanel.add(jButton4);*///边界布局/*JPanel jPanel = new JPanel(new BorderLayout());JButton jButton1 = new JButton("按钮1");JButton jButton2 = new JButton("按钮2");JButton jButton3 = new JButton("按钮3");JButton jButton4 = new JButton("按钮4");jPanel.add(jButton1,BorderLayout.CENTER);jPanel.add(jButton2,BorderLayout.SOUTH);jPanel.add(jButton3,BorderLayout.WEST);jPanel.add(jButton4,BorderLayout.NORTH);*///网格布局JPanel jPanel = new JPanel(new FlowLayout());//标签组件,可以放文字JLabel label = new JLabel("账号");label.setFont(new Font("楷体", Font.BOLD,20));//设置字体//创建输入框组件JTextField jTextField = new JTextField(15);jTextField.getText();//获得输入框内容JLabel label1 = new JLabel("密码");//创建密码框JPasswordField jPasswordField = new JPasswordField(15);String password = new String(jPasswordField.getPassword());//获取密码jPanel.add(label);jPanel.add(jTextField);jPanel.add(label1);jPanel.add(jPasswordField);//把面板添加到窗口上this.add(jPanel);this.setVisible(true);//让窗口显示出来,放在设置的最后一行}public static void main(String[] args){new LoginFrame_back1();//创述一个窗日}
}

在这里插入图片描述

import javax.swing.*;
import java.awt.*;public class LoginFrame_back1 extends JFrame {public LoginFrame_back1(){//在构造方法中对创建的窗口特征进行设置this.setSize(300,300);//设置窗口大小this.setTitle("欢迎登录");//设置标题//this.setLocation(500,200);//设置窗口位置this.setLocationRelativeTo(null);//设置窗日水平要直居中this.setResizable(false);//设置简门不可以调整大小this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关阿窗口选项 EXIT_ON_CLOSE-关闭窗口时,程序退出运行//创建菜单栏JMenuBar jMenuBar = new JMenuBar();//创建菜单JMenu jMenu1 = new JMenu("文件");JMenu jMenu2 = new JMenu("编辑");JMenu jMenu3 = new JMenu("帮助");//创建菜单选项JMenuItem jMenuItem1 = new JMenuItem("新建");JMenuItem jMenuItem2 = new JMenuItem("保存");JMenuItem jMenuItem3 = new JMenuItem("关于我们");jMenu1.add(jMenuItem1);jMenu1.add(jMenuItem2);jMenu3.add(jMenuItem3);jMenuBar.add(jMenu1);jMenuBar.add(jMenu2);jMenuBar.add(jMenu3);this.setJMenuBar(jMenuBar);//把菜单栏添加到窗口上/*创建面板面板可以设置布局管理器流式布局组件在面板上从左到右排列,一行占满重新换行*//*JPanel jPanel = new JPanel();jPanel.setBackground(new Color(100, 24, 33, 72));//创建一个功能组件 按钮组件JButton jButton = new JButton("点击查看八嘎思密达滴干活");//把按钮添加到面板上jPanel.add(jButton);*//*JPanel jPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));JButton jButton1 = new JButton("按钮1");JButton jButton2 = new JButton("按钮2");JButton jButton3 = new JButton("按钮3");JButton jButton4 = new JButton("按钮4");jPanel.add(jButton1);jPanel.add(jButton2);jPanel.add(jButton3);jPanel.add(jButton4);*///边界布局/*JPanel jPanel = new JPanel(new BorderLayout());JButton jButton1 = new JButton("按钮1");JButton jButton2 = new JButton("按钮2");JButton jButton3 = new JButton("按钮3");JButton jButton4 = new JButton("按钮4");jPanel.add(jButton1,BorderLayout.CENTER);jPanel.add(jButton2,BorderLayout.SOUTH);jPanel.add(jButton3,BorderLayout.WEST);jPanel.add(jButton4,BorderLayout.NORTH);*///网格布局JPanel jPanel = new JPanel(new FlowLayout());//标签组件,可以放文字JLabel label = new JLabel("账号");label.setFont(new Font("楷体", Font.BOLD,20));//设置字体//创建输入框组件JTextField jTextField = new JTextField(15);jTextField.getText();//获得输入框内容JLabel label1 = new JLabel("密码");//创建密码框JPasswordField jPasswordField = new JPasswordField(15);String password = new String(jPasswordField.getPassword());//获取密码jPanel.add(label);jPanel.add(jTextField);jPanel.add(label1);jPanel.add(jPasswordField);//把面板添加到窗口上this.add(jPanel);this.setVisible(true);//让窗口显示出来,放在设置的最后一行}public static void main(String[] args){new LoginFrame_back1();//创述一个窗日}
}

在这里插入图片描述


事件处理


//为组件添加监听 及 事件处理程序jMenuItem3.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {System.out.println("记事本V1.0");}});/*new 接口抽象类 不是new接囗/抽象类的对象java为了简化语法,为接口和抽象类提供了一个医名的类来实现维承他们*/jMenuItem2.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {System.out.println(jTextField.getText());}});}public static void main(String[] args){new LoginFrame_back1();//创述一个窗日}
}
http://www.xdnf.cn/news/2596.html

相关文章:

  • 边缘函数:全栈开发的最后1毫秒性能革命
  • MQTT - MQTT 实践(Windows EMQX、MQTTX、客户端认证、连接与主题)
  • ES练习册
  • Java多线程实现顺序执行
  • [计算机科学#3]:布尔逻辑 (计算机数学基础)
  • Python第三周作业
  • 语音合成之八-情感化语音合成的演进路线
  • [ECCV 2024]UMBRAE: Unified Multimodal Brain Decoding
  • 赞奇AIknow是什么?
  • 2025年8月PMP考试费用上涨?8月PMP考试费用解析!
  • 电力系统失步解列与振荡解析
  • 基于知识库的智能客户服务工具
  • Tailwind CSS 实战:基于 Kooboo 构建企业官网页面(二)
  • runtimeChunk的作用
  • Servlet (简单的servlet的hello world程序)
  • SAP-pp 怎么通过底表的手段查找BOM的全部ECN变更历史
  • 小红书笔记详情API接口概述及JSON数据返回参考
  • element通过业务按钮点击导入,调用el-upload的导入方法
  • Redis缓存问题的深度解析与解决方案
  • c++的匿名函数捕获
  • 代码小优化
  • Babel、core-js、Loader之间的关系和作用全解析
  • 人类社会的第四阶段
  • 【C语言练习】006. 编写条件语句处理不同情况
  • Spring中生成Bean的方式总结-笔记
  • Customizing Materials Management with SAP ERP Operations
  • Spark-Streaming核心编程内容总结
  • CSS布局实战:Flexbox 与 Grid 精髓解析
  • ecovadis认证评估标准?ecovadis审核目的?
  • 网络安全厂商F5荣登2025 CRN AI 100榜单,释放AI潜力