tattoo - ¿Cómo mejorar la apariencia de JAVA swing GUI?
oyaha look and feel (6)
La sustancia es una LAF muy configurable y moderna:
Estoy trabajando en un proyecto que usa Java Swing. La apariencia predeterminada de la GUI de Java Swing es muy aburrida. ¿Hay alguna manera de que pueda usar una mejor apariencia? Algo así como en las páginas web ...
Mira el tutorial de Java para establecer la apariencia . Además de los mencionados allí, las versiones recientes de Java 6 también incluyen Nimbus Look and Feel .
Otra opción es la apariencia plástica . Le da a las aplicaciones Swing un aspecto tipo XP y ofrece muchas opciones de personalización.
EDITAR: Acabo de notar que las imágenes en esa página están rotas. Si hace clic en la página de Looks de JGoodies , al menos verá 3 ejemplos de lo que puede lograr con esos aspectos.
Puede establecer la apariencia para reflejar la plataforma:
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
e.printStackTrace();
}
Si esto no es lo suficientemente agradable para usted, eche un vistazo a SWT para Eclipse .
Puedes echar un vistazo here . Busqué en Google el tema de swing de Java.
Dicho eso, si estás haciendo un proyecto de pasatiempo cambiando las LAF no hay problema. Si está creando software para sus amigos, tampoco es un problema. Si crea software para clientes, mantenga el valor predeterminado de swing. Funciona bien y no es demasiado emocionante :)
si eres bueno con Photo Shop, puedes declarar el JFrame como no decorado y crear tu propia imagen que servirá como tu GUI personalizada.
en este ejemplo, consulte el JFrame como marco.
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(800, 600);
//If you want full screen enter frame.setExtendedState(JFrame.MAXIMIZE_BOTH);
frame.setUndecorated(true);
ahora que el JFrame tiene su propio borde y GUI personalizada, si definió sus propios botones personalizados para minimizar, maximizar y salir, necesita colocar un JPanel sobre los botones y declarar qué harán esos botones en una función de escucha de acción (lo siento, lol ... No sé si se llama función como c ++ o clase ...), por ejemplo, nos referiremos a JPanel como panel y configuraremos un botón de salida.
panel.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
System.exit(JFrame.EXIT_ON_CLOSE);
});
}