Java 新手问题:如何从同一类中的另一个方法或其他方法访问已创建的JComboBox实例

Java 新手问题:如何从同一类中的另一个方法或其他方法访问已创建的JComboBox实例,java,swing,object,methods,jcombobox,Java,Swing,Object,Methods,Jcombobox,如果我有: 甲级{ // bunch of stuff here public void intitialize() { // bunch of stuff here JComboBox jBox = new JComboBox() formatBox.addItem(//some objects added here)) //I do the rest of my business in this intitialize method

如果我有:

甲级{

    // bunch of stuff here

    public void intitialize() {
    // bunch of stuff here

    JComboBox jBox = new JComboBox()

    formatBox.addItem(//some objects added here))
    //I do the rest of my business in this intitialize method

    } 
}

如果我想添加另一个调用时可以在jBox上操作的方法,我该怎么做?此代码不起作用:

Class A {

             // bunch of stuff here
             public void intitialize() {
             // bunch of stuff here
             JComboBox jBox = new JComboBox()
             formatBox.addItem(//some objects added here))
             //I do the rest of my business in this intitialize method
             }

            //newly added method
            public void anotherMethod(){

            jBox.removeItem(//some item here)

            }

}

有哪些正确的编写方法允许从类或其他类的不同方法访问jBox?为什么不这样做呢?

将JComboBox定义为类a中的字段,并删除
initialize
方法中的类型声明:

Class A {
             private JComboBox  jBox;
             // bunch of stuff here
             public void intitialize() {
             // bunch of stuff here
             jBox = new JComboBox()
             formatBox.addItem(//some objects added here))
             //I do the rest of my business in this intitialize method
             }

            //newly added method
            public void anotherMethod(){

            jBox.removeItem(//some item here)

            }

}

将JComboBox定义为类a中的字段,并删除
initialize
方法中的类型声明:

Class A {
             private JComboBox  jBox;
             // bunch of stuff here
             public void intitialize() {
             // bunch of stuff here
             jBox = new JComboBox()
             formatBox.addItem(//some objects added here))
             //I do the rest of my business in this intitialize method
             }

            //newly added method
            public void anotherMethod(){

            jBox.removeItem(//some item here)

            }

}

使用实例变量并将
JComboBox
存储在那里。如果您想从另一个类访问它,您可能应该创建一个public
getJBox()
方法,这样实例方法就可以是私有的

例如:

Class A {

    private JComboBox jBox;

    public void intitialize() {
        jBox = new JComboBox()

        formatBox.addItem(//some objects added here))
        //I do the rest of my business in this intitialize method

    }

    public JComboBox() getJBox() {
        return jBox;
    }

}

使用实例变量并将
JComboBox
存储在那里。如果您想从另一个类访问它,您可能应该创建一个public
getJBox()
方法,这样实例方法就可以是私有的

例如:

Class A {

    private JComboBox jBox;

    public void intitialize() {
        jBox = new JComboBox()

        formatBox.addItem(//some objects added here))
        //I do the rest of my business in this intitialize method

    }

    public JComboBox() getJBox() {
        return jBox;
    }

}
谢谢:)。你们都给出了相同的答案,亚当也回答了我的另一个问题,这就是为什么我接受了他的答案。我希望能够接受这两个答案。谢谢:)。你们都给出了相同的答案,亚当也回答了我的另一个问题,这就是为什么我接受了他的答案。我希望这两个答案都能接受。