-2

我已经使用 StackOverflow 一段时间了,但这是我的第一个问题,所以如果出现问题或似乎不符合标准,请原谅我。

我想在另一个类(ClassFrom)中创建一个 JPanel 对象(这里称为“面板”),然后让它显示在另一个类(ClassTo)的另一个 JFrame 对象(这里称为“框架”)中但是到目前为止,我所拥有的似乎有些不对劲,因为单击 JLabel 时 JPanel '面板'不会显示在 JFrame '框架'中。

任何人都可以看看我的代码,并在可能的情况下帮助我。我想威尔真的很感激。

这是我的代码。

import javax.swing.JFrame;

// The Class with the JFame that gets the components from ClassFrom

public class ClassTo {
    JFrame frame = new JFrame("The JFrame");
    ClassFrom classFrom = new ClassFrom();

    public static void main (String[] args)
    {
        // This is where there seems to be a problem
        frame.add(classFrom.contentMethod());
    }
}

import javax.swing.JLabel;
import javax.swing.JPanel;

// The Class with the components to be added to the JFrame in ClassTo

public class ClassFrom {
    public static void contentMethod() {
        JPanel panel = new JPanel();
        JLabel label = new JLabel("Try Label");

        panel.add(label);
    }
}
4

1 回答 1

0

问题在于尝试访问实例变量的静态方法。将 frame 和 classFrom 声明为静态或在您的 main 方法中以解决编译错误。编辑:正如 Ingo 指出的,将 contentMethod 的返回类型更改为 JPanel 并返回该面板,以便可以将其添加到 frame 变量中。

于 2013-07-27T07:37:17.050 回答