Java Swing组件的设置和获取方法

297 阅读5分钟

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
    }

输出

当我们运行我们的项目时,图形用户界面将被显示。这是为了让用户在文本字段中输入数值,如下图所示。

GUI

当用户在文本字段中键入数值后点击提交按钮,数值将显示在表格中。

如图2所示,该文本字段被设置为空,以便后续输入。

output

总结

从这篇文章中,我们已经学到了以下内容。

  1. Java swing组件声明和用户界面设计。
  2. 以下的设置和获取方法: i. JLabel ii.JTextField iii.JB按钮
  3. JB按钮的动作事件。
  4. 如何使用getter方法从JTextField向JTable显示数值。