JLabel с одной панели ссылки на другую JPanel - PullRequest
0 голосов
/ 31 декабря 2011

Я предполагаю создать игру, используя приложение Java.У меня есть несколько JLabel с изображениями в JPanel, и я хотел бы связать эти JLabel из JPanel с различными JPanel.Возможно ли это сделать?Как и при нажатии на Jlabel, появится другая страница.

Заранее спасибо.

Ответы [ 4 ]

2 голосов
/ 01 января 2012
  • Установите курсор для метки на Cursor.HAND_CURSOR.
  • Добавьте MouseListener к каждой этикетке.
    • Вкл. mouseEntered(), установите цвет текста ссылки на другой цвет, чтобы выделить его (как в браузере).
    • Вкл. mouseClicked(), замените карточки на CardLayout, чтобы показать другие компоненты или иным образом показать другие компоненты.
2 голосов
/ 31 декабря 2011

Компоненты Swing не могут быть общими, так как они могут иметь только одного родителя.

Однако вы можете поделиться иконкой метки с другим компонентом Swing.Таким образом, в вашем MouseListener вы можете использовать getIcon() метод метки, по которой вы щелкнули.Затем вы можете добавить значок к другому компоненту второй панели, используя метод setIcon(...).

0 голосов
/ 01 января 2012

Вы можете поделиться JLabel, сделав его синглтоноподобным классом.

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

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

В ваших различных классах JPanel вы можете просто использовать этот класс для использования общего JLabel:

SharedJLabel.getSharedImageLabel();
0 голосов
/ 31 декабря 2011

Вы должны быть более конкретным.Вам необходимо указать, какие технологии вы используете.Это веб-проект?Это отдельное приложение?И что конкретно вы пытаетесь сделать.И «ссылка» имеет слишком широкий смысл.Это может означать много разных вещей.Вы должны быть более конкретными, чтобы получить надлежащую помощь.

...