Question java (SVP)

Fermé
sky88 Messages postés 59 Date d'inscription mardi 18 mars 2008 Statut Membre Dernière intervention 4 juillet 2011 - 25 mars 2008 à 00:24
chefa Messages postés 2 Date d'inscription vendredi 18 avril 2008 Statut Membre Dernière intervention 18 avril 2008 - 18 avril 2008 à 21:32
Bonjour,
bonjour tout le monde

ma question est: est ce qu'on peut recupere une JTable qui se trouve dans un JPanel

si c'est possible comment peut on le faire????
merci à vous
A voir également:

5 réponses

Blue project
25 mars 2008 à 09:42
par la methode
getValueAt(int row, int column); 

il faut juste que tu parcours le tableau en entier et que tu recup chaque champ de donnée.
0
sky88 Messages postés 59 Date d'inscription mardi 18 mars 2008 Statut Membre Dernière intervention 4 juillet 2011 5
25 mars 2008 à 09:58
vous m'avez pas compris
j'ai créé une classe qui me renvoie un JPanel et qui contient un JTable et qhand j'ai fait l'apel de cette j'ai obtenu un JPanel
comment je peux recupere la JTable??
0
Blue project
25 mars 2008 à 10:22
cree une methode qui retourne la JTable

ou fait
class Matrice extends JTable{
    ....
}


puis dans ton main
class Main extends JFrame{
   private Matrice maMatrice;
   public Main(){
        setLayout(new BorderLayout());
        maMatrice=new Matrice();
        // initialise les données
        add(maMatrice);
        ...
   }
}
0
sky88 Messages postés 59 Date d'inscription mardi 18 mars 2008 Statut Membre Dernière intervention 4 juillet 2011 5
25 mars 2008 à 10:52
merci mais regarder ce que j'ai fait

j'ai créer une calsse qui me renvoie une matrice

aprés j'ai créé une autre qui la transforme en une table

et quand j'ai voulu recuperer la table je n'ai pas pu

public class matrice

{
private int[][] mat;
private JTable table;
private int a, cpt=0, nb;
private int [] []adjascence;

matrice (int som, JPanel p )
{
nb=0;


adjascence = new int[som][som];
for (int m =0; m<adjascence.length; m++)
{
adjascence[m][m]=0;
}

for (int m=0; m<=som-1; m++)
{

for (int m1=m+1; m1<som; m1++)
{
Random q1 = new Random();
a= q1.nextInt(2);


adjascence[m][m1] =a;
adjascence[m1][m] = a;

}

}

table = new JTable();
table = new JTable(som+1, som+1);
table.setTableHeader(null);

table.setValueAt(" Sommet", 0, 0);


for (int n=1; n<=som; n++)
{
table.setValueAt(" S"+(n-1), n, 0);

}

for (int n=1; n<=som; n++)
{ table.setValueAt(" S"+(n-1), 0, n);}

for (int n=1; n<=som; n++)
{
for (int m=1; m<=som; m++)
table.setValueAt(adjascence[n-1][m-1], n, m);
}


p.setLayout( new BorderLayout() );
JScrollPane scroller = new JScrollPane( table);
scroller.setBackground(Color.black);
scroller.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
scroller.setVisible(true);


table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
scroller.setViewportView(table);

JScrollPane scroller1 = new JScrollPane( table);
scroller1.setBackground(Color.black);
scroller1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
scroller1.setVisible(true);

scroller.setPreferredSize(new Dimension(677,20));
p.add(scroller, BorderLayout.SOUTH );
p.add(scroller);

scroller1.setPreferredSize(new Dimension(20,450));
p.add(scroller1, BorderLayout.EAST);
p.add(scroller1);

table.setFont(new Font("Tahoma",Font.BOLD,12));
table.setEnabled(false);
table.setBorder(BorderFactory.createLineBorder(Color.red,1));
table.setDefaultRenderer(Object.class, new CenterTableCellRenderer());
table.setVisible(true);

table = (JTable) scroller.getViewport().getView();


table.revalidate();
table.setBackground(Color.black);

table.setBounds(0,0,675,450);




}
public int [][] getmatrice()
{
return this.adjascence;
}

}








public class matTotab

{
private int [][] mat;
private Object ob;
private String val;

tabTomat(int [][] mat,int som)

{
for (int s=0; s<=som-1; s++)
{
for (int s1=0; s1<=som-1; s1++)
{
ob=tab.getValueAt(s, s1);
val = ob.toString();
mat[s][s1]= Integer.parseInt(val);
}
}
}
public JTable gettabTomat()
{
return this.table;
}

}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
j'aimerais de l'aide...please....
je voudrais savoir si il est possible de connaitre une manipulation afin de continuer à voir le pointeur de ma souris...malgré les codes de no show issus du jeu programmés en java.... sans visualiser le pointeur c'est dur dur...y aurait-il une action possible pour empecher ce programme java qui me la fait disparaitre...???
Je sais c'est une question un peu conne...et sans trop d'importance....mais si y'avait une reponse ca serait cool...!!!! lol merci d'avance...
0
chefa Messages postés 2 Date d'inscription vendredi 18 avril 2008 Statut Membre Dernière intervention 18 avril 2008 13
18 avril 2008 à 21:32
Bon je commence par l’architecture MVC modèle vue contrôle
Il faut crier un modèle et avec ce modèle tu va crier la vue

javax.swing.table.TableModel modele = new javax.swing.table.AbstractTableModel() {
public int getColumnCount() { return 5; }
public int getRowCount() {int ligne; ligne = matrice.length;return ligne;}
public Object getValueAt(int row, int col) {return matrice[row][col] ;}
public String getColumnName(int column) { return nomcol[ column];}
public boolean isCellEditable(int row, int col) {return true;}
public void setValueAt(Object aValue, int row, int column) {
matrice[row][column] = aValue;
}
};
tab=new javax.swing.JTable(modele);
jScro.getViewport().add(tab);
javax.swing.table.TableColumn Col = tab.getColumn(" cham1 ");
Col.setPreferredWidth(20);
javax.swing.table.DefaultTableCellRenderer cel = new javax.swing.table.DefaultTableCellRenderer() {
public void setValue(Object value) {
int cellValue = (value instanceof Number) ? ((Number)value).intValue() : 0;
setForeground(java.awt.Color.red);
setText((value == null) ? "" : value.toString());
}
};//selon le nombre de vos colonne
0