2016-07-22 30 views
0

So habe ich einen String-Eingang von GUI nehmen Textfield verwenden und es in einem PDF-Dokument auftauchen, machen, wenn ich ActionListener verwenden:Java: Jede Art und Weise einen String-Eingang in pdf zu speichern

b1[0].addActionListener(new ActionListener(){ 
public void actionPerformed(ActionEvent arg0) 
{ 
    s=tf1[0].getText(); 
} 
}); 

Als ich renne die gui und tippe die tf1 ein und drücke b1, sollte es in s speichern? Aber es tut das nicht, aber wenn ich nur s="string" hardcodiere, erscheint es in der pdf. Irgendwelche Ideen?

vergessen Ich verwende iText zu erwähnen, so dass das einzige Problem, das ich habe, ist, dass die String s aus dem TextField

Auch für die actionlistener Klasse der Code nicht, wenn Sie wollen, dass es gerettet zu werden:

public class GUI { 
public static String s; 
public static void gui(){ 

    { 
     try{ 
     String File_Name="C:/Users/Ray/Desktop/test.txt"; 
     ReadFile rf=new ReadFile(File_Name); 
     JFrame f1=new JFrame("Maintest"); 
     JPanel p1=new JPanel(); 
     JPanel p2=new JPanel(); 
     final String[] aryLines=rf.OpenFile(); 
     final JTextField tf1[]=new JTextField[22]; 
     JButton []b1=new JButton[6]; 
     String bNames="OK"; 
     final JTextField tf2[]=new JTextField[aryLines.length]; 
     f1.setSize(200,450); 


     JLabel l1[]=new JLabel[20]; 

     for (int i=0; i < aryLines.length; i++) 
     { 
      b1[i]=new JButton(bNames); 
      l1[i]=new JLabel("Enter Serial# for "+ aryLines[i]); 

      p1.add(l1[i]);p1.add(tf1[i] = new JTextField());p1.add(b1[i]); 
     } 


      p1.setLayout(new BoxLayout(p1,BoxLayout.PAGE_AXIS)); 

      f1.add(p1,BorderLayout.WEST); 



       b1[0].addActionListener(new ActionListener(){ 
       public void actionPerformed(ActionEvent arg0) 
       { 
        s=""+tf1[0].getText(); 
        System.out.println(s); 
       } 
       }); 

      f1.show(); 
     } 

      catch(Exception e) 
      { 
       System.out.print(e); 
      } 
    } 
} 
} 
+0

haben Sie Probleme? Können Sie externe Bibliotheken als [itext] (http://itextpdf.com/) verwenden? –

+0

versuchen Sie das Debuggen und sehen Sie, ob tf1 [0] .getText() tatsächlich die Daten aus dem Textfeld bezieht. – optimus

+0

Dies kann Ihnen helfen: http://howtodoinjava.com/apache-commons/create-pdf-files-in-java-itext-tutorial/ –

Antwort

1

Sorry, dass ich nicht ausführlicher antworten kann, aber Sie könnten überprüfen, ob die tf1[0].getText() funktioniert. Setzen Sie einfach eine System.out.println("Text: "tf1[0].getText()); in Ihre ActionListener. Ich bin mir ziemlich sicher, dass es null oder "Text:" sein wird. Für weitere Hilfe müssen Sie mehr Code bereitstellen.

Please take a look at this link

+0

ich fügte hinzu, und fügte dann "haha" im GUI-Textfeld, die Ausgabe war Text: haha, also nehme ich an, dass es Eingabe ist, aber warum ist es nicht dann Speichern in s – Commongrate

+0

Das ist wirklich seltsam. Vielleicht versuchen Sie es mit String.valueOf (tf1 [0] .getText()). Könnten Sie bitte mehr Code bereitstellen? Fügen Sie auch den WertOf der System.out.println() hinzu. –

+0

Ich habe meinen Post für den Actionlistener Code bearbeitet – Commongrate