![](/img/trans.png)
[英]How should I drag a JLabel from one JPanel in a JFrame onto a JTextField in another JPanel in the same JFrame?
[英]JLabel from one panel link to another JPanel
我想使用Java应用程序创建游戏。 我在JPanel中有一些带有图像的JLabel,我想将这些JLabel从一个JPanel链接到另一个JPanel。 有可能这样做吗? 与单击Jlabel时一样,将显示另一个页面。
提前致谢。
Swing组件只能共享一个父级,因此无法共享。
但是,您可以与另一个Swing组件共享标签的图标。 因此,在MouseListener中,您可以使用单击的标签的getIcon()
方法。 然后,您可以使用setIcon(...)
方法将图标添加到第二个面板的另一个组件中。
Cursor.HAND_CURSOR
。 MouseListener
添加到每个标签。
mouseEntered()
,将链接文本的颜色设置为其他颜色,以突出显示该颜色(就像浏览器一样)。 mouseClicked()
,更改CardLayout
卡以显示其他组件,或者以其他方式显示其他组件。 您必须更具体。 您需要包括诸如所使用的技术之类的内容。 这是一个基于Web的项目吗? 它是独立应用程序吗? 以及您到底想做什么。 而且“链接”的含义太广了。 那可能意味着很多不同的事情。 您必须更加具体才能获得适当的帮助。
您可以通过将JLabel设置为单例类来共享它。
public class SharedJLabel {
private static JLabel imageLabel;
static {
//init the imageLabel here
}
public static JLabel getImageLabel() {
return imageLabel;
}
}
在不同的JPanel类中,您可以使用此类来使用共享的JLabel:
SharedJLabel.getSharedImageLabel();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.