如何将JLabel添加到扩展JPanel的类中

Dad*_*Del 1 java swing extends jlabel jpanel

正如标题所说,我想将JLabel添加到一个扩展JPanel的类(在我的例子中,名为GamePanel).我试过了

    public class GamePanel extends JPanel implements Runnable, KeyListener
    {

/*Some of my instructions
*
*/
       public void gamelabel()
       {
             JLabel mylabel = new JLabel();
             mylabel.setBounds(0, 0, 1280, 720);
             GamePanel.add(mylabel);    //Here I'm getting an error message
       }

/*Others instructions
*
*/
    }
Run Code Online (Sandbox Code Playgroud)

所以我真的不知道该怎么做,但我觉得这一定是一个简单的解决方案......但是,我找不到它.

我怎么能这样做?提前致谢.

Mad*_*tha 5

this.add() 而不是Gamelabel.add().

你不能打电话Gamelabel.add(),因为打电话Gamelabel.add()应该有一个静态方法add()Gamelabel类,但Gamelabel有一个继承的实例方法add()不是静态方法.

   public void Gamelabel() {
        JLabel mylabel = new JLabel();
        mylabel.setBounds(0, 0, 1280, 720);
        mylabel.setVisible(true); //unnecessary 
        this.add(mylabel);
    }
Run Code Online (Sandbox Code Playgroud)

也使用布局管理器.在代码中你不能使用setBounds()方法,因为面板布局是流程(默认).setbounds不使用布局管理器时用于绝对定位.所以阅读如何使用布局管理器流程布局.

也是mylabel.setVisible(true);不必要的,因为jlable默认情况下可见不像jframe.