Bonjour a tous,
J essaie de manipuler les Jtable pour les uitiliser dans ma prochaine application masi j ai des souci de mise en forme. En effet, je n 'arrive pas a centrer le titre de mes colonnes ainsi que leurs contenus.
Voici ma classe main (tres mal organise mais c'est juste pour apprendre ). Quelqu un pourrait me dire pourquoi cellRenderer.setHorizontalTextPosition(SwingConstants.CENTER); ne fonctionne pas car je comprends pas vraiment ou alros c est que j essaie pas au bon endroit.public class Main {
/**
* @param args
*/
public static void main(String[] args) {
try {
UIManager.setLookAndFeel(new WindowsLookAndFeel());
} catch (Exception e) {
}
JFrame mainFrame = new JFrame();
mainFrame.setTitle("Test JTable");
mainFrame.setSize(new Dimension(800, 600));
mainFrame.setLayout(new BorderLayout());
MyTableModel tableModel = new MyTableModel();
tableModel.addColumn("Colonne 1");
tableModel.addColumn("Colonne 2");
String[] test = { "Valeur 1", "Valeur 2" };
tableModel.addRow(test);
tableModel.addRow(test);
JTable table = new JTable(tableModel);
TableColumn column = table.getColumnModel().getColumn(0);
DefaultTableCellRenderer cellRenderer = new DefaultTableCellRenderer();
cellRenderer.setHorizontalTextPosition(SwingConstants.CENTER);
column.setPreferredWidth(250);
column.setHeaderRenderer(cellRenderer);
column.setCellRenderer(cellRenderer);
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
JScrollPane scrollPane = new JScrollPane(table);
mainFrame.add(scrollPane, BorderLayout.CENTER);
mainFrame.setVisible(true);
}
}
Je debut en swing donc soyez indulgent, je n'ai pas trouve de tutoriel traitant ce probleme
Pourriez vous m'indiquez les conventions afin de develloper en swing (separation des classes, des listener, ...)
Merci d'avance
Pour mon MyTableModel voici le code :
C'etait juste poru avoir des cellule non editableimport java.util.Vector;
import javax.swing.table.DefaultTableModel;
public class MyTableModel extends DefaultTableModel {
public MyTableModel() {
super();
}
public MyTableModel(int rowCount, int columnCount) {
super(columnCount, rowCount);
}
public MyTableModel(Vector columnNames, int rowCount) {
super(columnNames, rowCount);
}
public MyTableModel(Object[] columnNames, int rowCount) {
super(columnNames, rowCount);
}
public MyTableModel(Vector data, Vector columnNames) {
super(data, columnNames);
}
public MyTableModel(Object[][] data, Object[] columnNames) {
super(data, columnNames);
}
public boolean isCellEditable(int row, int column) {
return false;
}
}
Partager