Columns austauschen/verschieben von jtable

Status
Nicht offen für weitere Antworten.
W

wallie

Gast
Hallo,


column 0:
100
200
350
400
90

column 1:
klaus
michael
frieder
else
bastian


Ich verschiebe eine column einer jtable von col 1 auf col 0. Auf Die Column 1 habe ich eine Methode angesetzt die prüft , ob eine zahl größer/kleiner als zahl x ist. Führe ich diese Prüfmethode nochmals aus müsste diese Methode ja einen fehler bringen, da diese methode nun auf strings angewandt wird richtig?

tabelle.moveColumn(1,0);

Wenn ich eine col von 4 auf col 2 verschiebe, geht dann die col 2 automatisch nach 4 ?
 
S

SlaterB

Gast
beides ausprobieren?
ich nehme bei der Verschiebung mal das natürliche Verhalten an: 2 geht auf 3, 3 auf 4


je nachdem, ob du nur in der JTable oder im Model die Spalten tauschst,
wird sich das auf deine Operationen auswirken wenn sie entweder auf die JTable oder das Model zugreifen
 
W

wallie

Gast
SlaterB hat gesagt.:
beides ausprobieren?
ich nehme bei der Verschiebung mal das natürliche Verhalten an: 2 geht auf 3, 3 auf 4


je nachdem, ob du nur in der JTable oder im Model die Spalten tauschst,
wird sich das auf deine Operationen auswirken wenn sie entweder auf die JTable oder das Model zugreifen

gibts denn irgendeine Möglichkeit abzufragen welchen index die spalte "name" hat z.B.

ich habe 2 x 5 jslider und 5 spalten. je 5 jslider haben einen wert von und einen wert zu sprich eine column wird von und zu verschoben per jbutton druck. Das problem ist das nicht alle spalten da hingehen wo sie sollen...
 

André Uhres

Top Contributor
wallie hat gesagt.:
..Das problem ist das nicht alle spalten da hingehen wo sie sollen...
Die Frage ist, wo sie deiner Meinung nach hingehen sollen.
Mit convertColumnIndexToView kannst du erreichen, daß die Nummer einer Spalte immer die selbe bleibt,
ganz gleich, an welche Stelle sie verschoben wurde.
Die Verschiebungen (4,2), (2,3) und (2,4) ergeben dann nacheinander folgende Resultate:
init: 1,2,3,4,5
4,2: 1,4,2,3,5
2,3: 1,4,3,2,5
2,4: 1,2,4,3,5
Wie du siehst, tritt der Wanderer immer an die Stelle des Ziels
und alle Spalten auf dem Weg von Start bis Ziel werden um eins in Richtung Start verschoben.
Code:
package table;
/*
 * MoveTableDemo.java
 */
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
public class MoveTableDemo extends JFrame {
    private JButton btMove;
    private JToolBar toolbar;
    private JTable table;
    private int from=1;
    private int to=1;
    public MoveTableDemo() {
        super("Move Table Demo");
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        setSize(404,300);
        setLocationRelativeTo(null);
        toolbar = new JToolBar();
        btMove = new JButton();
        table = new JTable();
        btMove.setText("Move...");
        toolbar.add(btMove);
        getContentPane().add(toolbar, BorderLayout.NORTH);
        table.setModel(new DefaultTableModel(
                new Object [][] {{"a", "b", "c", "d", "e"}},
                new String [] {"1", "2", "3", "4", "5"}
        ) {
            Class[] types = new Class [] {
                String.class, String.class, String.class, String.class, String.class
            };
            boolean[] canEdit = new boolean [] {false, false, false, false, false};
            public Class getColumnClass(final int columnIndex) {return types [columnIndex];}
            public boolean isCellEditable(final int rowIndex, final int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        getContentPane().add(new JScrollPane(table), BorderLayout.CENTER);
        getRootPane().setDefaultButton(btMove);
        btMove.addActionListener(new ActionListener() {
            public void actionPerformed(final ActionEvent evt) {
                if(!getFromTo()) return;
                int fromColumn = table.convertColumnIndexToView(from-1);
                int toColumn = table.convertColumnIndexToView(to-1);
                table.moveColumn(fromColumn, toColumn);
                System.out.println("Pos"+toColumn+": Value of column "+from+" is: "+table.getValueAt(0, toColumn));
            }
        });
    }
    private boolean getFromTo() {
        String in = JOptionPane.showInputDialog("From,To", from+","+to);
        if(in == null || in.trim().split(",").length != 2) return false;
        try {
            from = Integer.parseInt(in.trim().split(",")[0]);
            to = Integer.parseInt(in.trim().split(",")[1]);
        } catch (NumberFormatException e) {return false;}
        if(from<1||from>5||to<1||to>5) return false;
        return true;
    }
    public static void main(final String args[]) {new MoveTableDemo().setVisible(true);}
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Java Klasse auf Tomcat während der Laufzeit austauschen Allgemeine Java-Themen 1
T Methoden Zahlen austauschen Allgemeine Java-Themen 8
R .class Datei in .jar austauschen Allgemeine Java-Themen 2
T Objekt dynamisch neu erstellen/ austauschen Allgemeine Java-Themen 9
Y JARs austauschen zur Laufzeit Allgemeine Java-Themen 11
T Standard LAF austauschen Allgemeine Java-Themen 3
M Mit HTML in Servlet Daten austauschen Allgemeine Java-Themen 3
H Textposition eines gedrehten Textes verschieben Allgemeine Java-Themen 8
Mozart53 JLabel nur meinen Text verschieben ohne Image Allgemeine Java-Themen 3
R Spalten/Zeilen verschieben in zweidimensionalen Arrays? Allgemeine Java-Themen 3
MiMa Datei verschieben hat einen Fehler?? Allgemeine Java-Themen 20
L 2-Dimensionaler String: Zahlen verschieben Allgemeine Java-Themen 10
D Textfelder in Applets verschieben Allgemeine Java-Themen 1
J kann eine .jar sich selbst verschieben? Allgemeine Java-Themen 6
M Java Dateien verschieben Allgemeine Java-Themen 2
B Bild verschieben Allgemeine Java-Themen 6
F Objekt einer Datei verschieben, aber Verzeichnispfad fehlt Allgemeine Java-Themen 6
U Wie kann mit einen Java Applet Dateien erstellen,verschieben und löschen? Allgemeine Java-Themen 9
D Datei lesen ohne sie für umbenennen/verschieben zu sperren Allgemeine Java-Themen 13
N Datein in Papierkorb verschieben Allgemeine Java-Themen 2
G JTree Node verschieben Allgemeine Java-Themen 2
ARadauer Fenster suchen und Verschieben Allgemeine Java-Themen 6
G JListeinträge verschieben Allgemeine Java-Themen 2
T Button Array verschieben klappt nicht. Allgemeine Java-Themen 6
J Verschieben ganzer Dateien (und Ordner) Allgemeine Java-Themen 3
MQue Zeilen nach rechts verschieben Allgemeine Java-Themen 3
MQue Array inhalt verschieben Allgemeine Java-Themen 6
N Datei verschieben Allgemeine Java-Themen 6
M JNI: nach verschieben in package UnsatisfiedLinkError Allgemeine Java-Themen 3
G JWindow verschieben bei mousedragged auf eigene titelleiste Allgemeine Java-Themen 3
bernd Dateien verschieben Allgemeine Java-Themen 2
M Verzeichnis verschieben? Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben