Petit problème d'affichage du titre d'un tableau(Jtable) [Résolu]

cs_limalima 125 Messages postés dimanche 31 août 2008Date d'inscription 16 décembre 2010 Dernière intervention - 22 oct. 2008 à 13:09 - Dernière réponse : Ombitious_Developper 2333 Messages postés samedi 28 février 2004Date d'inscription 26 juillet 2013 Dernière intervention
- 22 oct. 2008 à 15:01
Bonjour à tous c'est encore moi!, j'éspère que je vous ennuie pas à vous poser des quesions tout le temps!,
voilà regardez mon code qui doit afficher un tableau AVEC SON TITRE, mais le titre ne s'affiche pas!

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.LayoutManager;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.SQLException;


import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.JTextField;


public class Formulaire extends JFrame  {
 
 
 JLabel label=new JLabel("resultat:");
 Object[][] donnees = { 
        {"Swing", "Astral", "standard", Color.red, Boolean.TRUE},
        {"Swing", "Mistral", "standard", Color.yellow, Boolean.FALSE},
        {"Gin", "Oasis", "standard", Color.blue, Boolean.FALSE},
        {"Gin", "boomerang", "compétition", Color.green, Boolean.TRUE},
        {"Advance", "Omega", "performance", Color.cyan, Boolean.TRUE},
  } ;
 Object[] titreColonnes = { "marque","modèle", "homologation",
                             "couleur", "vérifiée ?"};
  JTable jTable1 = new JTable(donnees, titreColonnes);
 
 
public Formulaire(){
 
 this.setTitle("Dessin");
    this.setSize(600, 300);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setLocationRelativeTo(null);
    this.setLayout(new FlowLayout());
    this.setLayout(new FlowLayout(FlowLayout.LEFT));
    this.add(label);
    this.add(jTable1);
    this.setVisible(true);
}


public static void main(String[]argg){
new Formulaire();
 
}


}
le résultat est:


               Swing,
Astral,
standard,
java.awt.Color[r=255,g=0,b=0]   ,
true,

----

               Swing,
Mistral,
standard,
java.awt.Color[r=255,g=255,b=0],
false,

----

resultat:   Gin,
Oasis,
standard,
java.awt.Color[r=0,g=0,b=255],
false,

----

               Gin,
boomerang,
compétition,
java.awt.Color[r=0,g=255,b=0],
true,

----

               Advance,
Omega,
performance,
java.awt.Color[r=0,g=255,b=255],
true
donc le titre ne s'affiche pas et les couleurs aussi.
merci de m'aider
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Ombitious_Developper 2333 Messages postés samedi 28 février 2004Date d'inscription 26 juillet 2013 Dernière intervention - 22 oct. 2008 à 14:03
3
Merci
Salut:

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.LayoutManager;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.SQLException; import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class Formulaire extends JFrame  {
 
 JLabel label=new JLabel("resultat:");
 Object[][] donnees = { 
        {"Swing", "Astral", "standard", Color.red, Boolean.TRUE},
        {"Swing", "Mistral", "standard", Color.yellow, Boolean.FALSE},
        {"Gin", "Oasis", "standard", Color.blue, Boolean.FALSE},
        {"Gin", "boomerang", "compétition", Color.green, Boolean.TRUE},
        {"Advance", "Omega", "performance", Color.cyan, Boolean.TRUE},
  } ;
 Object[] titreColonnes = { "marque","modèle", "homologation",
                             "couleur", "vérifiée ?"};
  JTable jTable1 = new JTable(donnees, titreColonnes);
 
 
public Formulaire(){
 
 this.setTitle("Dessin");
    this.setSize(600, 300);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setLocationRelativeTo(null);
    this.setLayout(new FlowLayout());
    this.setLayout(new FlowLayout(FlowLayout.LEFT));
    this.add(label);
    this.add(new JScrollPane(jTable1));
    this.setVisible(true);
}

public static void main(String[]argg){
    new Formulaire();
 }

}

Merci Ombitious_Developper 3

codes-sources a aidé 82 internautes ce mois-ci

Commenter la réponse de Ombitious_Developper
Meilleure réponse
Ombitious_Developper 2333 Messages postés samedi 28 février 2004Date d'inscription 26 juillet 2013 Dernière intervention - 22 oct. 2008 à 14:24
3
Merci
Salut:

import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.border.TitledBorder;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableCellRenderer;

/**
 * @author A.B.
 *
 */
public class Form extends JFrame {
   
    Object[][] data = {
            { "Swing", "Astral", "standard", Color.red, Boolean.TRUE },
            { "Swing", "Mistral", "standard", Color.yellow, Boolean.FALSE },
            { "Gin", "Oasis", "standard", Color.blue, Boolean.FALSE },
            { "Gin", "boomerang", "compétition", Color.green, Boolean.TRUE },
            { "Advance", "Omega", "performance", Color.cyan, Boolean.TRUE }, };
    Object[] titreColonnes = { "Marque", "Modèle", "Homologation", "Couleur",
            "Vérifiée" };
    JTable table = null;

    public Form() {
        setTitle("Dessin");
        setDefaultCloseOperation(EXIT_ON_CLOSE);
       
        table = new JTable(new CustomTableModel(data, titreColonnes));
        table.getColumn("Couleur").setCellRenderer(new ColorCellRenderer());
       
        JScrollPane scrollPane = new JScrollPane(table);
        scrollPane.setBorder(new TitledBorder("Table"));
        scrollPane.setPreferredSize(new Dimension(600, 400));
       
        add(new JScrollPane(scrollPane));
        pack();
    }

    public static void main(String[] argg) {
        Form form = new Form();
        form.setVisible(true);
    }
}

class ColorCellRenderer implements TableCellRenderer {
   
    public Component getTableCellRendererComponent(JTable table, Object value,
            boolean isSelected, boolean hasFocus, int row, int column) {
        JLabel label = new JLabel();
        label.setOpaque(true);
        if (value instanceof Color) {
            label.setBackground((Color) value);
        }
        return label;
    }
}

class CustomTableModel extends DefaultTableModel {
   
    public CustomTableModel() {
    }
   
    public CustomTableModel(Object[][] data, Object[] columnNames) {
        super(data, columnNames);
    }
   
    @Override
    public Class<?> getColumnClass(int columnIndex) {
        Object value = getValueAt(0, columnIndex);
        if (value != null) {
            return getValueAt(0, columnIndex).getClass();
        } else {
            return super.getColumnClass(columnIndex);
        }
    }
}

Merci Ombitious_Developper 3

codes-sources a aidé 82 internautes ce mois-ci

Commenter la réponse de Ombitious_Developper
Meilleure réponse
Ombitious_Developper 2333 Messages postés samedi 28 février 2004Date d'inscription 26 juillet 2013 Dernière intervention - 22 oct. 2008 à 14:26
3
Merci
Salut:

class CustomTableModel extends DefaultTableModel {
   
    public CustomTableModel() {
    }
   
    public CustomTableModel(Object[][] data, Object[] columnNames) {
        super(data, columnNames);
    }
   
    @Override
    public Class<?> getColumnClass(int columnIndex) {
        Object value = getValueAt(0, columnIndex);
        if (value != null) {
            return value.getClass();
        } else {
            return super.getColumnClass(columnIndex);
        }
    }
}

Merci Ombitious_Developper 3

codes-sources a aidé 82 internautes ce mois-ci

Commenter la réponse de Ombitious_Developper
Meilleure réponse
Ombitious_Developper 2333 Messages postés samedi 28 février 2004Date d'inscription 26 juillet 2013 Dernière intervention - 22 oct. 2008 à 15:01
3
Merci
Salut:

Petite correction:

    public Form() {
        setTitle("Dessin");
        setDefaultCloseOperation(EXIT_ON_CLOSE);
       
        table = new JTable(new CustomTableModel(data, titreColonnes));
        table.getColumn("Couleur").setCellRenderer(new ColorCellRenderer());
       
        JScrollPane scrollPane = new JScrollPane(table);
        scrollPane.setBorder(new TitledBorder("Table"));
        scrollPane.setPreferredSize(new Dimension(600, 400));
       
        add(scrollPane);
        pack();
    }

Merci Ombitious_Developper 3

codes-sources a aidé 82 internautes ce mois-ci

Commenter la réponse de Ombitious_Developper

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.