Jtable avec JtextField

cs_kawim Messages postés 9 Date d'inscription dimanche 23 mars 2008 Statut Membre Dernière intervention 3 juin 2008 - 12 avril 2008 à 21:04
KenZara Messages postés 112 Date d'inscription vendredi 24 décembre 2004 Statut Membre Dernière intervention 20 décembre 2011 - 15 avril 2008 à 17:39
Salut,

J'ai un probleme pour afficher le contenu de mon text field dans un Jtable, si quelqu'un peut m'aider, voila mon code, et merci :

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
import javax.swing.border.*;
import javax.swing.table.TableModel;
import javax.swing.table.TableColumn;

class Art extends JFrame implements ActionListener
{public Art ()

{ setTitle("Programme article");
setSize(1450,950);


Container contenu = getContentPane();
contenu.setLayout(new FlowLayout());
contenu.setBackground(Color.darkGray);

P1 = new JPanel();
contenu.add(P1);
P2 = new JPanel();
P3 = new JPanel();
contenu.add(P3);
P4 = new JPanel();
contenu.add(P4);

P2.setLayout(new BorderLayout());
P2.add(P1,BorderLayout.NORTH);
P2.add(P3,BorderLayout.CENTER);
P2.add(P4,BorderLayout.SOUTH);
contenu.add(P2);
P1.setBackground(Color.darkGray);
P2.setBackground(Color.darkGray);
P3.setBackground(Color.darkGray);
P4.setBackground(Color.darkGray);

l1 = new JLabel("Articles :");
l1.setForeground(Color.red);
tf1 = new JTextField(15);
P1.add(l1);
P1.add(tf1);

l2 = new JLabel("References :");
l2.setForeground(Color.red);
tf2 = new JTextField(15);
P1.add(l2);
P1.add(tf2);

l3 = new JLabel("Prix hors taxe :");
l3.setForeground(Color.red);
tf3 = new JTextField(15);
P1.add(l3);
P1.add(tf3);

l4 = new JLabel("Taux TVA :");
l4.setForeground(Color.red);
tf4 = new JTextField(15);
P1.add(l4);
P1.add(tf4);

l5 = new JLabel("Prix TTC :");
l5.setForeground(Color.red);
tf5 = new JTextField(15);
P1.add(l5);
P1.add(tf5);

tab = new JTable();
P3.add(new JScrollPane(tab));


B1 = new JButton("Create");
B2 = new JButton("Quitter");
B3 = new JButton("Nouveau");
P4.add(B1);
P4.add(B3);
P4.add(B2);

B1.addActionListener(this);
B2.addActionListener(this);
B3.addActionListener(this);


}

public void actionPerformed(ActionEvent e)
{ Object source = e.getSource();
if (source == B1) Create();
if (source == B2) End();
if (source == B3) New();
}

public void Create()
{ String t1 = tf3.getText();
int n1 = Integer.parseInt(t1);

String t2 = tf4.getText();
int n2 = Integer.parseInt(t2);

long val = (long)n1 + ((long)n1/100) * (long)n2;
String v = String.valueOf(val);

tf5.setText(v);

String f1 = tf1.getText();
String f2 = tf2.getText();
String f3 = Ti.getText();


obj = new Object[][] {{1,2,3,4},{f1,f2,f3,v}};
DefaultTableModel dtm = new DefaultTableModel(obj,vals);
tab.setModel(dtm);
// TableColumn colum = tab.getTableHeader().getColumnModel().getColumn(1) ;

}

public void New()
{ tf1.setText("");
tf2.setText("");
tf3.setText("");
tf4.setText("");
tf5.setText("");
tf1.setFocusable(true);

}

public void End()
{System.exit(0);
}

private JPanel P1,P2,P3,P4;
private JTextField tf1,tf2,tf3,tf4,tf5;
private JLabel l1,l2,l3,l4,l5;
private TextArea Ti;
private JButton B1,B2,B3;
private JTable tab;
private TableModel tm;
private String[] vals = new String[] {"Nom article","Reference","Prix unitaire","Prix ttc"};
private Object obj[][] = new Object[4][4];

}

public class Grille
{public static void main(String[] args)
{ Art C = new Art();
C.setVisible(true);
}
}

5 réponses

Utilisateur anonyme
12 avril 2008 à 22:57
Bonsoir

Ton code n'est pas très lisible... Il faut modifier le "renderer" parce que de base, une JTable est faite pour afficher des chaînes de caractère et la méthode getTableCellRendererComponent(...) de ton "renderer" par défaut renvoie un composant JLabel. Il faut changer ça et aussi d'autres choses pour que tu puisses récupérer tes valeurs.

TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java
0
cs_kawim Messages postés 9 Date d'inscription dimanche 23 mars 2008 Statut Membre Dernière intervention 3 juin 2008
13 avril 2008 à 01:21
Salut,

Merci pour ta reponse, c'est la premiere fois que je poste sur ce forum, c'est pk j sais po cmt bien presenter mon code, d'ailleurs j'ai fais un copier coller, je vais essayer avec le render comme t'as mentionner et je vais voir c k ca donne. Merci pour ta reponse et bonne soirée.

Cordialement
0
cs_kawim Messages postés 9 Date d'inscription dimanche 23 mars 2008 Statut Membre Dernière intervention 3 juin 2008
13 avril 2008 à 01:34
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
import javax.swing.border.*;
import javax.swing.table.TableModel;
import javax.swing.table.TableColumn;

class Art extends JFrame implements ActionListener
{public Art ()

{ setTitle("Programme article");
setSize(1450,950);


Container contenu = getContentPane();
contenu.setLayout(new FlowLayout());
contenu.setBackground(Color.darkGray);

P1 = new JPanel();
contenu.add(P1);
P2 = new JPanel();
P3 = new JPanel();
contenu.add(P3);
P4 = new JPanel();
contenu.add(P4);

P2.setLayout(new BorderLayout());
P2.add(P1,BorderLayout.NORTH);
P2.add(P3,BorderLayout.CENTER);
P2.add(P4,BorderLayout.SOUTH);
contenu.add(P2);
P1.setBackground(Color.darkGray);
P2.setBackground(Color.darkGray);
P3.setBackground(Color.darkGray);
P4.setBackground(Color.darkGray);

l1 = new JLabel("Articles :");
l1.setForeground(Color.red);
tf1 = new JTextField(15);
P1.add(l1);
P1.add(tf1);

l2 = new JLabel("References :");
l2.setForeground(Color.red);
tf2 = new JTextField(15);
P1.add(l2);
P1.add(tf2);

l3 = new JLabel("Prix hors taxe :");
l3.setForeground(Color.red);
tf3 = new JTextField(15);
P1.add(l3);
P1.add(tf3);

l4 = new JLabel("Taux TVA :");
l4.setForeground(Color.red);
tf4 = new JTextField(15);
P1.add(l4);
P1.add(tf4);

l5 = new JLabel("Prix TTC :");
l5.setForeground(Color.red);
tf5 = new JTextField(15);
P1.add(l5);
P1.add(tf5);

tab = new JTable();
P3.add(new JScrollPane(tab));


B1 = new JButton("Create");
B2 = new JButton("Quitter");
B3 = new JButton("Nouveau");
P4.add(B1);
P4.add(B3);
P4.add(B2);

B1.addActionListener(this);
B2.addActionListener(this);
B3.addActionListener(this);


}

public void actionPerformed(ActionEvent e)
{ Object source = e.getSource();
if (source == B1) Create();
if (source == B2) End();
if (source == B3) New();
}

public void Create()
{ String t1 = tf3.getText();
int n1 = Integer.parseInt(t1);

String t2 = tf4.getText();
int n2 = Integer.parseInt(t2);

long val = (long)n1 + ((long)n1/100) * (long)n2;
String v = String.valueOf(val);

tf5.setText(v);

String f1 = tf1.getText();
String f2 = tf2.getText();
String f3 = Ti.getText();


obj = new Object[][] {{1,2,3,4},{f1,f2,f3,v}};
DefaultTableModel dtm = new DefaultTableModel(obj,vals);
tab.setModel(dtm);
// TableColumn colum = tab.getTableHeader().getColumnModel().getColumn(1) ;

}

public void New()
{ tf1.setText("");
tf2.setText("");
tf3.setText("");
tf4.setText("");
tf5.setText("");
tf1.setFocusable(true);

}

public void End()
{System.exit(0);
}

private JPanel P1,P2,P3,P4;
private JTextField tf1,tf2,tf3,tf4,tf5;
private JLabel l1,l2,l3,l4,l5;
private TextArea Ti;
private JButton B1,B2,B3;
private JTable tab;
private TableModel tm;
private String[] vals = new String[] {"Nom article","Reference","Prix unitaire","Prix ttc"};
private Object obj[][] = new Object[4][4];

}

public class Grille
{public static void main(String[] args)
{ Art C = new Art();
C.setVisible(true);
}
}
0
cs_kawim Messages postés 9 Date d'inscription dimanche 23 mars 2008 Statut Membre Dernière intervention 3 juin 2008
13 avril 2008 à 01:36
dsl j'arrive tjrs po a bien afficher le code, pourtant y a plein d'espace :(
0

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

Posez votre question
KenZara Messages postés 112 Date d'inscription vendredi 24 décembre 2004 Statut Membre Dernière intervention 20 décembre 2011
15 avril 2008 à 17:39
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

import javax.swing.table.*;
 import javax.swing.border.*;
import
javax.swing.table.TableModel;
import javax.swing.table.TableColumn;

class Art extends JFrame implements ActionListener {

public Art () {

      setTitle("Programme article");
      setSize(1450,950);
      Container contenu =
getContentPane();
      contenu.setLayout(new FlowLayout());

      contenu.setBackground(Color.darkGray);
      P1 = new JPanel();

      contenu.add(P1);
      P2 = new JPanel();
      P3 = new JPanel();
      contenu.add(P3);

      P4 = new JPanel();
      contenu.add(P4);
      P2.setLayout(new BorderLayout());

      P2.add(P1,BorderLayout.NORTH);
      P2.add(P3,BorderLayout.CENTER);

      P2.add(P4,BorderLayout.SOUTH);
      contenu.add(P2);

      P1.setBackground(Color.darkGray);
      P2.setBackground(Color.darkGray);

      P3.setBackground(Color.darkGray);
      P4.setBackground(Color.darkGray);
      l1
= new JLabel("Articles :");
      l1.setForeground(Color.red);
      tf1 = new
JTextField(15);
      P1.add(l1);
      P1.add(tf1);
      l2 = new JLabel("References
:");
      l2.setForeground(Color.red);
      tf2 = new JTextField(15);
      P1.add(l2);

      P1.add(tf2);
      l3 = new JLabel("Prix hors taxe :");

      l3.setForeground(Color.red);
      tf3 = new JTextField(15);
      P1.add(l3);

      P1.add(tf3);
      l4 = new JLabel("Taux TVA :");

      l4.setForeground(Color.red);
      tf4 = new JTextField(15);
      P1.add(l4);

      P1.add(tf4);
      l5 = new JLabel("Prix TTC :");

      l5.setForeground(Color.red);
      tf5 = new JTextField(15);
      P1.add(l5);

      P1.add(tf5);
      tab = new JTable();
      P3.add(new JScrollPane(tab));
      B1 = new
JButton("Create");
      B2 = new JButton("Quitter");
      B3 = new
JButton("Nouveau");
      P4.add(B1);
      P4.add(B3);
      P4.add(B2);

      B1.addActionListener(this);
      B2.addActionListener(this);

      B3.addActionListener(this);
}

public void actionPerformed(ActionEvent
e) {
      Object source = e.getSource();
      if (source == B1) Create();
      if
(source == B2) End();
      if (source == B3) New();
}

public void Create() {

      String t1 = tf3.getText();
      int n1 = Integer.parseInt(t1);
      String t2 =
tf4.getText();
      int n2 = Integer.parseInt(t2);
      long val = (long)n1 +
((long)n1/100) * (long)n2;
      String v = String.valueOf(val);

      tf5.setText(v);
      String f1 = tf1.getText();
      String f2 = tf2.getText();

      String f3 = Ti.getText();
      obj = new Object[][]
{{1,2,3,4},{f1,f2,f3,v}};
     
      DefaultTableModel dtm = new
DefaultTableModel(obj,vals);
      tab.setModel(dtm); //
      TableColumn colum =
tab.getTableHeader().getColumnModel().getColumn(1) ; }

public void
New() {
      tf1.setText("");
      tf2.setText("");
      tf3.setText("");

      tf4.setText("");
      tf5.setText("");
      tf1.setFocusable(true); }
      public void
End() {System.exit(0); }
      private JPanel P1,P2,P3,P4;
      private JTextField
tf1,tf2,tf3,tf4,tf5;
      private JLabel l1,l2,l3,l4,l5; private TextArea
Ti;
      private JButton B1,B2,B3;
      private JTable tab;
      private TableModel
tm;
      private String[] vals = new String[] {"Nom
article","Reference","Prix       unitaire","Prix ttc"};
      private Object
obj[][] = new Object[4][4];
}

public class Grille {
      public static void
main(String[] args) {
            Art C = new Art();
            C.setVisible(true);
      }
}
0