如何将JLabel添加到另一个类的JFrame中?

2022-03-01 00:00:00 java swing jlabel jpanel jframe

我是编码新手,我遇到了这个问题:我想将JLabel添加到我在不同类中创建的JFrame。这是密码。我不知道怎么做才合适,但如果他们用同样的方法,我会知道怎么做。

映射:

import javax.swing.JFrame;

public class Map {

    public static void main(String[] args) {
        map();

    }

    private static void map() {
        JFrame window = new JFrame("Run Kitty Run!");
        window.setVisible(true);
        window.setSize(1000, 500);

    }

}

猫:

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

public class Cat 
{
    //instance variables
    ImageIcon pic;

    public Cat()
    {
        //constructor
        pic = new ImageIcon("/Users/dell/Desktop/runKittyRun/cat.png");

    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub
    }

    public void draw()
    {
        JPanel panel = new JPanel();
        JLabel label = new JLabel(pic);
        panel.add(label);
        panel.setVisible(true);
    }

}

我试过做windows.add(标签),但不起作用。:/


解决方案

OK,这对任何变量或方法都有效,而不仅仅是JLabel。让我们首先将这些方法称为method one和method Two。Method One将在一个名为One的类中(我不会费心写出类主体,我是在我的iPod中写的)

JLabel jl;
public void methodOne(){
    jl = // blah blah blah;
}
好的,现在您希望在第二个方法中使用JL。因此,以下是要做的事情:

public void methodTwo(){
    One o = new One();
    JFrame j = // instance of JFrame;
    j.add(o.jl);
}

记住:JLabel变量在类One中,所以我实例化了一个。

希望能有所帮助

相关文章