我正在从教程中学习GUI,并且可以通过几个指针来解决当前无法正常工作的最佳方法 .
背景:我有一个包含main方法的类,它扩展了JFrame,并初始化了一个扩展JPanel(panel1)的类 .
panel1包含一个硬编码的.txt文件URL,该文件的内容决定了帧中显示的内容(这很好) . 我正在尝试修改程序,以便用户可以从他们的机器中选择.txt文件...
为此,我创建了一个名为panel2的第三个类(扩展JPanel,实现了ActionListener),其中包含一个JButton . (我已经创建了一个新的JPanel,因为会有更多的按钮,所以它提供了布局) .
我从panel2中挑选出与错误相关的代码:
private String f;
private JButton b;
在构造函数中:
b = new JButton("Button");
add(b);
方法:
public String getName() {
return f;
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == b) {
int returnVal = fc.showOpenDialog(frame);
if (returnVal == JFileChooser.APPROVE_OPTION) {
this.f = fc.getSelectedFile().getAbsolutePath();
如果我调用getName(),它将返回null . 我需要将字符串传递给panel1来替换硬编码的URL,我打算用getName()来做 . 我知道我在做一些非常基本的错误!!任何指针都会非常感激 .