Java itext变量问题

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编号)引用非静态变量

我试图在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编号)引用非静态变量


有人能帮我吗???

由于代码不完整,再次尝试猜测:

是否
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类在哪里。是的,现在已经修好了。。你是对的,我应该在我试图实现它的主方法/方法中声明。谢谢你的帮助非常有帮助的解释。。我现在已经修好了,谢谢你的帮助。。非常感谢。