JavaSwing基础
JavaSwing的基础知识
小鑫-Chen
持之以恒
展开
-
11 文件选择对话框 & 文件数据存取
文件选择对话框JFileChooser,文件选择对话框用于打开系统文件对话框,选择文件或目录。区分:showOpenDialog() 与 showSaveDialog()showOpenDialog():当需要打开一个文件时(读文件),需要选择有一个现有的文件showSavaDialog():当你需要写入一个文件时(写文件),需要指定文件的保存路径,该文件可能尚不存在代码:import java.awt.FlowLayout;import java.awt.event.ActionE原创 2021-03-25 14:21:36 · 276 阅读 · 0 评论 -
11右键菜单 & 对话框 & 对话框的阻塞
右键菜单右键菜单,JPopupMenu,即弹出式菜单、上下文菜单右键点击某个控件,根据上下文弹出一个菜单。创建顺序:创建 JPopupMenu添加 JMenuItem添加鼠标右键的响应,显示菜单窗口菜单项被点击时,执行事件处理。...原创 2021-01-13 19:32:05 · 181 阅读 · 0 评论 -
11 菜单栏 & 工具栏
菜单栏代码:class MyFrame extends JFrame{ public MyFrame(String title) { super(title); JPanel root = new JPanel(); this.setContentPane(root); //添加菜单 JMenuBar menuBar = new JMenuBar(); this.setJMenuBar(menuBar); //菜单文件 JMenu fileMenu原创 2021-01-13 16:29:52 · 140 阅读 · 0 评论 -
10 鼠标涂鸦(小项目)
鼠标涂鸦Demo.javapackage my;import javax.swing.JFrame;public class Demo { public static void main(String[] args) { MyFrame frame = new MyFrame("title"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(300, 300); frame.setVi原创 2021-01-13 11:14:32 · 131 阅读 · 1 评论 -
10 鼠标事件
鼠标事件鼠标事件 MouseEvent,包括以下动作:mouseClicked //鼠标点击mousePressed //鼠标按下mouseReleased //鼠标抬起mouseEntered //鼠标移入mouseExited //鼠标移除mouseMove //鼠标移动mouseDragged //鼠标拖拽mouseWheelMoved //鼠标滚轮所有动作分为三类监听器:addMouseListener() //点击、按下、抬起、移入、原创 2021-01-13 11:07:52 · 234 阅读 · 0 评论 -
9 绘制图片 & 锁定长宽比 & 图片缩放工具 & 图片显示控件
绘制图片java.awt.Image,描述一个图像数据Graphics 里提供若干个 drawImage(),用于绘制图片drawImage(Image img, int x, int y, int width, int height, ImageObserver observer);其中 x, y, width, height 为目标区域,observer 为通知接收者(画图片需要时间,画完了通知一下)图片的准备:支持 jpg / jpeg / png 的格式资源文件,或本地文件使用原创 2021-01-11 20:59:46 · 232 阅读 · 0 评论 -
8 RGB颜色表示 & 绘制几何图形
RGB颜色表示RGB,是一种颜色空间 ColorSpace指定红、绿、蓝三种颜色的值,即可构造各种颜色例如:黑色:(0, 0, 0)白色:(255, 255, 255)红色:(255, 0, 0)在 Swing 中,使用 Color 类来代表颜色例如:Color color = Color.RED;Color color = new Color(255, 0, 0);Color color = new Color(0xFF0000);RGBA颜色表示最后一个 A 代表透明度,也是原创 2021-01-10 19:23:18 · 910 阅读 · 1 评论 -
8 自定义控件
自定义控件当需要自定义控件时,可以从 JPanel 派生例如:class MyPanel extends JPanel{}则 MyPanel 是一个自定义的控件重写 paintComponent 方法,可以决定它的显示:protected void paintComponent(Graphics g){}代码:import java.awt.Color;import java.awt.Graphics;import javax.swing.JPanel;public cla原创 2021-01-10 15:34:17 · 92 阅读 · 0 评论 -
7 使用图标 &资源文件 & 本地文件
使用图标图标 Icon | ImageIcon默认的,JLabel,JButton都可以显示图标支持 jpeg / jpg / png 格式的静态图片准备图标文件:下载图标文件(iconfont.cn)支持 jpg / jpeg / png 格式新建一个 package ,在里面存放图标加载图标: URL url = getClass().getResource("/images/shuihu.png"); Icon icon = new ImageIcon(url);原创 2021-01-10 15:10:32 · 288 阅读 · 0 评论 -
6 边距与填充 & AfBorder & AfPanel
边距与填充边距与填充,在 Swing 里,边距和填充也是由Border来实现的Border pading = BorderFactory.createEmptyBorder(8, 8, 8, 8);EmptyBorder,就可以用来实现空白填充效果代码:class MyFrame extends JFrame{ public MyFrame(String title) { super(title); ColorfulLabel a1 = new ColorfulLabel("原创 2021-01-09 19:39:55 · 692 阅读 · 0 评论 -
6 边框 & 各种样式的边框
使用边框创建:javax.swing.border.* 下是边框相关的接口和实现Border 是一个接口BorderFactory 是一个工具类,用于创建各型边框例如:ColorfulLabel a1 = new ColorfulLabel("1", Color.RED);Border border1 = new LineBorder(Color.black, 4);a1.setBorder(border1);ColorfulLabel a2 = new ColorfulLabel原创 2021-01-09 14:48:55 · 448 阅读 · 0 评论 -
5 线性布局 & 自由位置布局
线性布局线性布局,包含水平布局和竖直布局两种以水平布局为例内容添加了4个子控件,每个控件的宽度占多少?水平布局器 AfXLayout,水平方向上依次排列对子空间进行水平方向上的布局每个子控件可以单独指定宽度 - "100px" 固定占100像素 - "25%" 固定占宽度的25% - "auto" 固定使用它的Preferred Size - "1w" 按权重动态分配(分配剩余的空间,比如一个控件为"2w",一个控件为"3w",则它们将以2:3的比例瓜分剩余空间原创 2021-01-09 13:51:23 · 494 阅读 · 0 评论 -
5 创建布局器 &手动布局
布局管理器 Layout Manager负责对子空间的布局,当窗口变化的时候,动态调节子控件的位置和大小代码:import java.awt.Color;import java.awt.Component;import java.awt.Container;import java.awt.Dimension;import java.awt.LayoutManager;import java.awt.Rectangle;import javax.swing.JFrame;import j原创 2021-01-09 11:07:06 · 174 阅读 · 0 评论 -
5 窗口坐标
窗口布局把上层窗口称为容器(Container)容器里可以有多个子窗口或子空间(Component)所谓布局,就是决定每一个子空间显示在什么地方窗口坐标每个矩形区域 Rectangle 的参数:左上角坐标(x,y)宽度:width高度:height...原创 2021-01-09 10:38:04 · 140 阅读 · 0 评论 -
4 流布局 FlowLayout & 边界布局 BorderLayout & 卡片布局 CardLayout
流布局 FlowLayout流布局 FlowLayout:默认地,自左向右逐个排列当一行排满时,自动排到下一行setPreferredSize(); //设置每个控件的尺寸,这个方法继承自JComponent可以选择居左、居右、居中对齐:new FlowLayout(FlowLayout.LEFT);new FlowLayout(FlowLayout.RIGHT);new FlowLayout(FlowLayout.CENTER);边界布局 BorderLayout边界布局 B原创 2021-01-08 21:14:36 · 577 阅读 · 0 评论 -
3 彩色标签(练习)
(练习)彩色标签代码(版本1):import java.awt.Color;import java.awt.Container;import java.awt.Dimension;import java.awt.FlowLayout;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.SwingConstants;public class Demo { public static void原创 2021-01-08 19:47:22 · 135 阅读 · 0 评论 -
3 下拉列表 JComboBox
下拉列表 JComboBox一、基本用法创建 JComboBoxJComboBox<String> colorList = new JComboBox<>();添加数据项colorList.addItem("红色");colorList.addItem("蓝色");colorList.addItem("绿色");addItem(T),T的类型在创建时指定,这里是String类型,也就说每一项Item的数据类型是 String按索引访问getSele原创 2021-01-08 19:17:02 · 263 阅读 · 1 评论 -
3 JLabel & JTextField & JCheckBox
标签 JLabelJLabel,用于显示短文本,或者图标setText() 设置文本setFont() 设置字体setForeground() 设置文本颜色setToolTipText() 设置工具提示代码:import java.awt.Color;import java.awt.Container;import java.awt.FlowLayout;import java.awt.Font;import javax.swing.JFrame;import javax原创 2021-01-07 22:10:11 · 516 阅读 · 0 评论 -
2 按钮点击处理
监听器监听器 Listener,是Swing里界面事件处理的一种方式:创建监听器对象 Listener将监听器对象交给按钮当按钮被点击时,Swing框架会调用监听器对象里的方法,进行处理。原创 2021-01-07 14:56:33 · 609 阅读 · 0 评论 -
1 Java Swing简介
Java GUI / SwingGUI(Graphics User Interface)图形用户界面(很久已经是命令行界面)Java GUI:使用Java进行桌面应用程序开发的技术Java GUI的几种选择:AWT:Java最早的界面库Swing:对AWT的扩展,轻量级设计的界面库JavaFX:自JDK1.8引入的新的界面库。(设计风格晦涩,很难上手)SWT:Eclipse所使用的界面库,归Eclipse管理。开始第一个程序import java.awt.Container;impo原创 2021-01-06 18:48:33 · 284 阅读 · 0 评论