écrire et retour à la ligne dans une cellule JTable
infomaNss
Messages postés13Date d'inscriptionmardi 2 décembre 2008StatutMembreDernière intervention25 août 2012
-
25 mai 2012 à 21:49
cormandyr
Messages postés600Date d'inscriptionsamedi 20 mai 2006StatutMembreDernière intervention 8 juillet 2016
-
30 mai 2012 à 09:05
Bonsoir a tous, j'ai essayer d'implémenter un code java qui sert a afficher des informations dans un JTable , est ce qu'il est possible d'afficher ces informations en mode verticale de cellule (mon code est juste il m'affiche tous mes informations voulus dans une gride JTable,
import java.awt.Dimension;
import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.border.BevelBorder;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.TableModel;
public class MainClass extends JFrame{
private JPanel panel;
MainClass(){
init();
}
public void init(){
setPreferredSize(new Dimension(750, 200));
TableModel dataModel = new AbstractTableModel() {
public int getColumnCount() { return 3; }
public int getRowCount() { return 3;}
public Object getValueAt(int row, int col) {
switch (col) {
case 0:// la je veux afficher Information concerne (retour a la ligne) la cellule voulue a afficher
return new String("Information concerne \n la cellule voulue a afficher !!!");
case 1:
return new String("Valeur ");
case 2:
return new Integer(3);
default:
throw new IllegalArgumentException();
}
}
};
JTable table = new JTable(dataModel);
table = new JTable(dataModel);
table.setAutoCreateRowSorter(true);
table.setRowHeight(50);
//a quoi? sert cette Methode ??? Rendrer??
table.setDefaultRenderer(String.class, new DefaultTableCellRenderer());
getContentPane().add(new JScrollPane(table));
panel = new JPanel();
panel.setBorder(new BevelBorder(BevelBorder.LOWERED, null, null, null, null));
panel.setLayout(new FlowLayout(FlowLayout.LEFT));
panel.setPreferredSize(new Dimension(50, 40));
panel.setAutoscrolls(true);
pack();
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
MainClass LClass = new MainClass();
LClass.setVisible(true);
}
}
Comment je dois faire pour afficher deux mots dans le sens verticale dans une cellule ? et merci tout d'abord !