2011-12-31 42 views
0

我想用java应用程序创建一个游戏。我在JPanel中有一些带有图像的JLabel,我想将这些JLabel从JPanel链接到不同的JPanel。是否有可能这样做?就像Jlabel被点击时一样,另一个页面会出现。JLabel从一个面板链接到另一个JPanel

在此先感谢。

+4

你是什么意思“link”? – Paul 2011-12-31 19:01:34

回答

2

Swing组件不能共享,因为它们只能有一个父对象。

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

0

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

+0

你的答案不是答案;这是一条评论。 – Paul 2011-12-31 19:22:00

+0

@Paul声誉小于50的用户无法在任何地方发表评论 – mKorbel 2011-12-31 19:32:16

+0

嗯,好的,谢谢@mKorbel – Paul 2011-12-31 19:38:59

0

您可以通过将JLabel设置为类似单例来共享JLabel。

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

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

在你不同的JPanel类,你可以使用这个类来使用共享的JLabel:

SharedJLabel.getSharedImageLabel(); 
相关问题