écrire et retour à la ligne dans une cellule JTable

infomaNss Messages postés 13 Date d'inscription mardi 2 décembre 2008 Statut Membre Dernière intervention 25 août 2012 - 25 mai 2012 à 21:49
cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Derniè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 !

1 réponse

cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 11
30 mai 2012 à 09:05
Salut,

pour etre sur de bien avoir compris, tu veux ecrire en vertical?
par exemple pour le mot JAVA, tu veux un truc style:
J
A
V
A

ou bien JAVA mais avec une rotation de 90°?
0
Rejoignez-nous