Предположим, у меня есть 2 JFrames. После того, как JFrame станет видимым, вы не можете изменить LAF, не устанавливая видимость на скрытый и обычный. Это означает мерцание, и JFrame прыгает к вершине.Как я могу создать определенный JFrame с другим JFrames из другого JFrames?
В противном случае, вы получите это:
(Some смесь между металлом и системой Ubuntu LAF)
Кроме того, перекраска, кажется, не поможет.
Теперь предположим, что первый JFrame был сделан с использованием Metal LAF. После того, как он отображается, LAF изменяется на систему LAF. Затем появляется вторая. Теперь на первое повлияло это смешное. Второй - ОК. Почему это так? Это код у меня есть:
public static void main(String[] args) throws ClassNotFoundException, UnsupportedLookAndFeelException, InstantiationException, IllegalAccessException {
JFrame first = new JFrame("First");
first.add(new JButton("Click me, I look funny"));
first.setPreferredSize(new Dimension(100, 100));
first.pack();
first.setVisible(true);
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
first.repaint();
JFrame second = new JFrame("Second");
second.add(new JButton("Click"));
second.setPreferredSize(new Dimension(100, 100));
second.pack();
second.setVisible(true);
second.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
Так как я могу сделать новый LAF влияет только на 1 JFrame?
Или глобальный LAF и не может применяться только к 1 JFrame?
* "Скажем, у меня есть 2 JFrames." * См (HTTP [Использование нескольких JFrames, хороший/плохой практике?] : //stackoverflow.com/q/9554636/418556) –