Java GUI 综合应用实例
其实是一次Java上机实验,题目包含:按钮,文本框、文本域、复选框、单选按钮组、面板、弹窗JDialog,列表JList,下拉列表JComboBox,滚动条JScrollPane, 以及以上所有组件对应的常用监听器方法的使用。码这做备忘了。
题目: 1,2没用我删了,代码中注释与题号对应。
3.在 Frame 窗口中设计一个按钮,按钮显示为退出程序,单击按钮时,退出程序,编写“退出程序”的事件处理代码。
4.在 Frame 窗口中设计一个文本框和一个文本区域,文本框内容改变时,将文本框中的内容显示在文本区域中;在文本框中按回车键时,清空文本区域的内容。
5.在 Frame 窗口中设计一个复选按钮和一个普通按钮,复选按钮选中时,普通按钮的背景色为青色,未选中时为灰色。
6.在 Frame 窗口中设计一个单选按钮组和一个普通按钮,单选按钮组中包含三个单选,文本说明分别为“普通”、“黑体”和“斜体”选择文本标签为“普通”的单选按钮时,普通按钮中的文字为普通字体,选择文本标签为“黑体”的单选按钮时,普通按钮中的文字的字体为黑体,选择文本标签为“斜体”的单选按钮时,普通按钮中的文字的字体为斜体。*
7.在 Frame 窗口中设计一个下拉列表和一个按钮,下拉列表中有 10、14、18 三个选项,选择 10 时,按钮中文字的字号为 10,选择 14 时,按钮中文字的字号为 14,选择18 时,按钮中文字的字号为 18。*
8.在 Frame 窗口中设计一个列表和两个标签,在第一个标签中显示列表中被双击的选项的内容,在第二个标签中显示列表中被选中的所有选项的内容。
9.在 Frame 窗口中设计一个标签,编程确定当前鼠标的位置坐标代码,以(X1,Y1)、
(X2,Y2)的形式显示在标签中。
10.在 Frame 窗口中设计一按钮,另外创建另一个 Frame,当单击按钮时,弹出另一个 Frame。
根据题目先自己设计出 UI布局:
然后就Coding了
我把所有内容都写到同一个类中,每题都新建类很麻烦,但是放到一起就要求代码质量必须很高,各个部分在写之前要做好规划,减小耦合性。代码有点长,但是结构和可读性比较高,一个构造器,在构造器中创建窗口,调用初始化函数,在初始化函数中传入面板参数,调用各题对应的方法。在各题对应的方法中用到的监听器部分采用内部类,或匿名内部类编写。main方法中new一个本类就ok了。
看一下效果吧:

和之前设计的UI相比:
基本实现了,上代码吧,奥利奥,淦了兄弟们。
package akali.JavaClass;
import javafx.css.Size;
import javafx.scene.Group;
import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import java.awt.*;
import java.awt.eve