Posez votre question Signaler

JTable java

sabrinam 12Messages postés 17 février 2008Date d'inscription - Dernière réponse le 3 juin 2010 à 09:27
Bonjour,
mon problème est:
j'ai un tableau vide, et un bouton "ajouter ligne" je veux quand je clique sur le bouton une nouvelle ligne s'ajoute à mon tableau, (j'ai déja mis mon tableau dans un scrollane);
svp aider moi à me dire comment faire.
merci d'avance.
Lire la suite 

JTable java »

3 réponses
Réponse
+0
moins plus
Hum moi aussi j'essaye de resoudre le meme probleme, mais je coris k j suis un peu avancé avancé, tien voila le code
j'espere qu'il t'aidera, y a juste dedans un bleme d'affichage et si j'arrive a le resoudre j t'envoie le code complet. a plus tart ;)


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);
}
}
Ajouter un commentaire
Réponse
+0
moins plus
voir ce code et consantrer bient



public class MyDefaultSecondTableModel extends AbstractTableModel {
private ArrayList colonneName = new ArrayList();
private ArrayList colonneLastName = new ArrayList();
...
public void addNewRow(int ligne) {
int addline = getRowCount();
if (ligne != -1)
addline = ligne +1;
colonneName.add(addline, "Name");
colonneLastName.add(addline, "First Name");
...
this.fireTableStructureChanged();
}
public void removeNewRow(int ligne) {
if (getRowCount() == 0 || ligne < 0)
return;
colonneName.remove(ligne);
colonneLastName.remove(ligne);
...
this.fireTableStructureChanged();
}
...
}

public class JTableDirectRenderer3 extends JFrame {
...
public JTableExemple() {
JButton myAddButton = new JButton("Ajouter");
myAddButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
MyDefaultTableModel refModel = (MyDefaultTableModel)myTable.getModel();
refModel.addNewRow(myTable.getSelectedRow());
}
});
JButton myRemoveButton = new JButton("Supprimer");
myRemoveButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
MyDefaultTableModel refModel = (MyDefaultTableModel)myTable.getModel();
refModel.removeNewRow(myTable.getSelectedRow());
Ajouter un commentaire
Réponse
+0
moins plus
Salut,
Ajouter cette instruction :
model.addRow(New Object [] {"String ou klk chose"});
tel que model est le model de votre jtable
DefaultTableModel model = new DefaultTableModel(obj,vals);
Ajouter un commentaire
Ce document intitulé « JTable java » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook