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

发布于 2024-12-23 18:02:49 字数 135 浏览 1 评论 0 原文

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

提前致谢。

I'm suppose to create a game using java app. I have a few JLabel with images in a JPanel and I would like to link these JLabels from a JPanel to different JPanel. Is it possible to do so? As in when the Jlabel is being clicked, another page will appear.

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

瀟灑尐姊 2024-12-30 18:02:49
绝不放开 2024-12-30 18:02:49

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

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

Swing components can't be shared as they can only have a single parent.

However you can share the Icon of the label with another Swing component. So in your MouseListener you can use the getIcon() method of the label you clicked on. Then you can add the icon to another component is the second panel using the setIcon(...) method.

酒废 2024-12-30 18:02:49

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

You have to be more specific. You need to include things like what technologies you're using. Is this a web based project? Is it a stand alone application? And what specifically you're trying to do. And "link" has too broad of a meaning. That could mean a lot of different things. You have to be more specific in order to get the proper help.

杯别 2024-12-30 18:02:49

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

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

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

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

SharedJLabel.getSharedImageLabel();

You can share the JLabel by making it a singleton like class.

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

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

In your different JPanel classes, you can just use this class to use the shared JLabel:

SharedJLabel.getSharedImageLabel();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文