Java itext变量问题
我试图在pdf文档中显示类“dbproperties”中的变量值。下面的代码说明了这一点Java itext变量问题,java,Java,我试图在pdf文档中显示类“dbproperties”中的变量值。下面的代码说明了这一点 dbproperties db = new dbproperties(); Chunk text1 = new Chunk(db.index_number); Paragraph p = new Paragraph(); p.add(text1); document.close(); 但是有一个错误 无法从静态内容“for”Chunk text1=新Chunk(db.index\u编号)引用非静态变量
dbproperties db = new dbproperties();
Chunk text1 = new Chunk(db.index_number);
Paragraph p = new Paragraph();
p.add(text1);
document.close();
但是有一个错误
无法从静态内容“for”Chunk text1=新Chunk(db.index\u编号)引用非静态变量
有人能帮我吗???由于代码不完整,再次尝试猜测: 是否
db
是类的非静态成员,但代码是在某个静态方法或代码块中执行的?例如
class YourClass
{
dbproperties db = new dbproperties();
public static void main(String[] args)
{
[...]
Chunk text1 = new Chunk(db.index_number);
Paragraph p = new Paragraph();
p.add(text1);
document.close();
[...]
}
}
在这种情况下,当要访问的成员与单个实例关联时,代码无法访问db
,因为代码位于静态方法中(即不在类的单个实例的上下文中)
在这种情况下,您需要类的实例,例如
[...]
YourClass instance = new YourClass();
Chunk text1 = new Chunk(instance.db.index_number);
你能告诉我们导致这个错误的确切代码吗 我的理解是,您在非静态方法或仅作为实例字段中单独声明了db变量:
dbproperties db = new dbproperties();
但是下面的代码在statis方法中执行,如下所示:
public static void main(String[] argv){
Chunk text1 = new Chunk(db.index_number);
....
}
然后,无法从main访问db。它们应该是静态的或实例的。
您可以在main中声明db来解决它 好的,你能添加完整的源代码吗?。至少添加部分代码问题occur@raam030您应该在问题中发布所需信息;e、 g.在目前的情况下,您在使用静态或非静态成员或代码时遇到问题,但您给我们的代码完全隐藏了它是否是静态的。公共类dbproperties扩展了javax.swing.JFrame{String index_number;某些方法…}请添加相关代码。我们想看看db在哪里声明,dbproperties类在哪里。是的,现在已经修好了。。你是对的,我应该在我试图实现它的主方法/方法中声明。谢谢你的帮助非常有帮助的解释。。我现在已经修好了,谢谢你的帮助。。非常感谢。