Как мне создать прямоугольник, который является JPanel? - PullRequest
0 голосов
/ 01 декабря 2011

У меня есть картинка как JLabel, и я хочу, чтобы, когда я щелкнул по JLabel, появился бы другой Jlabel в форме прямоугольника.

Я пытался использовать paintComponent или paint, и, к сожалению, он не работает для моей программы. Поэтому я должен думать, что есть и другие способы, кроме paintComponent и / или paint.

Цель - пометить определенную часть изображения с именем, как в Facebook.

1 Ответ

0 голосов
/ 01 декабря 2011

Ничего себе.

Исходя из описания проблемы Пейса, вам нужно будет сделать следующее (я думаю):

  • Изображение должно быть нарисовано непосредственно наJPanel.Это так, когда кто-то нажимает на изображение, вы можете получить координаты мыши x и y через прослушиватель действий JPanel.

  • Затем вы создадите JDialog с прозрачным JPanel, который имеетрамка, текстовое поле для имени и кнопка ОК вместе.(Можно также собрать все вместе в одном диалоговом окне.) JDialog будет подвижным, но вам нужно будет создать прослушиватель JDialog, который будет отслеживать координаты x и y верхнего левого края или центрапрозрачный JPanel в JDialog.

JDialog JPanel действительно не будет прозрачным.Вам придется создать иллюзию прозрачности, отметив положение JDialog JPanel на изображении JPanel и скопировав часть изображения с изображения JPanel в JDialog JPanel.

Остальное должно быть довольнопросто, по сравнению с тем, как заставить JDialog работать должным образом.

Отредактировано, чтобы добавить: Вот расширение JPanel, которое будет рисовать изображение непосредственно на JPanel и обрабатывать события нажатия мышью.

...