2016-07-22 15 views
0

所以,我必须使用Textfield采取从GUI中的字符串输入,并使其在PDF文档中显示出来,当我使用ActionListenerJava的:任何方式的字符串输入保存成PDF

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

当我运行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()是否工作。只需将System.out.println("Text: "tf1[0].getText());放入您的ActionListener即可。我很确定它会为空或“Text:”。为了获得进一步的帮助,你必须提供更多的代码。

Please take a look at this link

+0

保存我补充说,然后在gui文本框中添加“哈哈”,输出是文本:哈哈,所以我想它是采取输入,但为什么不是它然后将其保存在s – Commongrate

+0

这真的很奇怪。也许试试用String.valueOf(tf1 [0] .getText())。你能否提供更多的代码?同时将valueOf添加到System.out.println()。 –

+0

我编辑我的帖子为行动监察员代码 – Commongrate

相关问题