2015-04-03 2 views
-2

Я видел много примеров кода, но ни один из них не показывает мне, как отображать ImageIcon с помощью JLabel на JFrame без использования диспетчера макетов. Мне неоднократно говорили, что абсолютное позиционирование - это хлопот и менее эффективный, чем менеджер компоновки, но я бы предпочел полный контроль над тем, куда идут мои элементы. Полный масштаб пример класс (без дополнительных вещей, добавляемых) от JLabel, который будет отображать изображение на JFrame с абсолютным позиционированием будет высоко ценится, спасибоImageIcon by JLabel пример с абсолютным позиционированием

+1

Идеальное позиционирование пикселей - это иллюзия в современном/профессиональном интерфейсе. У вас нет никакого контроля над процессами рендеринга, которые могут изменить требуемый размер компонентов, то есть вам нужно будет в основном заново изобрести макет менеджера api, чтобы добиться результатов, которые вы в конечном итоге после. Это, конечно же, ваш выбор, и вы можете игнорировать его, но с общим результатом более 40 лет профессионального развития программного обеспечения среди нас, поэтому мы сказали, что вам следует использовать менеджеров компоновки. – MadProgrammer

+0

Когда вы говорите, что процессы рендеринга , о чем именно вы говорите? Я знаю, что изменение размера JFrame может повредить, но я планирую, что мое приложение будет полноэкранным. Изображение, которое мне нужно, должно перемещаться по экрану, поэтому я не хочу, по сути, «привязывать» его к определенному местоположению окна. Какой макет вы предпочли бы тогда для изображения, которое, скажем, я хотел бы передвигаться с помощью клавиш со стрелками на экране? – nicknicknick111

+1

Java/Swing использует конвейер рендеринга ОС, DirectX/OpenGL для Windows, OpenGL на Linux и Apples на Mac. Один шрифт будет отображаться по-разному на каждой платформе (например), требуя больше или меньше места на каждой платформе. * «Какую компоновку вы предпочли бы тогда для изображения, которое, скажем, я хотел передвигаться с помощью клавиш со стрелками на экране?» * - Этого недостаточно для контекста, чтобы сделать предложение, но лично я бы предпочел использовать обычную картину – MadProgrammer

ответ

2

Изображения мне нужно должно двигаться вокруг screen

Важная информация отсутствует в исходном вопросе. У меня нет проблемы с использованием нулевого макета для этого.

Я хотел передвигаться с помощью клавиш со стрелками на экране?

И не используйте для этого KeyListener. Вместо этого вы должны использовать привязки клавиш.

См. Код KeyboardAnimation.java, найденный в Motion Using the Keyboard для решения этой проблемы.

+0

Это для подсказки по связыванию ключей, я думаю, что я начинаю понимать. Мне все еще нужен пример кода абсолютной позиционной jlabel, которая появляется в JFrame, так как я не могу заставить ее работать, я бы опубликовал свой собственный код, но это так далеко, что я не думаю, что это поможет , – nicknicknick111

+0

@ nicknicknick111, 'Мне все еще нужен пример кода абсолютной позиции jlabel' - ??? это то, что делает код во всех трех примерах. – camickr

+0

В коде показаны различия между клавишами привязки и KeyListeners, а не абсолютными позиционируемыми метками на JFrame. Я рад за всю дополнительную информацию, но это был действительно то, о чем мой вопрос задавал – nicknicknick111

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