项目驱动的Swing和Graphic类学习
JFrame窗口的构建
为了实现良好的交互效果,合适的GUI窗口是十分必要的。在Java中可以使用Swing组件和Applet组件来实现。本次主要使用Swing组件的JFrame窗口。
插入窗口需要在方法或构造体中声明
1 |
|
单击关闭窗口操作
1 |
|
JFrame容器组装
GUI组件必须装在容器中,不能独立使用。必须通过.add()组装。而JFrame下可以放2种容器,常用的是ContentPane(),需要在其后.add()。
1 |
|
而更为通用的JPanel此处没有使用。
此工程没有使用布局,所以需要指定组件位置、大小与布局设置,避免出现bug。
1 |
|
常用布局:
1 |
|
JFrame部分组件介绍
JButton是一种按钮组件,声明如下
1 |
|
常用点击事件,重写相关方法以完成操作
1 |
|
同理可重写其他按钮的相关方法。
JLabel用于文本框中显示信息,声明如下
1 |
|
JTextArea用于文本框中输入信息,显示信息也可,声明如下
1 |
|
可以使用变量来接受获得的数据
1 |
|
1 |
|
但获得的不一定是自己想要的数据,一般情况下是使用滑条,不过此处使用了异常处理。
1 |
|
尝试捕捉相关异常,当获得异常时不报错,而是执行相关操作。此处暴躁地直接附0。而对于字符串而言,可以使用if判断字符串的状态
1 |
|
Jlist与JScrollPane是一类较难用的组件。其声明如下
1 |
|
设置滚动条(此处横向滚动条在显示不下时才显示,纵向滚动条一直显示)
1 |
|
添加相关操作,此处是双击操作
1 |
|
Graghics类的使用
在此处,该类通过重写JPanel.paint()方法来实现Graphics类的使用,理由很简单,Graghics类不能直接引用。以rectangle的绘制为例
1 |
|
自由绘制模式的另类实现
为了提供自由选择多边形绘画的功能,本人干脆搞了个自由画板,虽然获取鼠标位置的方法精准度基本没有,但还能用。此处直接粘贴,不做解释。
注意,每一次画完后需要重绘画板。
1 |
|
再加上一些堆料,和search框的绘制,一个前端工程就画好了!
项目驱动的Swing和Graphic类学习
http://example.com/2024/04/23/java-SwingLearning/