Obtenir de la valeur à partir de JTextField

Rashmi Patidar 15 février 2024
Obtenir de la valeur à partir de JTextField

La programmation Java fournit des utilitaires et des fonctions pour dessiner diverses images et composants en temps réel pour la représentation visuelle. Les classes fournissent diverses méthodes pour définir la disposition, la taille et la couleur encapsulées dans diverses classes. Les fonctions deviennent la base de la programmation graphique. Certains packages contiennent les classes utilitaires graphiques. Le package java.awt javax.swing fournit le fonctionnement du graphe et de l’applet.

Vous trouverez ci-dessous le bloc de code pour démontrer la même chose.

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class ValueFromJTextField extends JFrame implements ActionListener {
  JTextField textField;
  JButton submitButton = new JButton("Submit");

  public ValueFromJTextField() {
    JPanel myPanel = new JPanel();
    add(myPanel);
    myPanel.setLayout(new GridLayout(3, 2));
    textField = new JTextField();
    myPanel.add(textField);
    myPanel.add(submitButton);
    submitButton.addActionListener(this);
  }

  public void actionPerformed(ActionEvent actionEvent) {
    if (actionEvent.getSource() == submitButton) {
      String data = textField.getText();
      System.out.println(data);
    }
  }

  public static void main(String args[]) {
    ValueFromJTextField g = new ValueFromJTextField();
    g.setLocation(10, 10);
    g.setSize(300, 300);
    g.setVisible(true);
  }
}

Dans le bloc de code ci-dessus, l’exécution réelle commence à partir de la méthode main.

Tout d’abord, une instance de la classe ValueFromJTextField est instanciée à l’aide d’un nouveau mot-clé. Il appelle en interne le constructeur public de la classe. Dans le constructeur, certaines variables sont initialisées. Une instance de JPanel est instanciée qui crée initialement un nouveau panneau avec le double tampon. La classe est présente dans le package javax.swing et possède suffisamment de fonctionnalités pour représenter les graphiques en Java. La méthode add est présente dans la classe Container, présente dans le package java.awt. La méthode add prend une instance Component en paramètre puis ajoute l’instance passée à la fin du composant Container. La fonction lève NullPointerException lorsque l’élément passé est une valeur nulle.

Une fois le panneau ajouté au conteneur, la taille peut être définie à l’aide de la fonction setLayout. L’instance de Layout est transmise à la fonction et ne renvoie rien. Un constructeur GridLayout définit les valeurs des lignes et des colonnes. Dans la grille, un champ de texte est créé et inséré à l’aide de la méthode add. À côté du champ de texte, une instance de JBotton est créée et insérée dans le panneau. Comme dernière instruction, un écouteur d’action est ajouté à l’instance de bouton de soumission.

Sous le constructeur, une méthode d’écoute d’action est implémentée. La fonction prend une instance de la classe ActionEvent. La classe décrit une sorte d’action ou d’événement qui est exécuté sur le composant. À l’intérieur du bloc de code, l’événement source est vérifié à l’aide de la méthode getSource. Ainsi, l’instance d’événement d’action a une fonction prédéfinie pour vérifier la source de l’événement à partir de laquelle il semble être généré. Ainsi, la source est vérifiée de manière conditionnelle pour provenir de l’instance de bouton.

L’instance textField s’habitue à appeler la méthode getText. Cette fonction renvoie le texte présent dans le composant champ de texte et lève NullPointerException lorsque le document est une valeur nulle. Enfin, la chaîne de texte est imprimée dans la sortie de la console à l’aide de la fonction println.

La sortie de la console du bloc de code ci-dessus est affichée ci-dessous.

Hi, This is Jack Daniel

La disposition du conteneur est illustrée ci-dessous.

Obtenir la valeur de JTextField

Rashmi Patidar avatar Rashmi Patidar avatar

Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.

LinkedIn

Article connexe - Java GUI