Domanda

Sto usando la barra multifunzione Flamingo e l'aspetto grafico di Substance Office 2007.

Ovviamente ora ogni controllo ha questo aspetto grafico, anche quelli nelle finestre di dialogo.

Quello che voglio è qualcosa di simile a Office 2007, in cui i nastri hanno l'aspetto di Office 2007, ma altri controlli mantengono l'aspetto di Vista / XP nativo.

È possibile assegnare a determinati controlli un aspetto diverso? Forse usando una sorta di concatenamento o un aspetto e un proxy?

È stato utile?

Soluzione

Ho appena scoperto: da Substance 5.0 SKIN_PROPERTY è disponibile.

Permette di assegnare skin diverse a JRootPanes (es. JDialog , JFrame , JInternalFrame )

Un piccolo trucco: sovrascrivo JInternalFrame per rimuovere il bordo extra e il riquadro del titolo in modo che appaia come un pannello senza bordi. In questo modo è possibile creare l'impressione che parti diverse di una forma / finestra di dialogo abbiano un aspetto diverso.

Altri suggerimenti

Ecco una libreria che cambierà automaticamente l'aspetto. Non sono sicuro che questo sarà fatto per ogni componente in modo diverso, ma dovresti dare un'occhiata a questo. pbjar.org

Questo libro dovrebbe essere utile se vuoi approfondire l'aspetto e la sensazione / java-look-and-feel-design-linee guida-seconda edizione

Sarei felice di vedere qualche esempio di codice, se qualcuno può scriverlo, sentiti libero di iniziare.

Modifica

In questo thread del forum Thread ho trovato il seguente descrizione

  

Swing utilizza un look & amp; Senti (un PLAF).   I PLAF non sono collegati a un J-frame   livello. Sono collegati su una macchina virtuale   livello. È quasi impossibile mescolare   PLAF all'interno di una domanda. io ho   visto alcuni tentativi, tutti falliti.

Purtroppo Swing fa un sacco di " psuedo-global " cose dietro le quinte. AFAIK, l'unico modo per farlo in modo coerente è utilizzare l'API AppContext privata. Ogni AppContext ha il proprio thread di invio di eventi e altri "quotazioni psuedo-globali".

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top