【发布时间】:2020-07-14 17:49:41
【问题描述】:
为什么我的JTextField 是“空的”,即使我在其中输入了文字?
我正在制作一个创建 PDF 文件的 Java 程序。我从field3.getText(); 检索文本字段输入,但它始终为null,即使它不为空。因此,我想在 PDF 上显示的文本没有显示。
contentStream.beginText();
contentStream.setFont(font2, fontSize3);
contentStream.newLineAtOffset(50, 690);
String name7;
try {
name7 = GUI.field3.getText();
contentStream.showText(name7);
} catch (Exception e) {
System.out.println("Error");
}
contentStream.endText();
//field3 piece of code in another class:
public class GUI {
static String adress;
static String name;
static String country;
static String postal;
static String companyname;
static String tel;
static JTextField field2;
static JTextField field3;
static JTextField field_4;
static JTextField field4;
JTextField field5;
public static void main(String[] args) {
}
public GUI() {
field3 = new JTextField("");
}
}
【问题讨论】:
-
field3 = new JTextField("");应该是field3 = new JTextField(100); -
再想一想 - 检查您是否关闭了 contentStream。或者修改这段代码做一个调试输出来检查这是否是一个摆动问题。
-
请查看docs.oracle.com/javase/tutorial/uiswing/start/index.html。我看不到将 field3 添加到 JPanel 或 JFrame 的位置。
-
所以这不是PDFBox的问题,所以你可以删除那个部分。目前我看不到您在该字段中分配值的位置。请应用 Andrew Thompson 所写的内容,创建一个显示问题的自工作代码。带有 awt / swing 的代码不是这样的,请参阅 montardon 的评论。