JTable: selection background, contour de la cellule

JTable: selection background, contour de la cellule - Java - Programmation

Marsh Posté le 16-10-2002 à 12:12:03    

Hello,
 
Voila, j'ai des JTable, et je veux éviter d'avoir une bordure autour de la cellule que l'on selectionne (qui est d'un horrible jaune avec le WindowsLookAndFeel)
 
Je demarre l'appli en faisant UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
 
Je peux faire ça:

Code :
  1. Border focusCellHighlightBorder = new BorderUIResource.LineBorderUIResource(Color.decode("#000080" ));
  2. UIManager.put("Table.focusCellHighlightBorder", focusCellHighlightBorder);


mais ça n'est "joli" qu'avec le WindowsLookAndFeel, #000080 étant sa couleur de fond pour un truc selectionné, par defaut. Avec le MetalLAF, c'est un bleu plus clair par exemple, donc je me retrouve avec une bordure foncée autour de ma cellule
 
Je peux aussi faire ça si j'une instance de JTable sous la main:

Code :
  1. Border focusCellHighlightBorder = new BorderUIResource.LineBorderUIResource(matable.getSelectionBackground());
  2. UIManager.put("Table.focusCellHighlightBorder", focusCellHighlightBorder);


mais du coup je suis emmerdé puisque je voudrais setter cette couleur une fois pour toute, au lancement de mon appli, ou aucune table n'est affichée au debut.
 
J'ai essayé avec UIManager.getColor("Table.focusCellBackground" )
(trouvé cette clé qque part dans un LAF), mais avec le WindowsLAF et le MetalLAF ça me renvoie blanc(et les autres j'en sais rien:o)...
 
Une idée??
 
 :hello:


Message édité par --greg-- le 16-10-2002 à 12:16:22

---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 16-10-2002 à 12:12:03   

Reply

Marsh Posté le 16-10-2002 à 14:27:41    

up [:sisicaivrai]


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 16-10-2002 à 16:12:08    

pour ton premier probleme, tu peux le resoudre en utilisant des themes:
 
 
voila un bout de code  
 

public void setLookAndFeel(String laf)
    {
   try {
 
     MetalLookAndFeel.setCurrentTheme(theme);
   UIManager.setLookAndFeel(laf);
   SwingUtilities.updateComponentTreeUI(this);
   } catch (Exception ex) {
   System.out.println("Failed loading L&F: " + laf);
   System.out.println(ex);
   }
   }


 
 
et pour le theme en question demande et je te le file  :)

Reply

Marsh Posté le 16-10-2002 à 16:20:26    

voila a quoi ca ressemble:
 
http://very.free.free.fr/forum/theme.jpg

Reply

Marsh Posté le 16-10-2002 à 16:21:39    

veryfree a écrit a écrit :

voila a quoi ca ressemble:
 
http://very.free.free.fr/forum/theme.jpg



ben oui ça c'est le defaut dans MetalLAF...


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 16-10-2002 à 16:29:31    

--greg-- a écrit a écrit :

ben oui ça c'est le defaut dans MetalLAF...
 




 
non avec l utilisation des themes tu choisi la couleur de fond de tes cellules et plein d autre choses encore
 
 
ou alors si tu veux pas te casser la tete avec les themes tu remplaces ton (Color.decode("#000080" ) par la couleur par defaut du metalLaf
tu m a compris?


Message édité par veryfree le 16-10-2002 à 16:29:59
Reply

Marsh Posté le 16-10-2002 à 16:34:00    

en faisant ce que je t ai dit t obtiens:
 
http://very.free.free.fr/forum/win.jpg
 
 
http://very.free.free.fr/forum/metal.jpg


Message édité par veryfree le 16-10-2002 à 16:34:21
Reply

Marsh Posté le 16-10-2002 à 17:08:07    

veryfree a écrit a écrit :

 
 
non avec l utilisation des themes tu choisi la couleur de fond de tes cellules et plein d autre choses encore
 
 
ou alors si tu veux pas te casser la tete avec les themes tu remplaces ton (Color.decode("#000080" ) par la couleur par defaut du metalLaf
tu m a compris?



et tu la choppes ou cette couleur par defaut du LAF?
paske je VEUX utiliser le systemdefaultLAF
(WindowsLAF qd t sous Win, etc etc)


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 16-10-2002 à 17:19:48    

--greg-- a écrit a écrit :

et tu la choppes ou cette couleur par defaut du LAF?
paske je VEUX utiliser le systemdefaultLAF
(WindowsLAF qd t sous Win, etc etc)
 




 
c'est une de celle ci :
 

Code :
  1. public class DefaultMetalTheme extends MetalTheme {
  2.     private final ColorUIResource primary1 = new ColorUIResource(102, 102, 153);
  3.     private final ColorUIResource primary2 = new ColorUIResource(153, 153, 204);
  4.     private final ColorUIResource primary3 = new ColorUIResource(204, 204, 255);
  5.     private final ColorUIResource secondary1 = new ColorUIResource(102, 102, 102);
  6.     private final ColorUIResource secondary2 = new ColorUIResource(153, 153, 153);
  7.     private final ColorUIResource secondary3 = new ColorUIResource(204, 204, 204);


 
 
[:titprem]

Reply

Marsh Posté le 16-10-2002 à 17:23:26    

veryfree a écrit a écrit :

 
 




gros boolay :o
j'ai essayé de faire comprendre que je voulais pas forcer l'utilisation d'un LAF ou d'un theme. Donc il me faut une méthode qui me choppe cette couleur sans que je doive savoir dans quel LAF aller la chercher :o


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 16-10-2002 à 17:23:26   

Reply

Marsh Posté le 16-10-2002 à 21:55:03    

--greg-- a écrit a écrit :

 
gros boolay :o
j'ai essayé de faire comprendre que je voulais pas forcer l'utilisation d'un LAF ou d'un theme. Donc il me faut une méthode qui me choppe cette couleur sans que je doive savoir dans quel LAF aller la chercher :o




[:leg9] cette couleur ne change pas !
c juste une de celle du bout de code que j ai mis ils suffis juste d essayé ...

Reply

Marsh Posté le 16-10-2002 à 23:45:37    

veryfree a écrit a écrit :

 
[:leg9] cette couleur ne change pas !
c juste une de celle du bout de code que j ai mis ils suffis juste d essayé ...



sisi, elle est differentre entre le MetalLAF et le WindowsLAF par exemple...


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed