0

我使用 WindowBuilder 并获得了一个 JFrame。我已经声明并放入了一个名为dataset_list

    JList<String> dataset_list = new JList<String>();
    dataset_list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    dataset_list.setBounds(10, 245, 542, 106);
    panel.add(dataset_list);

在程序的主要功能中。

在一个名为的子函数query中,我想向该列表添加行,但不能使用声明的 JList。我也尝试过使用类似的东西,<mainfunction>.dataset_list但它不会工作。

我错过了什么(GUI-Java 的新手)?

4

2 回答 2

0

此答案已发布,因此此问题得到了答案!它是 CW,所以我没有为它赢得任何代表。

有两件事导致我的问题:

  1. 我必须在 main 方法之外声明 List 以使其对 subMethod 可见。
  2. 我必须设置它static以及方法或更好,因为我在项目上进一步工作,这是为了按照@HovercraftFullOfEels 的建议,创建我的类的一个实例并在其他地方访问它,而不是从主方法访问它。
于 2017-01-19T14:47:45.870 回答
0

您声明了dataset_list内部main方法,因此您不能在其他方法中引用它。尝试在main方法之外声明它。

    class SomeClass {
        private JList<String> dataset_list = new JList<String>();

        public static void main(String... args) {
            // your code, you can add lines in your list
        }

        private void submethod() {
            //some other code, you can also add lines in your list here
        }
    }
于 2016-09-05T12:51:30.367 回答