![](/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.