【发布时间】: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