Java Swing组件的设置和获取方法
Java Swing组件有getters和setters方法,分别用于获取和设置值。它们是必不可少的,因为它们可以保护用户的数据,主要是在创建类时。
一个getter方法通常会返回它的值(组件值),而一个setter方法会设置(更新)它的值。
这使得getter成为访问器,因为它们允许用户访问Java swing组件的值。同时,设置器是突变器,因为它们被用来控制对Java Swing组件变量的改变。
本文将讨论桌面应用程序中使用的Java Swing组件的setters和getters方法。我们将使用一个应用实例来展示这些方法是如何在Java Swing中开发和实现一个桌面应用程序的。
前提条件
- 预先安装的Java编程IDE,例如,安装了[NetBeans]。
- Java Swing的基本知识。
Java Swing的图形用户界面
我们在项目中定义了一个设计用户界面的类方法。在这个类中,我们将Java Swing组件添加到我们的项目中。
我们可以使用NetBeans IDE中的拖放调色板,或者硬编码并声明swing组件。
在这篇文章中,我们将声明、硬编码并添加组件到我们的项目中。下面的方法创建了我们的用户界面。
public void sectionCreatingGUI() {//This method creates UI
swingGetterSetters = new JFrame("Section Java Swing Getters and Setters");
swingGetterSetters.setLayout(null);
swingGetterSetters.setSize(700, 450);
swingGetterSetters.setVisible(true);
swingGetterSetters.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
title.setBounds(260, 10, 380, 20);
Fname.setBounds(120, 40, 300, 20);
fname.setBounds(320, 40, 320, 30);
Sname.setBounds(120, 70, 300, 20);
sname.setBounds(320, 70, 320, 30);
address.setBounds(120, 100, 300, 20);
adress.setBounds(320, 100, 320, 30);
PhoneNumber.setBounds(120, 130, 300, 20);
phoneNumber.setBounds(320, 130, 320, 30);
id.setBounds(120, 160, 300, 20);
idnumber.setBounds(320, 160, 320, 30);
submit.setBounds(540, 200, 100, 30);
sp.setBounds(120, 240, 520, 150);
swingGetterSetters.add(title);
swingGetterSetters.add(Fname);
swingGetterSetters.add(fname);
swingGetterSetters.add(Sname);
swingGetterSetters.add(sname);
swingGetterSetters.add(address);
swingGetterSetters.add(adress);
swingGetterSetters.add(PhoneNumber);
swingGetterSetters.add(phoneNumber);
swingGetterSetters.add(id);
swingGetterSetters.add(idnumber);
swingGetterSetters.add(submit);
submit.addActionListener(new ActionListener() {
swingGetterSetters.add(sp);
}
JLabel
我们首先声明我们的JLabel组件,如下所示。
JLabel Fname = new JLabel();
JLabel Sname = new JLabel();
JLabel address = new JLabel();
JLabel PhoneNumber = new JLabel();
JLabel title = new JLabel();
JLabel id = new JLabel();
设置JLabel的值-Setter方法。
//Setters for the JLabel, Sets the text displayed on the JLabel
Fname.setText("First Name");
Sname.setText("Second Name ");
address.setText("Address");
PhoneNumber.setText("Phone Number");
title.setText("CUSTOMER INFORMATION");
id.setText("ID Number");
JLabel值的获取器-获取JLabel变量的值并将该值分配给字符串变量。
String FnameLabelValue=Fname.getText();
String SnameLabelValue=Sname.getText();
String addressLabelValue=address.getText();
String PhoneNumberLabelValue=PhoneNumber.getText();
String idLabelValue=id.getText();
String titleLabelValue=title.getText();
String submitButtonValue=submit.getText();
JTextField
JTextField组件的声明 - JTextField组件允许应用程序与用户互动。
JTextField fname = new JTextField();
JTextField sname = new JTextField();
JTextField adress = new JTextField();
JTextField phoneNumber = new JTextField();
JTextField idnumber = new JTextField();
用户可以向JTextField输入文本值。当用户输入文本值时,它将设置JTextField变量组件的值。
我们可以使用getter方法来访问用户输入的这个值,将其显示在JLabel上,将其存储在数据库中,或显示在JTable中。在这篇文章中,我们将在一个JTable中显示这些值。
JTextField组件的获取器--我们获取JTextField的值,并将其分配给字符串变量,在JTable中显示。
//Here we define getters which will get the text entered by the user in the respective JTextField and set/initialize them to our string variables
String FirstName = fname.getText();
String SecondName = sname.getText();
String Address = adress.getText();
String IdNumber = idnumber.getText();
String Phonumber = phoneNumber.getText();
将值显示在JTable中
//To ensure that we really got the values from the JTextField, we need to display them in the JTable
DefaultTableModel Table = (DefaultTableModel) customerData.getModel();
Table.addRow(new Object[]{FirstName + " " + SecondName, Address, Phonumber, IdNumber});
JB按钮
JButton swing组件有一个独立于平台的实现类方法。当按钮被按下或用鼠标点击时,会产生一些动作。
该事件会触发一个动作,这个动作可能是获取其他组件的值并显示它们,或者将它们存储在数据库中。
在这篇文章中,我们将看到一个JButton的动作事件方法。它将显示JTextField组件的值到JTable中。
JButton声明
JButton submit = new JButton();
JButton的Setter方法
- 这将设置显示在JButton变量上的文本值。
submit.setText("SUBMIT"); //this sets the text value displayed on the JButton as the text in braces
JButton getter方法 - 这将获得在JButton上设置的文本值。
String submitButtonValue=submit.getText();
JButton动作事件
- 内类方法定义了JButton的动作事件。在点击时,会调用swingGetter()方法。
submit.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
swingGetter();
}
});//The action event for the JButton
下面是在Jbutton动作事件中调用的整个swingGetter()方法。
public void swingGetter() {
//Here we define getters which will get the text entered by the user in the respective JTextField and set/initialize them to our string variables
FirstName = fname.getText();
SecondName = sname.getText();
Address = adress.getText();
IdNumber = idnumber.getText();
Phonumber = phoneNumber.getText();
//To ensure that we really got the values from the JTextField, we need to display them in the JTable
DefaultTableModel Table = (DefaultTableModel) customerData.getModel();
Table.addRow(new Object[]{FirstName + " " + SecondName, Address, Phonumber, IdNumber});
//We need to empty the JTextField to allow more entry after the first, second etc. Thus, values will set the JTextField to null (empty) to allow next entry
fname.setText(null);
sname.setText(null);
adress.setText(null);
idnumber.setText(null);
phoneNumber.setText(null);
//End of swingGetter() method. We will call this method in JButton Action Event method above, the events here happens upon the click of the JButton
}
输出
当我们运行我们的项目时,图形用户界面将被显示。这是为了让用户在文本字段中输入数值,如下图所示。

当用户在文本字段中键入数值后点击提交按钮,数值将显示在表格中。
如图2所示,该文本字段被设置为空,以便后续输入。

总结
从这篇文章中,我们已经学到了以下内容。
- Java swing组件声明和用户界面设计。
- 以下的设置和获取方法: i. JLabel ii.JTextField iii.JB按钮
- JB按钮的动作事件。
- 如何使用getter方法从JTextField向JTable显示数值。