У меня есть базовый графический интерфейс (простой Jframe с кнопкой), и я изменил внешний вид, используя Nimrod. Новый l & f - это темная тема, которую я меняю во время выполнения.
Однако, когда графический интерфейс запускается, на очень короткий момент графический интерфейс имеет яркий фон, а затем применяется новый темный l & f.
Я предполагаю, что причиной этой кратковременной вспышки яркости является то, что во время выполнения по умолчанию кратко отображается l & f, непосредственно перед применением новой.
Это всего лишь доли секунды, но это заметно и довольно раздражает, так как выглядит неопрятно.
Похоже, этого не произойдет, если я изменю l & f после выполнения кнопкой.
Так, у кого-нибудь еще есть опыт с этим? Есть ли возможный обходной путь для этого? Скрыть JFrame, пока не будет применен новый l & f?
Вот мой код, если это поможет:
public static void main(String[] args)
{
setTheme();
NewJFrame njf = new NewJFrame();
njf.setLocationRelativeTo(null);
njf.setTitle("My First Swing Application");
njf.pack();
njf.setVisible(true);
}
static void setTheme()
{
NimRODTheme nt = new NimRODTheme();
nt.setPrimary1( new Color(0,51,153));
nt.setPrimary2( new Color(0,92,143));
nt.setPrimary3( new Color(0,102,153));
nt.setSecondary1( new Color(31,31,31));
nt.setSecondary2( new Color(41,41,41));
nt.setSecondary3( new Color(51,51,51));
nt.setWhite( new Color(0,0,0));
nt.setBlack( new Color(255,255,255));
nt.setMenuOpacity(195);
nt.setFrameOpacity(180);
NimRODLookAndFeel NimRODLF = new NimRODLookAndFeel();
NimRODLF.setCurrentTheme (nt);
try
{
UIManager.setLookAndFeel(NimRODLF);
}
catch(Exception e)
{
}
}
Также, если нужен nimrod, вы можете получить его здесь: http://www.mediafire.com/?l9pytbooenmemgc
Любая помощь очень ценится.