У меня есть панель JPanel с именем Scene
, которая включает в себя следующие панели JPanel: Frame
, Projector
, Tools
.
Я использую нулевой макет на Scene
, потому что хочу использовать определенные координаты, поэтому никакой другой макет мне не подходит. Я использую следующий код, чтобы добавить 3 панели JPanel в основную панель JPanel Scene
.
setLayout(null);
add(Tools);
add(Frame);
add(Projector);
Я использую этот порядок, потому что хочу, чтобы Tools
всегда было сверху (по оси Z).
Теперь, если я сделаю что-то внутри Projector
, что вызовет перерисовку, тогда Projector
окажется поверх других слоев, скрывая Tools
. Я могу использовать поток, чтобы перерисовать всю Scene
JPanel, но я вижу эту "вспышку", когда Projector
появляется сверху и переходит снизу, и я не хочу этого делать.
Любые идеи?
tools
, который будет находиться поверх двух других панелей JPanel. Мой код состоит из более чем 900 строк кода, поэтому я не могу просто скопировать и вставить его, даже его часть. Я могу написать небольшую программу, которая имитирует проблему, но я думаю, что создать 3 панели JPanel не так уж сложно. - person Giannis Tzagarakis   schedule 26.03.2016"but I think creating 3 JPanels is not that hard"
-- Я согласен, и это ваш вопрос и ваша проблема, так что, во что бы то ни стало, создайте свою небольшую программу с 3 JPanels и помогите нам, опубликовав ее со своим вопросом. Бремя усилий должно лежать на вы, поскольку 1) это ваш вопрос и 2) мы добровольцы. - person Hovercraft Full Of Eels   schedule 26.03.2016tools
покрыть две другие панели JPanel. Так что, возможно, я попробую JLayeredPane, если это что-то похожее на JPanel. - person Giannis Tzagarakis   schedule 26.03.2016on top
можно интерпретировать как компонент, который должен быть помещен в позициюNORTH
, или его можно интерпретировать так, как он должен отображаться вверху в направленииz axis
. - person Vighanesh Gursale   schedule 26.03.2016add(...)
, который принимает целочисленную константу в качестве второго параметра. - person Hovercraft Full Of Eels   schedule 26.03.2016