2017-05-26 30 views
-2

Hallo, ich habe eine leere Anzeige im Textfeld "Verkaufskosten", wenn ich einen Text im TextField "Artikelpreis" eingegeben habe. Ich möchte den Text, den ich eingegeben habe, im Textfeld "Artikelpreis" anzeigen und wird im Textfeld "Verkaufskosten" angezeigt, das nicht angezeigt wurde.Java GUI: Text aus einem Textfeld holen

enter image description here

public class ZipTimer extends JFrame { 
    private JTextField input_2; 
    private JTextField itemprice; 

btnInsert = new JButton("Insert"); 
    btnInsert.addActionListener(new ActionListener() { 
     public void actionPerformed(ActionEvent e) { 
      if(new DBUpdater().add(itemname.getText(),itemprice.getText(),itemcategory.getText())){ 

       JOptionPane.showMessageDialog(null,"Successfully Inserted"); 

       //Clear Text      
       itemprice.setText("");  
       input_2.setText(itemprice.getText()); 
       retrieve(); 
      }else{ 

       JOptionPane.showMessageDialog(null, "Not Saved"); 
      } 

     } 
    }); 

der Name des Textfeldes in Sale Kosten ist input_2 und der Name des Textfeldes in Artikel Preis ist itemprice

ich den anderen Code versuchen, die diese input_2.setText(Integer.toString(itemprice)); ist, aber ich habe eine Fehler in toString Ich weiß nicht warum. es heißt "Die Methode toString (int) im Typ Integer ist nicht anwendbar für die Argumente (JTextField)".

+0

Haben Sie versucht, [ 'itemprice.getText()'] (https://docs.oracle.com/javase/8/docs/ api/javax/schwingen/text/JTextComponent.html # getText--)? – bradimus

+1

Wo wird auch 'itempreis' initialisiert? Wenn nicht initialisiert, würde dieser Code eine NullPointerException (npe) auslösen. Siehst du das? Das Gleiche gilt für 'input_2' (schreckliche Variablennamen - bitte verbessern). Bitte erstellen und veröffentlichen Sie ein gültiges [mcve]. –

+1

itempreis ist ein Textfeld, keine ganze Zahl? Ausnahme ist selbsterklärend –

Antwort

2

Sie müssen diese beiden Zeilen umdrehen, da der erste den Text löscht und der zweite den gelöschten Text.

Falsch:

itemprice.setText("");  
input_2.setText(itemprice.getText()); 

Richtig:

input_2.setText(itemprice.getText()); 
itemprice.setText("");  
+0

jetzt funktioniert es. Vielen Dank –