2011-10-19 4 views
1

J'écris un programme graphique en Java.Rendre JSplitPane entièrement transparent

J'ai un JPanel appelé jpanel1 que j'ai inséré un JSplitpane (jSplitPane1) sur elle. J'ai mis les composants de droite et de gauche de jSplitPane1; jpanel2 & jpanel3. Je ai mis une image de fond sur le panneau vers le bas (jpanel1) et je veux JSplitPane et ses composants droite et gauche sont transparents de telle sorte que je peux voir l'image de fond sur eux. Est-ce possible en Java? Si cela est possible, puis-je utiliser cette méthode pour JTree transparent comme JSplitpane?

+0

Pour une meilleure aide plus tôt, postez un [SSCCE] (http://pscode.org/sscce.html) de votre meilleure tentative (pour pouvoir jouer avec et tester des solutions). –

Répondre

0

F dépend de la L & F. AquaL & F sur MacOS respectera setOpaque (faux) mais par ex. Nimbus ne semble pas s'en soucier. Pour forcer un diviseur transparent vous devez le remplacer dans la définition de l'interface utilisateur du JSplitPane

jSplitPane.setUI(new BasicSplitPaneUI(){ 
      @Override 
      public BasicSplitPaneDivider createDefaultDivider() { 
       return new BasicSplitPaneDivider(this){ 
        @Override 
        public void paint(Graphics g) { 
        } 
       }; 
      } 
     }); 

Un inconvénient potentiel est que cette approche remplace la & L F pour ce composant et pourrait ainsi enlever d'autres L & F éléments de thématisation .

+0

J'ai posé cette question il y a plusieurs années mais votre approche peut être efficace. Merci. – sajad

2

Vous avez simplement besoin d'appeler: setOpaque(boolean).

+0

J'ai testé avant mais pas efficace! – sajad

+0

+1, fonctionne bien pour moi. Puisque l'affiche n'a pas affiché de SSCCE, je suppose que nous ne pouvons plus offrir d'aide. – camickr

Questions connexes