0
在我看来,WindowBuilder对话框创建为它自己的东西。即所有组件都在构造函数中作为局部变量存在。因此,无法访问,初始化或读取其中的数据。如何访问由WindowBuilder创建的对话框内部?
为什么这么说?
在我看来,WindowBuilder对话框创建为它自己的东西。即所有组件都在构造函数中作为局部变量存在。因此,无法访问,初始化或读取其中的数据。如何访问由WindowBuilder创建的对话框内部?
为什么这么说?
这只是WindowBuilder生成的默认范围。如果您要访问的,例如,您的类中的另一种方法,你可以随时从代码的组件:
public Test_class() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
JPanel panel = new JPanel(); //Object created within the constructor
contentPane.add(panel, BorderLayout.CENTER);
}
要更多的东西一样:
private JPanel panel;
public Test() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
panel = new JPanel();
contentPane.add(panel, BorderLayout.CENTER);
}
完成该操作后,您将能够从代码中稍后调用的任何方法调用方法,如panel.add(Component)
。您也可以将修改器更改为public
,然后通过使用Test_class().panel.method()