JSpinner + addRow()

Status
Nicht offen für weitere Antworten.

Leon

Mitglied
hilft mir jemand bitte...
JSpinner habe ich mit listener angelegt

Code:
jspinnerListener.addChangeListener(new ChangeListener() {
			public void stateChanged(ChangeEvent e) {
				JSpinner spinner = (JSpinner) e.getSource();
				Number num = (Number) spinner.getValue();
				tableModel.addRow();
			}
		});

jetzt will dass in der methode addRow() die Zeilen werden hinzugefügt, die Methode liegt in klasse Tabelle abgeleitet von AbstractTableModel


Code:
private Number[][] daten;

public void addRow()
	  {
		daten = new Number[anzahlZeilen + 1][typ.length];
		fireTableRowsInserted(anzahlZeilen, anzahlZeilen);
	  }

habe versucht mit daten = new Number[anzahlZeilen + 1][typ.length] neue Zeile hinzufügen, klappt aber nicht, weisst es jemand ??
 

André Uhres

Top Contributor
Leite das Model nicht von AbstractTableModel ab, sondern von DefaultTableModel.
DefaultTableModel ist genauso flexibel wie AbstractTableModel, erspart dir aber den Ärger mit vergessenen Sachen.
Du implementierst dann nämlich nicht mehr alles selbst, sondern überschreibst nur die Methoden
die du unbedingt ändern musst, wie z.B. getColumnClass(..) und isCellEditable(..).
Neue Zeilen lassen sich dann auch bequem mit model.addRow(..) einfügen,
und weiterer nützliche Methoden stehen dir auch noch zur Verfügung.
 

Leon

Mitglied
Hallo
Danke für den Tipp, also.. ich habe meine Tabelle von DefaultTableModel abgeleitet

Code:
tabelle.setModel(new javax.swing.table.DefaultTableModel( new Object [][]{{}},
				new String[]{ "1", "2", "3",
				 "4", "5", "6", "7"}
		){
						
			final Class[] types = new Class[] { Integer.class, Integer.class,
					 Integer.class, Double.class, Double.class, Integer.class,
					 Integer.class };
			public Class getColumnClass(int columnIndex) {
				 return types[columnIndex];
				 }
//			 Spalten nicht editerbar bestimmen
			public boolean isCellEditable(int zeile, int spalte) {
				//Erste Spalte und erste Zeile nicht editierbar bestimmen
				if (spalte == 0 && zeile == 0)
					return true;
				
				else if (spalte == 3 || spalte == 4 || spalte == 5 || spalte == 6
						|| spalte == 0)
					return false;
				return true;
			}
			 public int getRowCount() {
				 return rows;
				 }			 
		});

später in JSpinner (SpinnerNumberModel) versuche die zeilen hinzufügen

Code:
int rows = 10;
Object[][] row = new Object[rows][];
spinner.addChangeListener(new ChangeListener() {
			public void stateChanged(ChangeEvent e) {
                                  tabelle.setModel(defaultTableModel);				  
				  ((DefaultTableModel)tabelle.getModel()).addRow(row);
				  


			}
		});

zeigt aber nichts .......???????????????????????????
 

André Uhres

Top Contributor
Code:
/*
 * TableAdd3.java
 */
//package tableDemo;
import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.table.*;
public class TableAdd3 extends JFrame {
    public TableAdd3() {
        initComponents();
        tabelle = new JTable();
        tabelle.setModel(new DefaultTableModel( new Object [][]{{}},
                new String[]{ "1", "2", "3",
                "4", "5", "6", "7"}
        ){
            final Class[] types = new Class[] { Integer.class, Integer.class,
            Integer.class, Double.class, Double.class, Integer.class,
            Integer.class };
            public Class getColumnClass(int columnIndex) {
                return types[columnIndex];
            }
//          Spalten nicht editerbar bestimmen
            public boolean isCellEditable(int zeile, int spalte) {
                //Erste Spalte und erste Zeile nicht editierbar bestimmen
                if (spalte == 0 && zeile == 0)
                    return true;
                else if (spalte == 3 || spalte == 4 || spalte == 5 || spalte == 6
                        || spalte == 0)
                    return false;
                return true;
            }
        });
        spinner.addChangeListener(new ChangeListener() {
            public void stateChanged(ChangeEvent e) {
                Object[] rowData = new Object[7];
                ((DefaultTableModel)tabelle.getModel()).addRow(rowData);
            }
        });
        add(new JScrollPane(tabelle));
    }
    private void initComponents() {
        toolBar = new JToolBar();
        spinner = new JSpinner();
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        toolBar.add(spinner);
        getContentPane().add(toolBar, BorderLayout.NORTH);
        setSize(400,300);
        setLocationRelativeTo(null);
    }
    public static void main(String args[]) {
        new TableAdd3().setVisible(true);
    }
    private final JTable tabelle;
    private JToolBar toolBar;
    private JSpinner spinner;
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D TAB Taste innerhalb eines JSpinner AWT, Swing, JavaFX & SWT 2
C JSpinner AWT, Swing, JavaFX & SWT 6
C Hilfe bei JSpinner und JList AWT, Swing, JavaFX & SWT 1
K Swing JSpinner mit NULL AWT, Swing, JavaFX & SWT 3
V LookAndFeel JSpinner Hintergrund Farbe mit Nimbus LaF AWT, Swing, JavaFX & SWT 0
R Int aus JSpinner auslesen und Tabelle erstellen AWT, Swing, JavaFX & SWT 3
K JSpinner in passender Breite erstellen oder automatisch anpassen AWT, Swing, JavaFX & SWT 2
D JCheckbox und JSpinner in JTable AWT, Swing, JavaFX & SWT 9
M JSpinner, setValue AWT, Swing, JavaFX & SWT 7
N Swing JSpinner mit Datum aber ohne Uhrzeit AWT, Swing, JavaFX & SWT 2
J Swing JSpinner mit zusätzlichem Text? AWT, Swing, JavaFX & SWT 2
B JSpinner ChangeEvent erzwingen AWT, Swing, JavaFX & SWT 6
B JSpinner Textgröße anpassen AWT, Swing, JavaFX & SWT 2
B JSpinner welche Taste? AWT, Swing, JavaFX & SWT 5
B JSpinner Enter AWT, Swing, JavaFX & SWT 7
G JSpinner ohne Tausendertrennzeichen AWT, Swing, JavaFX & SWT 5
N Wertanzeige mittels JSpinner AWT, Swing, JavaFX & SWT 3
S JSpinner AWT, Swing, JavaFX & SWT 11
G Swing JSpinner nur mit Buttons ändern AWT, Swing, JavaFX & SWT 8
T JSpinner in JTable: Problem beim Auslesen, funktioniert erst beim Zellwechsel AWT, Swing, JavaFX & SWT 7
T Swing JSpinner in JTable AWT, Swing, JavaFX & SWT 9
C Größe von JSpinner fixieren AWT, Swing, JavaFX & SWT 4
J JSpinner + SpinnerNumberModel int auslesen AWT, Swing, JavaFX & SWT 2
C Zwei JSpinner mit dem gleichen Wert AWT, Swing, JavaFX & SWT 2
Eldorado Swing Popup-Menü mit Jspinner AWT, Swing, JavaFX & SWT 4
X Den Wert von JSpinner setzen ohne Event AWT, Swing, JavaFX & SWT 3
M JSpinner als TableCellEditor; buttons nur bei fokus sichtbar AWT, Swing, JavaFX & SWT 14
M JSpinner Font ändern AWT, Swing, JavaFX & SWT 4
Spin JSpinner AWT, Swing, JavaFX & SWT 10
T JSpinner, 3 JSpinner aber nur ein SpinnerDateModel AWT, Swing, JavaFX & SWT 7
S JSpinner der Floats anzeigt..? AWT, Swing, JavaFX & SWT 4
D Swing Eigene Komponente mit JSpinner AWT, Swing, JavaFX & SWT 4
elitebiber Swing JSpinner und die Zeit AWT, Swing, JavaFX & SWT 11
T JSpinner Problem AWT, Swing, JavaFX & SWT 6
G JSpinner umdrehen? AWT, Swing, JavaFX & SWT 2
G JSpinner und ChangeListener AWT, Swing, JavaFX & SWT 3
K JSpinner - Model <-> View, unterschiedliche Werte AWT, Swing, JavaFX & SWT 9
Tom299 JSpinner nur Zeitangabe AWT, Swing, JavaFX & SWT 13
G JSpinner Frage AWT, Swing, JavaFX & SWT 2
H JSpinner mit Kalenderwoche und Jahr AWT, Swing, JavaFX & SWT 6
M JSpinner in einer JTable? AWT, Swing, JavaFX & SWT 5
P Frage zu JSpinner AWT, Swing, JavaFX & SWT 3
B JTextFiled, JCheckBox, JSpinner Eigenschaften speichern AWT, Swing, JavaFX & SWT 2
R Konvertieren von Werten im JSpinner AWT, Swing, JavaFX & SWT 2
K JSpinner Werte verschwinden bei Panel Wechsel AWT, Swing, JavaFX & SWT 2
B JSpinner passt optisch nicht zu anderen Komponenten AWT, Swing, JavaFX & SWT 2
D JSpinner ohne Edit Möglichkeit AWT, Swing, JavaFX & SWT 5
J JSpinner mit zahlen AWT, Swing, JavaFX & SWT 10
P JSpinner Objekt anstatt Zahlen sollen man Namen auswählen AWT, Swing, JavaFX & SWT 2
M .txt unter Verwendung von JSpinner in Textfeld schreiben AWT, Swing, JavaFX & SWT 4
N JDK1.4- Überladen d. Methoden getValue setValue von JSpinner AWT, Swing, JavaFX & SWT 2
S JSpinner: Editieren einschränken AWT, Swing, JavaFX & SWT 4
F JSpinner FocusListener AWT, Swing, JavaFX & SWT 2
W JSpinner: Button vertikal anordnen AWT, Swing, JavaFX & SWT 2
R JSpinner rotieren AWT, Swing, JavaFX & SWT 6
A JSpinner in Dialogbox integrieren? AWT, Swing, JavaFX & SWT 3
D JSPinner Größe verändern - setSize() funktioniert nicht AWT, Swing, JavaFX & SWT 7
javasdann JSpinner & KeyListener. AWT, Swing, JavaFX & SWT 8
G jspinner schrittweite in Abhängigkeit vom aktuellen Wert AWT, Swing, JavaFX & SWT 3
G JSpinner bringt bei anklicken eine CastException AWT, Swing, JavaFX & SWT 5
flashfactor Un mal ein Problem mit JSpinner AWT, Swing, JavaFX & SWT 7
I jSpinner.getValue() AWT, Swing, JavaFX & SWT 2
G JSpinner für Datumsanzeige AWT, Swing, JavaFX & SWT 2
J addRow bei JTable AWT, Swing, JavaFX & SWT 6
M Swing AttributiveCellTableModel addRow() Problem AWT, Swing, JavaFX & SWT 1
F AddRow funktionier nicht (DefaultTableModel) AWT, Swing, JavaFX & SWT 3
L JTabel Methode addRow und deleteRow AWT, Swing, JavaFX & SWT 12
A JTable, addRow AWT, Swing, JavaFX & SWT 6
Z Swing und AddRow AWT, Swing, JavaFX & SWT 2
O JTable und addRow() AWT, Swing, JavaFX & SWT 7

Ähnliche Java Themen

Neue Themen


Oben