2011-05-10 50 views
15

¿Hay alguna forma de reutilizar mi CSS en una aplicación que utiliza Java Swing?¿Puedo usar CSS para Java Swing?

+2

ya dispone de un archivo CSS se utiliza para otra cosa? Una página web tal vez? ¿Para qué te gustaría usar CSS? ¿Solo colores y tamaños de fuente o diseño y comportamiento? –

+0

Sí, tengo un archivo CSS que se utiliza en mi aplicación web, pero en mi aplicación web, estoy usando un applet desarrollado en swing. Entonces, quiero saber si existen posibilidades de reutilizar mi CSS. – ricardo

+1

Posible duplicar: http://stackoverflow.com/questions/1057137/css-with-swing –

Respuesta

8

Java swing en general no está diseñado para separar sus controles de su presentación, pero hay un marco de código abierto llamado Jaxx que se ha escrito que podría ayudarlo. Con Jaxx se puede hacer algo como this:

<Application title='Calculator'> 
    <style source='Calculator.css'/> //your style goes here... 
    <script source='Calculator.script'/> 
    <Table fill='both' id='table'> 
<row> 
    <cell columns='4'><JLabel id='display' text='0'/></cell> 
</row> 

<row> 
    <cell columns='2'><JButton id='c' label='C' onActionPerformed='clear()' styleClass='clear'/></cell>  
    <cell><JButton id='ce'  label='CE' onActionPerformed='clearEntry()' styleClass='clear'/></cell> 
    <cell><JButton id='equals' label='=' onActionPerformed='equal()' styleClass='operator'/></cell> 
</row> 

<row> 
    <cell><JButton id='d7' label='7' onActionPerformed='digit(7)' styleClass='digit'/></cell> 
    <cell><JButton id='d8' label='8' onActionPerformed='digit(8)' styleClass='digit'/></cell> 
    <cell><JButton id='d9' label='9' onActionPerformed='digit(9)' styleClass='digit'/></cell> 
    <cell><JButton id='plus' label='+' onActionPerformed='add()' styleClass='operator'/></cell> 
</row> 

<row> 
    <cell><JButton id='d4'  label='4' onActionPerformed='digit(4)' styleClass='digit'/></cell> 
    <cell><JButton id='d5'  label='5' onActionPerformed='digit(5)' styleClass='digit'/></cell> 
    <cell><JButton id='d6'  label='6' onActionPerformed='digit(6)' styleClass='digit'/></cell> 
    <cell><JButton id='subtract' label='-' onActionPerformed='subtract()' styleClass='operator'/></cell> 
</row> 

<row> 
    <cell><JButton id='d1'  label='1' onActionPerformed='digit(1)' styleClass='digit'/></cell> 
    <cell><JButton id='d2'  label='2' onActionPerformed='digit(2)' styleClass='digit'/></cell> 
    <cell><JButton id='d3'  label='3' onActionPerformed='digit(3)' styleClass='digit'/></cell> 
    <cell><JButton id='multiply' label='x' onActionPerformed='multiply()' styleClass='operator'/></cell> 
</row> 

<row> 
    <cell><JButton id='d0'  label='0' onActionPerformed='digit(0)' styleClass='digit'/></cell> 
    <cell><JButton id='sign' label='+/-' onActionPerformed='toggleSign()' styleClass='operator'/></cell> 
    <cell><JButton id='dot' label='.' onActionPerformed='dot()' styleClass='digit'/></cell> 
    <cell><JButton id='divide' label='&#x00F7;' onActionPerformed='divide()' styleClass='operator'/></cell> 
</row> 

y luego incluir un archivo CSS con el estilo de sus componentes:

Application { 
    lookAndFeel: system; 
} 
#display { 
    background: #BCE5AD; 
    opaque: true; 
    horizontalAlignment: right; 
    border: {BorderFactory.createBevelBorder(BevelBorder.LOWERED)}; 
    font-size: 22; 
    font-weight: bold; 
} 
-2

escribe la aplicación en la nube con J2SE + CSS y conéctala desde Android/iPhone/J2ME a cualquier lugar.

ver código abierto https://github.com/javalovercn/homecenter

+0

esto no está relacionado con la pregunta. La pregunta es acerca de la integración de css y swing y está libre del contexto. Su respuesta es sobre la nube y diferentes dispositivos como cliente. – yerlilbilgin