2015-06-22 2 views
1

У меня есть массив JLabels, и я хочу добавить к ним ActionListener. На каждой этикетке должна отображаться панель, а другая должна быть удалена. Как я могу это понять?Array JLabel ActionListener несколько JPanels

+0

Не просто спросите нас, чтобы написать код для вас. Пожалуйста, опубликуйте свою незавершенную работу. – JAL

+0

Мне не нужен код, только как это сделать. Должен ли я создавать методы для отдельных панелей? Затем добавьте в mouseListener if if if? Например, если case1: lable.getText() = xy, то вызовите метод xy, ect ...? – coo12

ответ

2

Вы не можете напрямую добавить ActionListener в JLabel - у него нет этой функции. Вместо этого вы должны создать MouseAdapter, переопределить метод mouseClicked и использовать JLabel.addMouseListener, чтобы добавить его в JLabel. Лучший способ получить его, как вы говорите, «отобразить панель, а другой должен быть удален» - использовать CardLayout.

+1

Или используйте незакрепленный JButton и получите поддержку клавиатуры;) – MadProgrammer

+0

спасибо! Это я хотел знать – coo12

2

У меня есть массив JLabels, и я хочу добавить ActionListener в .

JLabel не имеет ActionListener поддержка. Вы можете использовать undecorated JButton вместо

На каждой этикетке должна отображаться панель, а другая должна быть удалена. Как я могу это понять?

Используйте CardLayout

+0

Может кто-нибудь, пожалуйста, укажет причину понижения? – MadProgrammer

Смежные вопросы