get fra jTable
Hejsa.Har siddet og nørklet med at lave en "get" på en jTable. Tabellen skal bruges til at indtaste oplysninger i, der derefter skal bruges videre i programmet og gemmes i en Vector.
Jeg har lavet en DefaultTableModel for at kunne bruge metoden getValueAt(int arg, int arg); på tabellen, men kan ikke hive indtastede tal ud af tabellen.
Har pastet koden ind nedenfor:
Håber i kan hjælpe!
--------------------
import javax.swing.JScrollPane;
import javax.swing.table.DefaultTableModel;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;
/*
* JFrame.java
*
* Created on April 23, 2004, 10:22 AM
*/
/**
*
* @author krestenbanke
*/
public class nyVareGui extends javax.swing.JFrame implements ActionListener {
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JPanel jPanel1;
private javax.swing.JTable jTable1;
private Vector columnNames = new Vector();
private Vector tabelData = new Vector();
private DefaultTableModel tabelModel;
// End of variables declaration
/** Creates new form JFrame */
public nyVareGui() {
columnNames.add("Vare Nr.");
columnNames.add("Navn");
columnNames.add("Str.");
columnNames.add("Ind. pris");
columnNames.add("Ud. pris");
columnNames.add("Antal");
tabelModel = new DefaultTableModel(new Vector(), columnNames) {
public int getColumnCount() { return 6; }
public int getRowCount() { return 1;}
//copy-paste fra API, her returneres (kolonne * raekke) som integer
//public Object getValueAt(int row, int col) { return new Integer(row*col); }
};
tabelModel.setDataVector(tabelData, columnNames);
jPanel1 = new javax.swing.JPanel();
jTable1 = new javax.swing.JTable(tabelModel);
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
getContentPane().setLayout(null);
getContentPane().add(jPanel1);
setSize(700, 300);
jPanel1.setBounds(20,20, 700, 300);
getContentPane().add(jPanel1);
setTitle("Opret ny vare");
jTable1.setBounds(5, 80, 660, 40);
JScrollPane scrollpane = new JScrollPane(jTable1);
scrollpane.setBounds(5, 80, 660, 40);
//naeste linie er umiddelbart overfloedig mht. (290, 90)
jTable1.setPreferredScrollableViewportSize(new Dimension(660, 40));
jPanel1.add(scrollpane);
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
//exitForm(evt);
}
});
jPanel1.setLayout(null);
jButton1.setText("Opret");
jPanel1.add(jButton1);
jButton1.setBounds(490, 170, 75, 29);
jButton1.addActionListener(this);
jButton2.setText("Cancel");
jPanel1.add(jButton2);
jButton2.setBounds(400, 170, 75, 29);
jButton2.addActionListener(this);
show();
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == jButton1) {
System.out.println( "Tryk paa Opret");
Object detteTal = jTable1.getValueAt(1,1);
String tal = (String)detteTal.toString();
System.out.println( "1,4 "+tal);
}
if (e.getSource() == jButton2) {
System.out.println( "Tryk paa Cancel");
}
}
}
