zebasss | En créant des sous-panneaux (imbrication de layout) ; il semble que du code ne passe plus.
Par exemple l'entête des colonnes d'une JTable qui s'affiche bien si je place la JTable dans le panneau principal :
Code :
- pane = new JPanel();
- //gestionnaire de positionnement
- pane.setLayout(new BorderLayout());
- FraisTable tableFraisModel = new FraisTable(new Object[] {Calendar.getInstance(), 50f, "Z01234567"}, "CHF" );
- JTable tableFrais = new JTable();
- tableFrais.setModel(tableFraisModel);
- tableFrais.createDefaultColumnsFromModel();
- // ajoute les entetes au nord du conteneur
- pane.add (tableFrais.getTableHeader(), BorderLayout.NORTH);
- pane.add (tableFrais, BorderLayout.CENTER);
- break;
- this.setContentPane(pane);
|
ne s'affiche plus dans un sous-panneau :
Code :
- JPanel body = new JPanel();
- JPanel affichageFrais = new JPanel();
- //gestionnaire de positionnement
- affichageFrais.setLayout(new BorderLayout());
- FraisTable tableFraisModel = new FraisTable(new Object[] {garantie.getDateOuverture(), garantie.getFrais(), garantie.getCompteDebite().getNoCompte()}, garantie.getDevise());
- JTable tableFrais = new JTable();
- tableFrais.setModel(tableFraisModel);
- tableFrais.createDefaultColumnsFromModel();
- // on applique le renderer sur tous les headers de la table
- TableCellRenderer headerRenderer = tableFrais.getTableHeader().getDefaultRenderer();
- ((DefaultTableCellRenderer) headerRenderer).setHorizontalAlignment(DefaultTableCellRenderer.CENTER);
- //DefaultCellRenderer
- //tableFrais.setDefaultRenderer(Object.class, new DefaultCellRenderer());
- // ajoute les entetes au nord du conteneur
- affichageFrais.add (tableFrais.getTableHeader(), BorderLayout.CENTER);
- affichageFrais.add (tableFrais, BorderLayout.NORTH);
- UtilInterface.buildConstraints(constraints, 0, 0, 1, 1, 80, 10, GridBagConstraints.CENTER, GridBagConstraints.BOTH);
- gridBody.setConstraints(tableFrais, constraints);
- body.add(tableFrais);
- this.setContentPane(body);
|
|