JLabel 从一个面板链接到另一个 JPanel
我想使用java应用程序创建一个游戏。我在 JPanel 中有一些带有图像的 JLabel,我想将这些 JLabel 从 JPanel 链接到不同的 JPanel。可以这样做吗?就像单击 Jlabel 时一样,会出现另一个页面。
提前致谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
Cursor .HAND_CURSOR
。MouseListener
< /a> 到每个标签。mouseEntered()
,将链接文本的颜色设置为不同的颜色以突出显示它(就像浏览器一样)。mouseClicked()
,改变CardLayout
显示其他组件,或以其他方式显示其他组件。Cursor.HAND_CURSOR
.MouseListener
to each label.mouseEntered()
, set the color of the link text to a different color to high-light it (like a browser would).mouseClicked()
, change cards in aCardLayout
to show the other components, or otherwise reveal the other components.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 thesetIcon(...)
method.你必须更具体。您需要包括诸如您正在使用的技术之类的内容。这是一个基于网络的项目吗?它是一个独立的应用程序吗?以及你具体想做什么。而且“链接”的含义太广泛了。这可能意味着很多不同的事情。您必须更加具体才能获得适当的帮助。
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.
您可以通过将 JLabel 设置为类似单例的类来共享 JLabel。
在不同的 JPanel 类中,您可以仅使用此类来使用共享 JLabel:
You can share the JLabel by making it a singleton like class.
In your different JPanel classes, you can just use this class to use the shared JLabel: