软件构造实验中被要求开发APP,接触和摸索了一些基本的可视化应用方法,以下是自己的总结:
使用JFrame创建基本的可视化界面需要以下步骤:
1.导入Java GUI库。在Java代码的顶部添加如下语句:
import javax.swing.*;
2.创建JFrame对象。在Java代码中创建一个继承自JFrame的类,并定义构造方法,例如:
public class MyFrame extends JFrame {
public MyFrame() {
// 设置窗口的标题
setTitle("My First Frame");
// 设置窗口的大小
setSize(400, 300);
// 设置窗口可见性
setVisible(true);
// 设置关闭窗口时的默认操作
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
3.实例化JFrame对象。在Java代码的主函数中,实例化JFrame对象,例如:
public static void main(String[] args) { MyFrame frame = new MyFrame(); }
以上是基本的操作,我认为一个JFrame代表一个Window即窗口,类似于C#中的Form
JFrame由于可以加入各种各样的组件而具备基本的可视化功能,介绍几个常用的组件
-
JLabel(标签):用于显示文本或图像等,可以设置字体、颜色、对齐方式等属性。
-
JButton(按钮):用于触发事件,如打开一个新窗口、保存数据等。可以设置按钮的文本、图像、背景颜色等属性。
-
JTextField(文本框):用于接收用户输入的文本,可以设置文本框的大小、字体、背景颜色等属性。
-
JPasswordField(密码框):与文本框类似,但输入的内容会被隐藏,用于输入密码等敏感信息。
-
JTextArea(文本域):用于显示多行文本,可以设置文本域的大小、字体、滚动条等属性。
-
JCheckBox(复选框):用于多项选择,可以设置选中、未选中的状态,以及文本、图像等属性。
-
JRadioButton(单选按钮):与复选框类似,但只能选择一项。
-
JComboBox(下拉列表框):用于选择一个选项,可以设置选项的文本、值等属性。
-
JList(列表框):用于显示一个列表,可以设置列表项的文本、图像等属性。
-
JScrollPane(滚动面板):用于显示超出容器大小的组件,可以添加滚动条。
-
JPanel(画图):用于自定义的在界面上画出图形
我在实验中由于时间有限,仅仅使用了JLabel,JTextField,JButton等基础组件,着重介绍JButton的应用
通过添加事件监听器的方式对actionPerformed方法进行重写可以对点击按钮后做的事情进行自定义
如在我的代码中的节选,点击visualize按钮后对一个系统做可视化(调用这个系统的可视化方法):
visualize.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
app.visualize();
}
});
对于这三者最最为常用的控件而言,还有一些常用的操作
JLabel
- setText(String text): 设置标签显示的文本。
- setIcon(Icon icon): 设置标签显示的图标。
- setHorizontalAlignment(int alignment): 设置标签文本的水平对齐方式,如JLabel.LEFT,JLabel.CENTER,JLabel.RIGHT。
- setVerticalAlignment(int alignment): 设置标签文本的垂直对齐方式,如JLabel.TOP,JLabel.CENTER,JLabel.BOTTOM。
JButton
- setText(String text): 设置按钮显示的文本。
- setIcon(Icon icon): 设置按钮显示的图标。
- addActionListener(ActionListener listener): 添加按钮点击事件的监听器。
- setEnabled(boolean enabled): 设置按钮是否可用。
JTextField
- setText(String text): 设置文本框中显示的文本。
- setEditable(boolean editable): 设置文本框是否可编辑。
- addActionListener(ActionListener listener): 添加文本框回车事件的监听器。
- getText(): 获取文本框中的文本内容。
以上是最为基本的可视化操作,最后的最后,记得将你的控件加入到你的JFrame中去,以及设置他们的可见性,防止各种各样奇怪问题的出现哈哈哈