Мне тяжело пытаться создать в качестве основного окна программу на Java с только формой (например, прямоугольником). Я не хочу, чтобы форма находилась внутри «OS-window» (с кнопками для закрытия и минимизации и т. Д.)Как показать фигуру или графику в java без рамки окна?
ответ
Не знаю, можно ли рисовать непосредственно на экране в Java (я склонен думаю, вы не можете). Но вы можете создать JDialog
(который не отображается на панели задач) и вызвать на нем setUndecorated(true)
(чтобы избавиться от строки заголовка). Затем вы можете делать с ним любую обычную картину.
Редактировать:kts указывает, что JWindow
будет работать даже лучше для этой цели. Из Javadocs:
Это не имеет строку заголовка, кнопки оконного управления или другие отделочные материалы, связанные с
JFrame
, но это все еще «первый класс гражданин» на рабочем столе пользователя, и может существовать где угодно.
И есть даже no-argument constructor, так что вам не придется беспокоиться о передаче в null
владельца!
Вот что я искал, спасибо :) – Johannes
вы могли бы просто создать JWindow. У него нет этого досадного конструктора JFrame/JDialog. Он также не отображается в панели задач. У меня тоже нет украшений. JDialog должен работать, но я всегда говорю о передаче null в качестве аргумента. – KitsuneYMG
Хороший совет на JWindow. Я даже не осознавал, что этот класс существует, но он идеально подходит для этой работы. –
Для более экзотических форм: translucent and shaped windows. Работает только в 6u10 и более поздних версиях.
http://stackoverflow.com/questions/722827/how-can-i-create-a-java-swing-app-that-covers-the-windows-title-bar – erickson
@erickson: Это было около полноэкранный режим. Я не думаю, что это дубликат. –
Это другое приложение, но решение такое же. – erickson