자바 앱을 사용하여 게임을 생성한다고 가정합니다. JPanel에 이미지가있는 JLabel이 몇 개 있으며이 JLabel을 JPanel에서 다른 JPanel로 연결하고 싶습니다. 그렇게 할 수 있습니까? Jlabel이 클릭 될 때와 마찬가지로 다른 페이지가 나타납니다.한 패널 링크에서 다른 패널로 연결되는 JLabel JPanel
미리 감사드립니다.
자바 앱을 사용하여 게임을 생성한다고 가정합니다. JPanel에 이미지가있는 JLabel이 몇 개 있으며이 JLabel을 JPanel에서 다른 JPanel로 연결하고 싶습니다. 그렇게 할 수 있습니까? Jlabel이 클릭 될 때와 마찬가지로 다른 페이지가 나타납니다.한 패널 링크에서 다른 패널로 연결되는 JLabel JPanel
미리 감사드립니다.
Cursor.HAND_CURSOR
에 레이블의 커서를 설정합니다.MouseListener
을 추가하십시오.
mouseEntered()
에서 링크 텍스트의 색을 다른 색으로 설정하여 브라우저와 같이 강조 표시합니다.mouseClicked()
에서 CardLayout
의 카드를 변경하여 다른 구성 요소를 표시하거나 다른 구성 요소를 표시하십시오.스윙 구성 요소는 단일 상위 항목 만 가질 수 있으므로 공유 할 수 없습니다.
그러나 라벨의 Icon을 다른 Swing 구성 요소와 공유 할 수 있습니다. 따라서 MouseListener에서 클릭 한 레이블의 getIcon()
메서드를 사용할 수 있습니다. 그런 다음 setIcon(...)
메서드를 사용하는 두 번째 패널에 다른 구성 요소에 아이콘을 추가 할 수 있습니다.
JLabel을 싱글 톤 클래스로 공유 할 수 있습니다. 당신의 다른 JPanel의 클래스에서
public class SharedJLabel {
private static JLabel imageLabel;
static {
//init the imageLabel here
}
public static JLabel getImageLabel() {
return imageLabel;
}
}
, 당신은 단지 공유의 JLabel을 사용하려면이 클래스를 사용할 수 있습니다 :
SharedJLabel.getSharedImageLabel();
"링크"는 무엇을 의미합니까? – Paul