Table Row per Drag and Drop in andere Table schieben?

Status
Nicht offen für weitere Antworten.
S

Steve Wonder

Gast
Hallo,

Ich hab jetzt shcon etwas länger im Netz geschaut, aber verstädliche Infos hab ich nicht gefunden. Nun bin ich hier gelandet und hoffe, dass mir jemand helfen kann.

Ich habe zwei JTables und möchte eine Row von der einen in die andere schieben. Gibt es da keine "einfache" Lösunf. Ich bin relativ unerfahren mit Java und möchte eigentlich nur dass das funktioniert. Ohne die ganze Spezifikation auswendig lernen zu müsssen.

in C# ist das ein 5-Zeiler....

In der Forensuche habe ich ein Beispiel gefunden, aber da fehlt ene Klasse "ListDNDTest"....

Ich hoffe mir kann jemand auf die Sprünge helfen.


Danke
 

Kaladial

Bekanntes Mitglied
also ich hab das so gemacht:

Code:
package AVS3;

import java.awt.*;
import java.awt.datatransfer.*;
import java.awt.dnd.*;
import java.io.*;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.SortedSet;
import java.util.TreeSet;
import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

public class DlgUserGrpVerwaltung extends JDialog {
    private static final long serialVersionUID = 1L;
    private JPanel jContentPane = null;
    private JPanel jPanelUser = null;
    private JPanel jPanelGruppe = null;
    private JPanel jPanelSouth = null;
    private JButton jButtonSpeichern = null;
    private JLabel jLabel = null;
    private JButton jButtonAbbruch = null;
    private JLabel jLabelUser = null;
    private JLabel jLabelGruppe = null;
    private JList list=null;
    
    public DlgUserGrpVerwaltung(final Frame owner) {
        super(owner);
        initialize();
    }
    private void initialize() {
		final Dimension screenDimension = Toolkit.getDefaultToolkit().getScreenSize(); 
		final int x_pos = (int) (screenDimension.getWidth() / 2.0f - 500.0f / 2.0f); 
		final int y_pos = (int) ((screenDimension.getHeight() / 2.0f - 400.0f / 2.0f)-100); 

		this.setBounds(new Rectangle(x_pos, y_pos, 500, 400));
		this.setResizable(false);
		this.setContentPane(getJContentPane());
    }
    private JPanel getJContentPane() {
        if (jContentPane == null) {
            jLabelUser = new JLabel();
            jLabelUser.setBounds(new Rectangle(15, 15, 225, 25));
            jLabelUser.setText(Text.user);
            jLabelUser.setHorizontalAlignment(JLabel.CENTER);
            jLabelUser.setFont(new Font(GlobaleVariablen.standart_label1_schrift_typ, GlobaleVariablen.standart_label1_schrift_font, GlobaleVariablen.standart_label1_schrift_groesse));
            jLabelGruppe = new JLabel();
            jLabelGruppe.setBounds(new Rectangle(250, 15, 225, 25));
            jLabelGruppe.setText(Text.gruppen);
            jLabelGruppe.setHorizontalAlignment(JLabel.CENTER);
            jLabelGruppe.setFont(new Font(GlobaleVariablen.standart_label1_schrift_typ, GlobaleVariablen.standart_label1_schrift_font, GlobaleVariablen.standart_label1_schrift_groesse));
            jContentPane = new JPanel();
            jContentPane.setLayout(null);
            jContentPane.add(getJPanelUser(), null);
            jContentPane.add(getJPanelGruppe(), null);
            jContentPane.add(getJPanelSouth(), null);
            jContentPane.add(jLabelUser, null);
            jContentPane.add(jLabelGruppe, null);
        }
        return jContentPane;
    }
    private JPanel getJPanelUser() {
        if (jPanelUser == null) {
            jPanelUser = new JPanel();
            jPanelUser.setLayout(new GridLayout(1,1));
            jPanelUser.setBounds(new Rectangle(15, 55, 225, 260));
            jPanelUser.add(createListUser(Text.CLUser));
            
        }
        return jPanelUser;
    }
    private JPanel getJPanelGruppe() {
        if (jPanelGruppe == null) {
            jPanelGruppe = new JPanel();
            jPanelGruppe.setLayout(new GridLayout(1,1));
            jPanelGruppe.setBounds(new Rectangle(250, 55, 225, 260));
            jPanelGruppe.add(createListGruppe(Text.CLGruppe));
        }
        return jPanelGruppe;
    }
    private JPanel getJPanelSouth() {
        if (jPanelSouth == null) {
            jLabel = new JLabel();
            jLabel.setText("");
            jLabel.setPreferredSize(new Dimension(40, 0));
            jPanelSouth = new JPanel();
            jPanelSouth.setLayout(new FlowLayout());
            jPanelSouth.setBounds(new Rectangle(0, 333, 493, 40));
            jPanelSouth.add(getJButtonSpeichern(), null);
            jPanelSouth.add(jLabel, null);
            jPanelSouth.add(getJButtonAbbruch(), null);
        }
        return jPanelSouth;
    }
    private JButton getJButtonSpeichern() {
        if (jButtonSpeichern == null) {
            jButtonSpeichern = new JButton();
            jButtonSpeichern.setText(Text.jButtonSpeichern);
            jButtonSpeichern.setPreferredSize(new Dimension(100, 30));
            jButtonSpeichern.setFont(new Font(GlobaleVariablen.standart_jbutton_schrift_typ, GlobaleVariablen.standart_jbutton_schrift_font, GlobaleVariablen.standart_jbutton_schrift_groesse));
			jButtonSpeichern.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
					int len = list.getModel().getSize();
					for(int i=0; i<len; i++){
						String grp_name = getTitle(list, i);
						int grp_id=DB.getGrpID(grp_name);
						DB.delUserGrpRechte(grp_id);
					}
					for(int i=0; i<len; i++){
						DefaultListModel model = (DefaultListModel)list.getModel();
						String grp_name = getTitle(list, i);
						int grp_id=DB.getGrpID(grp_name);
						if((i>0)&&(getTitle(list, i).compareToIgnoreCase(getTitle(list, (i-1)))==0)){
							String user_name=model.getElementAt(i).toString();
							DB.setUserGrpRechte(user_name, grp_id, grp_name);
						}
					}
					AVS3.trace(Text.TRAUserGrpGespeichert, 0);
					dispose();					
                }
            });
        }
        return jButtonSpeichern;
    }
    private JButton getJButtonAbbruch() {
        if (jButtonAbbruch == null) {
            jButtonAbbruch = new JButton();
            jButtonAbbruch.setPreferredSize(new Dimension(100, 30));
            jButtonAbbruch.setText(Text.jButtonAbbruch);
            jButtonAbbruch.setFont(new Font(GlobaleVariablen.standart_jbutton_schrift_typ, GlobaleVariablen.standart_jbutton_schrift_font, GlobaleVariablen.standart_jbutton_schrift_groesse));
            jButtonAbbruch.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    dispose();
                }
            });
        }
        return jButtonAbbruch;
    }
    private JPanel createListUser(final String listId) {
        DefaultListModel model = new DefaultListModel();
        String erg[]=DB.getUser();
        for(int i=0; i<erg.length; i++){
            if(erg[i]==null){
                break;
            }
            String erg_split[]=GlobaleFunction.split(erg[i], ": ");
            model.addElement(erg_split[1]);
        }
        JList list = new JList(model);
        list.setName(listId);
        list.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
        JScrollPane scrollPane = new JScrollPane(list);
        scrollPane.setPreferredSize(new Dimension(225, 250));
        list.setDragEnabled(true);
        list.setTransferHandler(new ListTransferHandler());
        JPanel panel = new JPanel();
        panel.add(scrollPane);
        return panel;
    }
    private JPanel createListGruppe(final String listId) {
        DefaultListModel model = new DefaultListModel();
        String erg[]=DB.getGrps();
        for(int i=0; i<erg.length; i++){
            if(erg[i]==null){
                break;
            }
            String erg_split[]=GlobaleFunction.split(erg[i], ": ");
            if(erg_split[1].compareToIgnoreCase("keine")!=0){
                model.addElement(new GroupItem(erg_split[1]));
	            
	            int grp_id=Integer.parseInt(erg_split[0]);
	            String erg_user[]=DB.getUserGrpRechte(grp_id);
	            int len = erg_user.length;
	            for(int c=0; c<len; c++){
	            	if(erg_user[c]==null){
	            		break;
	            	}	            	
	            	model.addElement(erg_user[c]); 
	            }            
            }
        }
        list = new JList(model);
        list.setName(listId);
        list.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
        JScrollPane scrollPane = new JScrollPane(list);
        scrollPane.setPreferredSize(new Dimension(225, 250));
        list.setDragEnabled(true);
        ListTransferHandler th = new ListTransferHandler();
        list.setTransferHandler(th);
        list.setCellRenderer(new GroupCellRenderer());
        list.setDropTarget(new GroupDropTarget(th));
        list.addListSelectionListener(new ListSelectionListener() {
            public void valueChanged(ListSelectionEvent e) {
                if(e.getValueIsAdjusting()) return;
            }
        });
        
        JPanel panel = new JPanel();
        panel.add(scrollPane);
        return panel;
    }
    private String getTitle(final JList list, final int index){
        DefaultListModel model = (DefaultListModel)list.getModel();
        for (int start = index; start > -1; start--) {
            Object val = model.getElementAt(start);
            if(val instanceof GroupItem) return val.toString();
        }
        return null;
    }
    abstract class DataTransferHandler extends TransferHandler {
        private int actions = COPY_OR_MOVE;
        protected int dropAction;
        protected abstract Object exportListData(JComponent c);
        protected abstract void importListData(JComponent c, String str);
        protected abstract void cleanup(JComponent c, boolean remove);
        protected Transferable createTransferable(final JComponent c) {
            return new GenericTransferable(exportListData(c));
        }
        public int getSourceActions(final JComponent c) {
            return actions;
        }
        public boolean importData(final JComponent c, final Transferable t) {
            JList source = (JList)c;
            if(source.getName().compareToIgnoreCase(Text.CLGruppe)==0){
                if (canImport(c, t.getTransferDataFlavors())) {
                    try {
                        String str = (String)t.getTransferData(DataFlavor.stringFlavor);
                        importListData(c, str);
                        sortAll(source);
                        return true;
                    } catch (UnsupportedFlavorException ufe) {
                    } catch (IOException ioe) {
                    }
                }
            }else{
                return true;
            }
            return false;
        }
        protected void exportDone(final JComponent c, final Transferable trans, final int action) {
            Object data = null;
            JList source = (JList)c;
            if(source.getName().compareToIgnoreCase(Text.CLGruppe)==0){
                try {data = trans.getTransferData(DataFlavor.stringFlavor);
                } catch (IOException ex) {
                } catch (UnsupportedFlavorException ex) {}
                cleanup(c, !(data instanceof GroupItem) );
                
            }
        }
        public boolean canImport(final JComponent c, final DataFlavor[] flavors) {
            for (int ndx = 0; ndx < flavors.length; ndx++) {
                if (DataFlavor.stringFlavor.equals(flavors[ndx])) {
                    return true;
                }
            }
            return false;
        }
        private void sortAll(final JList target) {
            if(!target.getName().equalsIgnoreCase(Text.CLGruppe)) return;
            DefaultListModel model = (DefaultListModel)target.getModel();
            SortedSet<String> grp = null;
            int from = 0;
            int index = 0;
            for (index = 0; index < model.getSize(); index++) {
                Object val = model.getElementAt(index);
                if(val instanceof GroupItem){
                    sortGrp(grp, model, from+1, index-1);
                    grp = new TreeSet<String>();
                    from = index;
                }else{
                    grp.add(val.toString());
                }
            }
            sortGrp(grp, model, from+1, index-1);
        }
        private void sortGrp(final SortedSet grp, final DefaultListModel model, final int from, final int to) {
            if(grp == null || from >= to) return;
            model.removeRange(from, to);
            Iterator<String> it = grp.iterator();
            int start = from;
            while(it.hasNext())
                model.insertElementAt(it.next(), start++);
        }
    }
    class ListTransferHandler extends DataTransferHandler {
        public JList target;
        public int[] rows = null;
        public int addIndex = -1; //Position an der die Zeilen eingefügt werden
        public int addCount = 0;  //Anzahl der eingefügten Zeilen.
        private int dropIndex;
        protected Object exportListData(final JComponent c) {
            JList list = (JList)c;
            rows = list.getSelectedIndices();
            StringBuffer buff = new StringBuffer();
            if(rows != null){
                for (int ndx = 0; ndx < rows.length; ndx++) {
                    Object val = ((DefaultListModel)list.getModel()).getElementAt(rows[ndx]);
                    if( !(val instanceof GroupItem) ){
                        buff.append(val == null ? "" : val.toString());
                        if (ndx != rows.length - 1) {
                            buff.append("\n");
                        }
                    }else{
                        return val;
                    }
                }
            }
            return buff.toString();
        }
        protected void importListData(final JComponent c, final String str) {
            target = (JList)c;
            DefaultListModel model = (DefaultListModel)target.getModel();
            //Der Benutzer wird daran gehindert die Daten auf sich selbst fallen zu lassen.
            //Zum Beispiel, wenn der Benutzer die Zeilen #4,#5,#6 und #7 verschiebt und
            //versucht sie unterhalb der Zeile #5 einzufügen, wäre es
            //problematisch die ursprünglichen Zeilen zu entfernen.
            //Daher wird dies nicht erlaubt.
            if (rows != null && dropIndex >= rows[0] - 1 &&
                    dropIndex <= rows[rows.length - 1]) {
                rows = null;
                return;
            }
            if(rows != null && inSameGroup(dropIndex, rows[0], model)){
                rows = null;
                return;
            }
            int max = model.getSize();
            if (dropIndex < 0) {
                dropIndex = max;
            } else {
                dropIndex++;
                if (dropIndex > max) {
                    dropIndex = max;
                }
            }

            addIndex = dropIndex;
            String[] values = str.split("\n");
            addCount = 0;
            for (int ndx = 0; ndx < values.length ; ndx++) {
                Object obj = values[ndx];
                if(!exists(obj, dropIndex, model)){
                    model.insertElementAt( obj, dropIndex++);
                    addCount++;
                }
            }
            //Wenn wir Zeilen innerhalb derselben Liste verschieben, müssen
            //wir die Zeilen entsprechend anpassen, da diejenigen
            //hinter dem Einfügungspunkt verschoben werden.
            if (rows!= null && addCount > 0) {
                for (int ndx = 0; ndx < rows.length; ndx++) {
                    if (rows[ndx] > addIndex) {
                        rows[ndx] += addCount;
                    }
                }
            }
        }
        protected void cleanup(final JComponent c, final boolean remove) {
            JList source = (JList)c;
            if (dropAction == MOVE && remove && rows != null) {
                DefaultListModel model = (DefaultListModel)source.getModel();
                for (int ndx = rows.length - 1; ndx >= 0; ndx--) {
                    model.removeElementAt(rows[ndx]);
                }
            }
            rows = null;
            addCount = 0;
            addIndex = -1;
        }
        protected void setIndex(final int index) {
            dropIndex = index;
        }
        private boolean exists(final Object obj, final int dropIndex, final DefaultListModel model) {
            for (int row = dropIndex; row < model.getSize(); row++) {
                Object val = model.getElementAt(row);
                if(val instanceof GroupItem) break;
                if(val.toString().equals(obj.toString())){
                    return rows==null?true:!inSameGroup(row, rows[0], model);
                }
            }
            for (int row = dropIndex-1; row > -1; row--) {
                Object val = model.getElementAt(row);
                if(val instanceof GroupItem) break;
                if(val.toString().equals(obj.toString())){
                    return rows==null?true:!inSameGroup(row, rows[0], model);
                }
            }
            return false;
        }
        private boolean inSameGroup(final int row, final int row1, final DefaultListModel model) {
            List<Integer> grp = null;
            for (int index = 0; index < model.getSize(); index++) {
                Object val = model.getElementAt(index);
                if(val instanceof GroupItem){
                    if(grp != null && grp.contains(row) && grp.contains(row1))return true;
                    grp = new ArrayList<Integer>();
                    grp.add(index);
                }else grp.add(index);
            }
            if(grp != null && grp.contains(row) && grp.contains(row1))return true;
            return false;
        }
        
        private void setAction(int i) {
            super.dropAction = i;
        }
    }
    class GroupDropTarget extends DropTarget{
        private ListTransferHandler handler;
        private Insets autoscrollInsets = new Insets(20, 20, 20, 20);
        public GroupDropTarget(final ListTransferHandler th){
            handler = th;
        }
        public void drop(final DropTargetDropEvent dtde) {
            Object data = null;
            try {data = dtde.getTransferable().getTransferData(DataFlavor.stringFlavor);
            } catch (IOException ex) {
            } catch (UnsupportedFlavorException ex) {}
            if( !(data instanceof GroupItem) ){
                Point p = dtde.getLocation();
                JList list = (JList) getComponent();
                int index = list.locationToIndex(p);
                handler.setIndex(index);
                handler.importData(list, dtde.getTransferable());
                super.drop(dtde);
            }
        }
        public void dragOver(DropTargetDragEvent dtde) {
            handler.setAction(dtde.getDropAction());
            JList list = (JList) dtde.getDropTargetContext().getComponent();
            Point loc = dtde.getLocation();
            autoscroll(list, loc);
            super.dragOver(dtde);
        }
        private void autoscroll(JList list, Point cursorLocation) {
            Insets insets = getAutoscrollInsets();
            Rectangle outer = list.getVisibleRect();
            Rectangle inner = new Rectangle(
                    outer.x+insets.left,
                    outer.y+insets.top,
                    outer.width-(insets.left+insets.right),
                    outer.height-(insets.top+insets.bottom));
            if (!inner.contains(cursorLocation))  {
                Rectangle scrollRect = new Rectangle(
                        cursorLocation.x-insets.left,
                        cursorLocation.y-insets.top,
                        insets.left+insets.right,
                        insets.top+insets.bottom);
                list.scrollRectToVisible(scrollRect);
            }
        }
        private Insets getAutoscrollInsets() {
            return autoscrollInsets;
        }
    }
    class GenericTransferable implements Transferable{
        private Object data;
        public GenericTransferable(final Object data){
            this.data = data;
        }
        public DataFlavor[] getTransferDataFlavors() {
            return new DataFlavor[]{DataFlavor.stringFlavor};
        }
        public boolean isDataFlavorSupported(final DataFlavor flavor) {
            return true;
        }
        public Object getTransferData(final DataFlavor flavor) throws UnsupportedFlavorException, IOException {
            return data;
        }
    }
    class GroupItem{
        private String item;
        public GroupItem(final String str){item = str;}
        public String toString() {return item;}
    }
    class GroupCellRenderer extends DefaultListCellRenderer {
        private Color bg = new Color(159, 152, 150);
        private Color bg2 = new Color(130, 130, 125);
        public Component getListCellRendererComponent(
                final JList list, final Object value, final int index, final boolean selected, final boolean focus){
            super.getListCellRendererComponent(list, value, index, selected, focus);
            if(!selected){
                setForeground(Color.BLACK);
                setBackground(Color.WHITE);
            }
            setHorizontalAlignment(JLabel.LEFT);
            setBorder(BorderFactory.createEmptyBorder());
            if(value instanceof GroupItem){
                setBorder(BorderFactory.createLineBorder(bg2));
                setHorizontalAlignment(JLabel.CENTER);
                setFont(getFont().deriveFont(14f));
                setForeground(Color.BLACK);
                setBackground(bg);
            }
            return this;
        }
    }
}
 
S

Steve Wonder

Gast
Hm,
ok aber wo sind da die beiden Tabellen.

Gibt es wirklich kein Beispiel in dem ein Frame geöffnet wird und da sind zwei Tabellen drin und man kann per Drag an Drop die Inhalte der TableRows verschieben??

Danke
 
S

Steve Wonder

Gast
Ok, trotzdem Danke. Wie gesagt ich bin kein Java-Crack und will mich auch nicht endlos lange mit einer Billig-Funktionalität aufhalten....

Naja wenns sowas net gibt, hab ich halt Pech gehabt
 
S

Steve Wonder

Gast
Oh Mann, Oh Mann,

hab grad noch ein bisschen gegoogelt. Wer erfindet denn so eine idiotische Sprache und meint dann auch noch das sei das non plus ultra?
Hoffentlich verschwindet Java bald in der Versenkung. Es kann ja wohl nicht sein, dass man für so eine billige Funktion so einen Aufriß treiben muss.
Ich werde das ganze jetzt mit C# machen. Das geht wesentlich schneller...

Trotzdem Danke und noch viel Spaß mit Java...
 

Krondor

Aktives Mitglied
Über solche Kommentare kann ich immer einfach nur lachen.
In der einen Sprache gibt es die und die Methode die einem etwas einfacher macht und in einer anderen Sprache gibts wieder dafür andere.

Hättest dir ja auch können einfach nen doofen Button machen für hin und für zurück.

Davon abgesehen sprechen wir hier noch übers programmieren und nicht über Word-Dokumente schreiben...

Wieso gibts eigentlich keine Funktion die mich morgens weckt, indem sie mir die Decke wegzieht, schon mal die Kaffeemaschine füllt, anschaltet und den Toast toastet. Schön wäre auch, wenn sie den Toast schon mal mit dem Zeug bestreicht, was ich gerne drauf hätte aber das ist halt optional.....

Und das ganze bitte ohne installiertes Java, ohne dass mein PC an ist und ohne dass ich vorher was einstellen muss. Sie sollte halt raten, wann ich morgens aufstehen will und ....

Sorry für den Zynismus
 

Oli

Top Contributor
Hi,

hm... das Niveau in diesem Thread ist ja unglaublich..

Ich hatte das selbe Problem aber auch keine wirklich praktikable Lösung gefunden.

Ich habe die Tabelle table 1:
DropTarget t = new DropTarget();

Code:
try {
    t.setComponent(tableWeite);
    t.addDropTargetListener(dtl);
    }
    catch (Exception e) {
    e.printStackTrace();
    }
tableWeite.setDropTarget(t);
Listener:

Code:
public DropTargetListener dtl = new DropTargetListener() {
    public void dragEnter(DropTargetDragEvent dtde) {
        System.out.println("LIST");
    }
    public void dragExit(DropTargetEvent dte) {
        System.out.println("LIST");
    }

    public void dragOver(DropTargetDragEvent dtde) {
        System.out.println("LIST");
    }

    public void drop(DropTargetDropEvent dtde) {
        System.out.println("DROPPED");
        System.out.println(dtde.getClass());
        System.out.println(dtde.getDropAction());
    }

    public void dropActionChanged(DropTargetDragEvent dtde) {
        System.out.println("LIST");
    }
};


Tabelle 2:

Code:
    tableWeitePPM.setColumnSelectionAllowed(false);
    tableWeitePPM.setRowSelectionAllowed(true);
    tableWeitePPM.setSelectionMode(2);
    tableWeitePPM.setDragEnabled(true);
    tableWeitePPM.addMouseMotionListener(PPM_dndListener);

Listener:

Code:
public MouseMotionListener PPM_dndListener = new MouseMotionListener() {
    public void mouseDragged(MouseEvent e) {
        System.out.println("DRAGGED");
    }

    public void mouseMoved(MouseEvent e) {
        // TODO Auto-generated method stub
    }
};


Der DropTargetListener reageirt nicht....

Warum ist das so?

Grüße
[/code]
 
B

Beni

Gast
Wenn ich die API richtig interpretiere, fehlt dir noch ein "setTransferHandler" bei der zweiten Tabelle.
 

Oli

Top Contributor
Ich denke der TransferHandler ist nur für Aktionen im Clipboard. den brauch ich eigentlich nicht.
Mein Problem ist hier eher, dass ich die TableRow nicht verschieben kann.

Wenn ich eine Zelle nehme, dann kann ich den Inhalt in ein Texfeld ziehen, aber ich will ja die komplette row in die andere Tabelle übernehmen....

Des geht irgendwie nicht

Grüße
 

byte

Top Contributor
Der TransferHandler kann sowohl für Clipboard als auch für DnD benutzt werden. Das ganze ist eigentlich relativ simpel:

1. TransferHandler implementieren
2. Transferable implementieren
3. TransferHandler in beiden Tables setzen
 

Oli

Top Contributor
Ok, und wie imlementiert man einen TransferHandler, gibt´s da Beispiele, weil mit der Online Doku komm ich da jetzt nicht wirklic zurecht

Danke
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C JTable Drag and Drop von Zeilen innerhalb einer Table AWT, Swing, JavaFX & SWT 2
B SWT - Drag & Drop innerhalb einer Table AWT, Swing, JavaFX & SWT 3
S SWT Drag&Drop / Table AWT, Swing, JavaFX & SWT 9
C Default table model aktualisieren AWT, Swing, JavaFX & SWT 7
J Anbindung Textfeldklasse an Table funktioniert nicht AWT, Swing, JavaFX & SWT 3
A JavaFX Daten in eine HTML-Table mit JS schreiben AWT, Swing, JavaFX & SWT 3
S JavaFX Boolean ändern Table View AWT, Swing, JavaFX & SWT 14
B JavaFX JavaFX Table gespeichertes Wert auswählen/anvisieren AWT, Swing, JavaFX & SWT 3
C TableModel zugehörige Table ermitteln AWT, Swing, JavaFX & SWT 3
T Table Renderer AWT, Swing, JavaFX & SWT 2
T Default Table wird nicht angezeigt AWT, Swing, JavaFX & SWT 15
E JavaFX Von der Table-Cell zur Row AWT, Swing, JavaFX & SWT 0
A JavaFX Table Delete Row AWT, Swing, JavaFX & SWT 5
N JavaFX Problem mit table multiple selection AWT, Swing, JavaFX & SWT 5
D JavaFX Table Filter AWT, Swing, JavaFX & SWT 4
R Swing JTable : Header der Spalten ergänzen mit caption (wie bei html-table) AWT, Swing, JavaFX & SWT 2
I JTable: Doppelklick auf Table soll neues Fenster öffnen und Daten aus JTable anzeigen AWT, Swing, JavaFX & SWT 4
J JTabbedPane: table in new tab: tooltip benutzt die column-widths von table in erstem geöffneten tab AWT, Swing, JavaFX & SWT 17
G Border der Komponente bei Table CellRenderer überschreiben AWT, Swing, JavaFX & SWT 0
M MouseListener auf table oder scrollPane AWT, Swing, JavaFX & SWT 11
T SWT checkbox in table AWT, Swing, JavaFX & SWT 6
Z JavaFX Table mit MenuButton AWT, Swing, JavaFX & SWT 6
T SWT Table (mit Spinner Spalte) Daten auslesen AWT, Swing, JavaFX & SWT 4
E extended Swing Table AWT, Swing, JavaFX & SWT 2
J Einträge aus Table löschen ohne Exception AWT, Swing, JavaFX & SWT 6
T Table-Zeilen mit Thread einfärben AWT, Swing, JavaFX & SWT 15
E SWT Popupmenu auf der Überschrift eines swt.widgets.Table verhindern? AWT, Swing, JavaFX & SWT 3
Nicklas2751 Table View zeigt keinen Inhalt nur leere Zeilen AWT, Swing, JavaFX & SWT 2
reibi SWT SWT - Table AWT, Swing, JavaFX & SWT 8
A Swing JButton in einer Table Cell AWT, Swing, JavaFX & SWT 9
lumo SWT JFace Databinding +Custom Table AWT, Swing, JavaFX & SWT 2
M SWT - Table deselecten AWT, Swing, JavaFX & SWT 2
R SWT | Table | Zeilenkopf AWT, Swing, JavaFX & SWT 2
M SWT Table disabled und Scrollbar enabled AWT, Swing, JavaFX & SWT 11
C [SWT] Widget Table verliert nach Sortierung farbige / eingefärbter Background / Zellen AWT, Swing, JavaFX & SWT 3
L Inhalt einer table löschen AWT, Swing, JavaFX & SWT 2
L Jbutton in table AWT, Swing, JavaFX & SWT 2
lumo SWT Table Selection Color +Focus Out AWT, Swing, JavaFX & SWT 14
S SWT Maximum an Items in Table? AWT, Swing, JavaFX & SWT 2
F SWT table refresh per Thread AWT, Swing, JavaFX & SWT 2
Q SWT Mindetsgröße für Table AWT, Swing, JavaFX & SWT 7
1 Swing manual resize table column to min size AWT, Swing, JavaFX & SWT 2
hdi SWT SWT Table: 2 kleine Probleme AWT, Swing, JavaFX & SWT 4
S SWT Table Größen verändern AWT, Swing, JavaFX & SWT 10
lumo SWT Table und Klassen AWT, Swing, JavaFX & SWT 14
lumo SWT Table CellEditor - knifflig AWT, Swing, JavaFX & SWT 35
M SWT Table mit Columns und Items AWT, Swing, JavaFX & SWT 3
L Java Table AWT, Swing, JavaFX & SWT 4
F Swing J(X)Table Spalten umsortieren NUR im View (Wie finde ich eine Spalte nach Name?) AWT, Swing, JavaFX & SWT 3
A SWT Table mit Bildern und Checkboxes AWT, Swing, JavaFX & SWT 4
A SWT Table hat keine Scrollbar AWT, Swing, JavaFX & SWT 12
A SWT Table clearAll() und zurücksetzen. AWT, Swing, JavaFX & SWT 3
K SWT Table Modell / Datenmodell AWT, Swing, JavaFX & SWT 14
S Table oder TableModel so ueberschreiben, dass Columns minimale Breite haben? AWT, Swing, JavaFX & SWT 2
T SWT - Table Events AWT, Swing, JavaFX & SWT 3
T Fokus auf CB in Table mit beliebiger Taste AWT, Swing, JavaFX & SWT 12
S swt table mit checkboxen: wie nachträglich im code setzen? AWT, Swing, JavaFX & SWT 6
S Seltsam: SWT Table zeigt keine Scrollbar an AWT, Swing, JavaFX & SWT 12
G SWT-Table sortieren AWT, Swing, JavaFX & SWT 12
T Input-Check bei Textfeldern in Table AWT, Swing, JavaFX & SWT 5
G SWT Table Controll AWT, Swing, JavaFX & SWT 7
L SWT-Table: Datum ausgeben? AWT, Swing, JavaFX & SWT 5
G Table in SWT AWT, Swing, JavaFX & SWT 2
S SWT Table - Wie Columns hinzufügen / entfernen AWT, Swing, JavaFX & SWT 3
K javax.swing.table.TableRowSorter AWT, Swing, JavaFX & SWT 13
I JComboBox in Table AWT, Swing, JavaFX & SWT 4
G wo wird die table mit daten gefüllt? oô AWT, Swing, JavaFX & SWT 4
E JTable-während der Einfügezeit der Zellen in die Table AWT, Swing, JavaFX & SWT 2
S table - combobox AWT, Swing, JavaFX & SWT 7
D Selection SWT Table AWT, Swing, JavaFX & SWT 5
D SWT Table AWT, Swing, JavaFX & SWT 5
P Table Layout remove()? AWT, Swing, JavaFX & SWT 2
W Zeile in Table (SWT) selektieren und auslesen AWT, Swing, JavaFX & SWT 4
G Dringend ! SWT-Table übernimmt Änderung nicht AWT, Swing, JavaFX & SWT 2
L Multiline Table AWT, Swing, JavaFX & SWT 3
R SWT: Icons im Table vor den Einträgen AWT, Swing, JavaFX & SWT 3
T mit rechter maustaste Table row selektieren AWT, Swing, JavaFX & SWT 2
F Zeilenhöhe bei SWT Table AWT, Swing, JavaFX & SWT 3
S Nochmal Spaltenbriete im Table AWT, Swing, JavaFX & SWT 2
G mal wieder table. AWT, Swing, JavaFX & SWT 3
V SWT Table mit SWT.CHECK AWT, Swing, JavaFX & SWT 2
P SWT table updaten AWT, Swing, JavaFX & SWT 7
S Frage zu Table(Column)Model AWT, Swing, JavaFX & SWT 3
J ScrollPanel mit 2 Table`s AWT, Swing, JavaFX & SWT 5
J Table Model AWT, Swing, JavaFX & SWT 2
J Abstract Table Model AWT, Swing, JavaFX & SWT 7
T in einer Table soll jede zweite Zeile markiert werden AWT, Swing, JavaFX & SWT 3
E Inhalt einer Zelle eine Table in ein TextField bekommen AWT, Swing, JavaFX & SWT 24
J Drag und drop aus einer JTable - bitte um Unterstützung AWT, Swing, JavaFX & SWT 2
G JPanel per Drag and Drop JButtons und Bilder ablegen AWT, Swing, JavaFX & SWT 1
AmsananKING ListView Drag And Drop AWT, Swing, JavaFX & SWT 0
AmsananKING Drag And Drop Filenames Inside A Listview AWT, Swing, JavaFX & SWT 1
DonBronson Java Graphics bewegbar machen (Drag&Drop) AWT, Swing, JavaFX & SWT 3
M Polygon per Drag&Drop verschieben AWT, Swing, JavaFX & SWT 26
Z Swing Drag and Drop mit einem JButton AWT, Swing, JavaFX & SWT 1
N Drag and Drop Fenster AWT, Swing, JavaFX & SWT 11
F Drag&Drop mit Transparenter Farbe bei PNG AWT, Swing, JavaFX & SWT 0
D JavaFX Pane per Drag&Drop bewegen? AWT, Swing, JavaFX & SWT 2
L JavaFX Drag and Drop funktioniert nicht AWT, Swing, JavaFX & SWT 3
J Drag and Drop von eigenen Objekten AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben