2016-07-22 3 views
0

私はActionListener使用するときだから私は、Textfieldを使用してGUIから文字列の入力を取り、それをPDF文書に表示させる必要があります:のJava:PDFに文字列の入力を保存するための任意の方法

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

I guiを実行し、tf1をタイプしてb1を押すと、右にそれを保存する必要がありますか?しかし、それはやっていませんが、もし私がちょうどs="string"をハードコードすれば、それはpdfに現れます。何か案は?あなたがそれをしたい場合は

が、私はiTextのを使用しています言及を忘れたので、私が午前唯一の問題はまたString sはTextField

から救われていないことをactionlistenerクラスのコードです:

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

問題が解決しましたか? [itext](http://itextpdf.com/)として外部ライブラリを使用できますか? –

+0

デバッグを試み、tf1 [0] .getText()が実際にTextfieldからデータを取得しているかどうかを確認します。 – optimus

+0

これはあなたを助けるかもしれません:http://howtodoinjava.com/apache-commons/create-pdf-files-in-java-itext-tutorial/ –

答えて

1

申し訳ありませんが、私は詳細に答えることはできませんが、tf1[0].getText()が動作するかどうかを確認できます。 ActionListenerSystem.out.println("Text: "tf1[0].getText());を入れてください。私はそれがnullか "Text:"になるだろうと確信しています。さらに役立つためには、より多くのコードを提供する必要があります。

Please take a look at this link

+0

私はそれを追加し、guiのテキストフィールドに "haha"を追加しました。出力はText:hahaでしたので、入力を受けていると思いますが、それをsに保存する – Commongrate

+0

これは本当に変です。たぶんString.valueOf(tf1 [0] .getText())で試してみてください。より多くのコードを提供してください。また、valueOfをSystem.out.println()に追加します。 –

+0

私はactionlistenerコードのために自分の投稿を編集しました – Commongrate

関連する問題