Как мне установить Z-порядок для изображения в Swing Java? - PullRequest
2 голосов
/ 08 февраля 2011

У меня есть 3 изображения, поэтому я хочу, если я перетаскиваю любое изображение, которое должно появляться над всеми другими изображениямиКакую технику можно использовать?пожалуйста, любая идея ????Кстати, я использую «ImageIcon».

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

Ответы [ 2 ]

3 голосов
/ 08 февраля 2011

Если вам нужно щелкнуть изображение, поднять его над остальными, а затем перетащить его, рассмотрите возможность размещения их в ImageIcons и в JLabels и отображения их в JLayeredPane или JPanel, который содержится вПанель со слоями.Затем вы можете поднять метку, на которую нажали, на JLayeredPane.DRAG_LAYER во время перетаскивания, а затем опустить ее в DEFAULT_LAYER (или на JPanel, который находится на DEFAULT_LAYER), когда закончите.Пример этого см. В моем коде в соответствующем вопросе: перетаскивание метки по экрану

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

1 голос
/ 08 февраля 2011

Кстати, я использую "ImageIcon".

Я предполагаю, что это означает, что вы добавляете изображение в JLabel, а затем добавляете JLabel в JPanel.должен появиться над всеми другими изображениями

Вам необходимо добавить MouseListener в JLabel.Когда вы нажимаете на метку, вы можете сбросить ее Z-порядок на 0. Это приведет к тому, что метка будет окрашена последней, и поэтому она будет поверх всех других меток на панели.

Так что основнойкод в MouseListener будет:

panel.setComponentZOrder(label, 0);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...