Substance Java es un proyecto enfocado en la apariencia visual de las GUI (Interfaces Graficas de Usuario) para Java. Esta libreria permite agregar una apariencia mas agradable al usuario final y disponde de varios skin ya predefinidos en el JAR, como tambien el autor tambien deja disponible las fuentes de la libreria, asi tambien documentacion de su uso (en ingles).
INSTALACION
Paso 1. Ingresa a la pagina de Substance y dirigete a la seccion de
GET LATEST VERSION. Una vez ahi,te muestra una lista con las descargas disponibles, en primer lugar se encuentra la documentacion y codigo fuente de la libreria, si deseas puedes bajarte ese paquete para echar un ojo de como funciona la libreria.
El paquete necesario para la utilizacion de la libreria es "Substance 5.3 Library", se encuentra en segundo lugar, esta es la libreria completa, las restantes son versiones Lite.
Paso 2. Una ves que te descargaste el paquete, se debe proceder a su instalacion. Colocamos el paquete "Substance.jar" en el disco duro, por ejemplo:
Esta ubicacion no es una regla, puedes colocarla donde quieras, ademas de que yo me baje tambien el paquete Substance-All para cureosear un poco el codigo.
Paso 3. Abre Netbeans y dirigete al menu TOOLS - LIBRARIES, una ves abierta la ventana "Library Manager", presiona el boton New Library, entonces colocas un nombre a la libreria, "substance" y OK
Paso 4. Una ves creada la libreria, procedemos a agregar el archivo JAR. para ello situate en la pestaña "Classpath" y presiona el botn "Add Jar/Folder", busca el archivo substance.jar en tu pc y OK
Ya esta instalada la libreria Substance
Primer programa con Substance.
1. Crea un nuevo proyecto en netbeans, dale el nombre que quieras, luego añade un JFrame y coloca los controles que gustes.
3. Añade la libreria al projecto
2. en el Main del proyecto, añade este codigo:
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable(){
public void run(){
try{
JFrame.setDefaultLookAndFeelDecorated(true);
SubstanceLookAndFeel.setSkin("org.jvnet.substance.skin.DustCoffeeSkin");
}
catch(Exception e){
}
//donde skinform, es el nombre del JFrame donde se aplicara el skin
new skinform().setVisible(true);
}
});
}
Algunos skin disponibles:
10 comentarios:
Mil gracias x tu aportación!!! No inventes es justo lo que necesito!
Quiero más! =D
buenisisisisismo aporte bro hasta que pude hacer funcionar eso de los skins muchisisismas gracias
saludos coordiales
Holaaaa!!!! super buenisimo,..... quiero utilizarlo.... pero no consigo para descargarlo... alguien me lo puede facilitar enviar por correo!!!! plis. =)
es que la direccion que publicastes no esta disponible el archivo.... de verdad lo quiero utilizar.... plissss
es que la direccion que publicastes no esta disponible el archivo.... de verdad lo quiero utilizar.... plissss
hola tengo un problema no encuentro el jar, voy al proveedor teóricamente y no hay forma, te importaría pasarme el link o directamente el jar??
adriaberge@hotmail.com
Hola que tal por si a alguien le llega a servir yo encontre el .jar en la sig pagina
http://grepcode.com/snapshot/repo1.maven.org/maven2/org.java.net.substance/substance/5.3
espero les sirva y una pregunta
ya que esta el skin como puedo quitar el contorno de la ventana lo que antes se quitaba con undecorated espero alguien sepa
Exception in thread "main" java.lang.NullPointerException
at org.jvnet.substance.SubstanceDefaultListCellRenderer.getListCellRendererComponent(SubstanceDefaultListCellRenderer.java:69)
at org.jvnet.substance.SubstanceDefaultComboBoxRenderer.getListCellRendererComponent(SubstanceDefaultComboBoxRenderer.java:88)
at org.jvnet.substance.SubstanceComboBoxUI.getDefaultSize(SubstanceComboBoxUI.java:244)
at javax.swing.plaf.basic.BasicComboBoxUI.getDisplaySize(BasicComboBoxUI.java:1368)
at javax.swing.plaf.basic.BasicComboBoxUI.getBaseline(BasicComboBoxUI.java:955)
at javax.swing.JComponent.getBaseline(JComponent.java:2560)
at javax.swing.GroupLayout$ComponentSpring.getBaseline(GroupLayout.java:3075)
at javax.swing.GroupLayout$BaselineGroup.calculateBaselineAndResizeBehavior(GroupLayout.java:2732)
at javax.swing.GroupLayout$BaselineGroup.calculateSize(GroupLayout.java:2708)
at javax.swing.GroupLayout$Group.calculatePreferredSize(GroupLayout.java:1602)
at javax.swing.GroupLayout$Spring.getPreferredSize(GroupLayout.java:1346)
at javax.swing.GroupLayout$Group.getSpringSize(GroupLayout.java:1638)
at javax.swing.GroupLayout$Group.calculateSize(GroupLayout.java:1627)
at javax.swing.GroupLayout$Group.calculatePreferredSize(GroupLayout.java:1602)
at javax.swing.GroupLayout$Spring.getPreferredSize(GroupLayout.java:1346)
at javax.swing.GroupLayout$Group.getSpringSize(GroupLayout.java:1638)
at javax.swing.GroupLayout$Group.calculateSize(GroupLayout.java:1622)
at javax.swing.GroupLayout$Group.calculatePreferredSize(GroupLayout.java:1602)
at javax.swing.GroupLayout$Spring.getPreferredSize(GroupLayout.java:1346)
at javax.swing.GroupLayout$Group.getSpringSize(GroupLayout.java:1638)
at javax.swing.GroupLayout$Group.calculateSize(GroupLayout.java:1622)
at javax.swing.GroupLayout$Group.calculatePreferredSize(GroupLayout.java:1602)
at javax.swing.GroupLayout$Spring.getPreferredSize(GroupLayout.java:1346)
at javax.swing.GroupLayout.calculateAutopadding(GroupLayout.java:1071)
at javax.swing.GroupLayout.prepare(GroupLayout.java:1059)
at javax.swing.GroupLayout.preferredLayoutSize(GroupLayout.java:878)
at java.awt.Container.preferredSize(Container.java:1788)
at java.awt.Container.getPreferredSize(Container.java:1773)
at javax.swing.JComponent.getPreferredSize(JComponent.java:1662)
at org.jvnet.substance.SubstanceRootPaneUI$SubstanceRootLayout.preferredLayoutSize(SubstanceRootPaneUI.java:772)
at java.awt.Container.preferredSize(Container.java:1788)
at java.awt.Container.getPreferredSize(Container.java:1773)
at javax.swing.JComponent.getPreferredSize(JComponent.java:1662)
at java.awt.BorderLayout.preferredLayoutSize(BorderLayout.java:719)
at java.awt.Container.preferredSize(Container.java:1788)
at java.awt.Container.getPreferredSize(Container.java:1773)
at java.awt.Window.pack(Window.java:808)
at Display.login.initComponents(login.java:123)
at Display.login.(login.java:15)
at logica.Huellita.main(Huellita.java:17)
amigo se que con preguntar no atropello a nadie y si aprendo un poco pero cree mi aplicacion y al ejecutarla me sale el siguiente error si alguien me ayuda con la orientacion estaria muy agradecido
el error te muestra un valor nulo en la linea 69
AMIGO CUANDO APLICO EL SKIN A MI APLICACION FUNCIONA BIEN EL UNICO PROBLEMAS ES CON LOS REPORTES SE MUESTRAN EN EL VISUALIZADOR PERO AL DAR CLIC EN INPRIMIR NO FUNCIONA, Y AL QUITAR EL SKIN FUNCIONA DE MANERA CORRECTA EL BOTON, AYUDA?
Publicar un comentario