【问题标题】:Java : Any way to save a string input into pdfJava:将字符串输入保存为pdf的任何方式
【发布时间】:2016-11-26 03:06:52
【问题描述】:

所以当我使用ActionListener 时,我必须使用Textfield 从GUI 输入字符串并使其显示在pdf 文档中:

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

当我运行 gui 并输入 tf1 并按 b1 时,它应该将其保存在 s 中,对吗?但它并没有这样做,但是如果我只是硬编码s="string" 它会显示在 pdf 中。有什么想法吗?

忘了提到我正在使用 iText,所以我遇到的唯一问题是 String 没有从 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);
            }
    }
 }
}

【问题讨论】:

  • 您是否遇到任何问题?你可以使用外部库作为itext吗?
  • 尝试调试,看看 tf1[0].getText() 是否真的从 Textfield 获取数据。
  • 这可能对你有帮助:howtodoinjava.com/apache-commons/…
  • @Jordi Castilla 忘了提到我正在使用 iText,所以我遇到的唯一问题是字符串 s 没有从文本字段中保存

标签: java pdf actionlistener jtextfield


【解决方案1】:

抱歉,我无法更详细地回答,但您可以检查tf1[0].getText() 是否有效。只需将System.out.println("Text: "tf1[0].getText()); 放入您的ActionListener。我很确定它将为空或“文本:”。如需进一步帮助,您必须提供更多代码。

Please take a look at this link

【讨论】:

  • 我添加了那个,然后在gui文本字段中添加了“haha”,输出是Text:haha,所以我猜它正在接受输入,但是为什么不把它保存在s中
  • 这真的很奇怪。也许用 String.valueOf(tf1[0].getText()) 试试。您能否提供更多代码?还将 valueOf 添加到 System.out.println()。
  • 试过你的建议,输出和以前一样
  • 好吧,我觉得唯一有点奇怪的是你的 String 的静态声明。从逻辑上讲,这不会导致问题,但也许您应该尝试将其设为非静态变量。如果您需要它是静态的,请使用 GUI.s 调用它。抱歉,我没有其他建议。
  • 我试图在 gui 中声明它并且它工作了,所以我真的不知道为什么它不能从 actionlistener 工作
猜你喜欢
  • 2014-11-26
  • 2015-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多