簡體   English   中英

如何從 JTextField 中檢索文本?

[英]how do I retrive a text, from a JTextField?

這是代碼。 它創建了一個 GUI。

我需要制作一個 function 如果我按下按鈕就可以工作

package View;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.WindowListener;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import modulo.Test;

public class InterfacciaGrafica extends JFrame  implements ActionListener {

    private static final long serialVersionUID = 1L;

    public InterfacciaGrafica(String ArrayClienti[]){
        this.setTitle("BiKar Prenotazioni");
        this.setSize( 300,200);
        this.setBackground(Color.black);
        this.setForeground(Color.black);
        this.setLayout(new BorderLayout());
        
          
        PannelloIscrizione PannelloIscrizione = new PannelloIscrizione(ArrayClienti);
        this.add(PannelloIscrizione,BorderLayout.CENTER);
        PannelloIscrizione.setVisible(true);
        
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub

    }
    
}
package View;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

import modulo.PatenteTypes;
public class PannelloIscrizione extends JPanel  implements ActionListener{
    
    private static final AbstractButton ID = null;
    Color Arancione = new Color(255, 175, 0);
    int eta;
    String nome;
    String cognome;
    String id;
    String tipoPatente;
    String tipoCliente;
    
    public PannelloIscrizione(String ArrayClienti[]) {
        this.setLayout(new BorderLayout());
        this.setBackground(Color.black);
        this.setForeground(Color.orange);
        
        Container ContainerCentro = new Container();
        ContainerCentro.setSize(200, 100);
        
        JComboBox TipoCliente = new JComboBox(ArrayClienti);
        JTextField Nome = new JTextField(20);
        JTextField Cognome = new JTextField(20);
        JTextArea ID = new JTextArea(id);
        JTextField Eta = new JTextField(2);
        JComboBox<PatenteTypes> TipoPatente= new JComboBox<PatenteTypes>(PatenteTypes.values());
        JButton Iscrizione = new JButton("Iscriviti");
        
        ContainerCentro.setLayout(new BorderLayout());  
        this.add(ContainerCentro, BorderLayout.CENTER);
        
        ContainerCentro.setBackground(Color.black);
        ContainerCentro.setForeground(Color.black);
        
        ContainerCentro.add(ID,BorderLayout.WEST);
        ContainerCentro.add(Eta, BorderLayout.EAST);
        ContainerCentro.add(TipoPatente,BorderLayout.CENTER);

        ID.setBackground(Arancione);
        ID.setForeground(Color.black);
        Eta.setBackground(Arancione);
        Eta.setForeground(Color.black);
        TipoPatente.setBackground(Arancione);
        TipoPatente.setForeground(Color.black);
        
        Container ContainerNord = new Container();
        ContainerNord.setLayout(new BorderLayout());
        this.add(ContainerNord, BorderLayout.NORTH);
        ContainerNord.setSize(200, 100);
        ContainerNord.add(TipoCliente,BorderLayout.WEST);
        ContainerNord.add(Nome, BorderLayout.CENTER);
        ContainerNord.add(Cognome, BorderLayout.EAST);
        
        ContainerNord.setBackground(Color.black);
        ContainerNord.setForeground(Color.black);
        TipoCliente.setBackground(Arancione);
        TipoCliente.setForeground(Color.black);
        Nome.setBackground(Arancione);
        Nome.setForeground(Color.black);
        Cognome.setBackground(Arancione);
        Cognome.setForeground(Color.black);

        Container ContainerSud = new Container();
        ContainerSud.setLayout(new BorderLayout());
        this.add(ContainerSud, BorderLayout.SOUTH);
        ContainerSud.setBackground(Color.black);
        ContainerSud.setForeground(Color.black);
        ContainerSud.add(Iscrizione, BorderLayout.CENTER);
        Iscrizione.setBackground(Arancione);
        Iscrizione.setForeground(Color.black);
        
        
    
        
    
        ContainerCentro.setVisible(true);
        ContainerNord.setVisible(true);
        ContainerSud.setVisible(true);
        TipoCliente.setVisible(true);
        ID.setVisible(true);
        Eta.setVisible(true);
        TipoPatente.setVisible(true);
        Nome.setVisible(false);
        Cognome.setVisible(false);
        Iscrizione.setVisible(true);
        
    
        Iscrizione.addActionListener(this);
       

    
}
    public int getEta() {
        return eta;
    }
    public void setEta(int eta) {
        this.eta = eta;
    }
    public String getNome() {
        return nome;
    }
    public void setNome(String nome) {
        this.nome = nome;
    }
    public String getCognome() {
        return cognome;
    }
    public void setCognome(String cognome) {
        this.cognome = cognome;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getTipoPatente() {
        return tipoPatente;
    }
    public void setTipoPatente(String tipoPatente) {
        this.tipoPatente = tipoPatente;
    }
    public String getTipoCliente() {
        return tipoCliente;
    }
    public void setTipoCliente(String tipoCliente) {
        this.tipoCliente = tipoCliente;
    }
    @Override
    public void actionPerformed(ActionEvent e) {
        if(e.getSource().equals(Iscrizione)) {
            
            setId(ID.getText());
            System.out.println(ID.getText());
        }
    }

}

我想從我的 GUI 在 JTextField 中寫一些文本,然后單擊按鈕后,我希望文本成為我的 class 的屬性 id 的值。 但 getText 不起作用

第一個 class 聲明我的框架,其中有一個面板,其中包含一些文本字段。

    if(e.getSource().equals("Iscrizione")) {
        //setId(ID.getText());
    }

這總是假的。 e.getSource() 返回一個 Component 並且 Component.equals(String) 將始終為 false;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM