JLabel从一个面板链接到另一个JPanel

时间:2011-12-31 18:58:33

标签: java swing jpanel jlabel

我想用java app创建一个游戏。我在JPanel中有一些带有图像的JLabel,我想将这些JLabel从JPanel链接到不同的JPanel。有可能这样做吗?与单击Jlabel时一样,将出现另一个页面。

提前致谢。

4 个答案:

答案 0 :(得分:2)

无法共享Swing组件,因为它们只能有一个父组件。

但是,您可以与另一个Swing组件共享标签的图标。因此,在MouseListener中,您可以使用所单击标签的getIcon()方法。然后,您可以使用setIcon(...)方法将图标添加到另一个组件是第二个面板。

答案 1 :(得分:2)

答案 2 :(得分:0)

你必须更加具体。您需要包含诸如您正在使用的技术之类的内容。这是一个基于Web的项目吗?它是一个独立的应用程序吗?具体你要做什么。而“链接”具有太广泛的含义。这可能意味着很多不同的事情。为了得到适当的帮助,你必须更加具体。

答案 3 :(得分:0)

你可以通过使它成为像类一样的单独来共享JLabel。

public class SharedJLabel {
    private static JLabel imageLabel;
    static {
        //init the imageLabel here
    }

    public static JLabel getImageLabel() {
        return imageLabel;
    }
}

在不同的JPanel类中,您可以使用此类来使用共享的JLabel:

SharedJLabel.getSharedImageLabel();