java swing container_Java Swing GUI学习(一)
1.GUI组件的左上角坐标默认为(0,0)
2.从左上角到右下角,水平坐标x与垂直坐标y增加
也就是说其坐标系如下
——————————————————————>x
|
|
|
|
|
|
|
|
y
3.坐标的单位是像素
在执行paint方法时,系统会传递一个指向特定平台的Graphics子类的图形对象g
Graphics2D是Graphics的抽象子类
Swing组件实在原来AWT组件上扩展而来的
JButton
JCheckBox
JScrollbar
都是JComponent类的子类
Component类
包含paint,repaint类,可以在屏幕上绘制组件
Container类
容纳相关组件
包括add方法,用来添加组件
包括setLayout方法,用来设置布局
顶层容器(JFrame,JDialog,JApplet)
JFrame
主窗口
JFrame(String title);
JFrame f1=new JFrame(String title);
创建一个标题为title的主窗口
JDialog
JApplet
————————————————————————————————————
中间层容器(一般用途,特殊用途)
一般用途
JPanel
JScrollPane
JSplitPane等
特殊用途
JPanel
JPanel j1=new JPanel();
默认使用FlowLayout布局
JScrollPane
JToolBar
工具栏
————————————————————————————————————
原子组件
JButton
按钮组件
JButton button = new JButton("按钮名称");
JLabel
显示文本的组件
JLabel label = new JLabel("文本标签显示内容");
TextArea
TextArea ta=new TextArea("输入区域默认内容");
JTextField
用于输入的文本域
JTextField useText = new JTextField(20);
参数为column数
JPasswordField
和输入文本域类似,,但是输入的信息会以.代替,保证密码(password)的安全性
JMenuBar
菜单条
JMenuBar jb=new JMenuBar();
————————————————————————————————————
布局
example:
setLayout(new FlowLayout());
f.setLayout(new FlowLayout());
BorderLayout
FlowLayout
JPanel默认使用的布局管理器,只是简单地把组件放在一行,若容器不足够容纳所有组件,则新起一行
GridLayout
按照指定的行数和列数将界面分成格子
BoxLayout
将组件放在单一的列或行中
SpringLayout
能够精确指定组件之间的间距
CardLayout
内部类可以非常方便的编写事件驱动程序
————————————————————————————————————
事件处理
鼠标移动,单双击鼠标各个按钮,单击按钮等等
Swing通过事件对象来包装事件
事件源
与用户进行交互的GUI组件,表示事件来自于哪个组件或者对象
事件监听器
负责监听事件并作出响应
一个事件源可以注册多个事件监听器,每个监听器又可以对多种事件进行响应
通过事件源的addxxxListener方法被注册到某个事件源上
要实现事件监听器接口就要实现接口中所有的方法,即便是一对空的花括号也要写,即空方法体也要写
如果有Adapter适配器类,那就不需要写空方法体,因为空方法体已经提前实现好了
事件对象
封装了有关已发生的事件的信息
ActionEvent
发生在按下按钮,选择了一个项目,在文本框中按下回车键
ItemEvent
ChangeEvent
————————————————————————————————————
零散实用
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
设置程序默认关闭功能
f.setSize(350,200);
第一个参数为宽度width,第二个参数为高度height
f.setVisible(true);
设置界面可见
java swing container_Java Swing GUI学习(一)相关推荐
- 基于java+mysql的Swing+MySQL图书管理系统(java+swing+gui+mysql)
基于java+mysql的Swing+MySQL图书管理系统(java+swing+gui+mysql) 运行环境 Java≥8.MySQL≥5.7 开发工具 eclipse/idea/myeclip ...
- 基于java+mysql的Swing+MySQL物业收费系统(java+gui+文档)
基于java+mysql的Swing+MySQL物业收费系统(java+gui+文档) 运行环境 Java≥8.MySQL≥5.7 开发工具 eclipse/idea/myeclipse/sts等均可 ...
- Java 中的 Swing 框架现在是不是被淘汰了?
关于java中的Swing框架,我先说下如下的观点. 1 只要是用java开发的商业项目,就指着来挣钱的项目,都不会用Swing框架. 2 所以对java初学者来说,根本没必要学swing,甚至连类似 ...
- Java语言-概念-Swing概述
1.Swing结构体系 Java语言提供两个处理图形用户界面的类库:java.awt包和javax.swing包. Swing是在AWT(Abstract Window Toolkit,抽象窗口工具包 ...
- Java案例:Swing常用组件演示
文章目录 一.Swing (一)Swing概述 (二)Swing与AWT的关系 (三)Swing组件继承关系图 二.Swing常用组件演示 (一)运行效果 (二)涉及知识点 (三)实现步骤 1.创建J ...
- Java中的Swing概述
一.Swing特点 每个平台的GUI组件的显示会有所不同,但是在不同平台上运行使用Swing开发的应用程序时,就可以统一GUI组件的显示风格,因为Swing组件允许编程人员在跨平台时指定统一的外观和风 ...
- 基于java+mysql的Swing+MySQL火车票售票管理系统
基于java+mysql的Swing+MySQL火车票售票管理系统 运行环境 Java≥8.MySQL≥5.7 开发工具 eclipse/idea/myeclipse/sts等均可配置运行 适用 课程 ...
- (JAVA)使用swing组件模仿QQ界面+网络编程实现QQ消息传输
直接贴当时的实验报告吧. 1.课程题目 模仿腾讯QQ实现一个即时聊天软件,可以进行好友管理以及私聊等功能. 1.1功能性分类 功能类别 功能名称.标识符 描述 用户信息 用户登陆 用户登陆 用户注册 ...
- java翻转棋swing翻转棋黑白棋毕业设计期末作业
毕设设计项目网站:http://www.houxinhong.top/ 本项目采用java语言的swing技术进行编写,棋盘中的格子有四种状态,状态1是空格,状态2是黑色圆形,状态3是白色圆形,状态四 ...
最新文章
- [转][自勉]程序员困境:底层编码能力正逐步丧失
- retinaface 训练笔记
- 网易云信助春招上“云” ,疫情过后线上招聘或成常态
- HBase应用笔记:通过Java Api与HBase交互(转自 Taobao QA Team)
- java退出不报异常_如何优雅的处理异常(java)?
- java8 从数组获取流_从数组到流再到Java 8
- 多元有序logistic回归_R语言多元Logistic逻辑回归 应用案例
- CentOS Apache服务器配置https
- 文献笔记5 review on RS Hydrology
- python识别字符串码置_python 字符串内置方法整理
- 联通发布沃Phone,全球为之震动
- 在VR里弹空气吉他?开发者:手势优化有技巧
- 白宁超计算机科学院,基于主动学习的传统中医症状本体构建方法研究综述.PDF...
- 思科认证入门级课程介绍(二)
- linux java定时关机,Linux定时关机
- centos7 split 切割文件_CentOS下split分割文件命令实例
- Win8的Metro界面
- EOS技术白皮书(中文版)
- iOS中使用c函数快速获取一个目录所占的空间大小
- 打起性价比攻防战,蔚来ET5破圈有望,却难掀起蝴蝶效应