AllElements

Status
Nicht offen für weitere Antworten.
A

ajo

Gast
HI,

und zwar geht es darum in einer JList mit einem ActionListener die Elemente per Button von der eine JList in die andere zu verschieben, was ich auch geschafft habe.
Nun sollen aber duch einen Buttonklick alle Elemente automatisch in die ander JList verschoben werden,
Frage ist nur wie lautet der Befehl dafür?
Dachte es geht anstatt Element-->Elements aber da zeigt der mir nur Fehler an!!
Hoffe es kann mir jemand Helfen.

MFG

Hier der Queltext:





public void actionPerformed(ActionEvent event)
{

String cmd = event.getActionCommand();

if (cmd.equals(">")) {
ListModel lm = clorse.getModel();
int[] sel = clorse.getSelectedIndices();
for (int i = 0; i < sel.length; ++i) {
String value = (String)lm.getElementAt(sel);
daten2.addElement(value);
daten.removeElement(value);
}
}
}
 
A

ajo

Gast
ups ganz vergessen

:oops:

hier nnochmal der Code:



Code:
public void actionPerformed(ActionEvent event)
	{
		
		String cmd = event.getActionCommand();
		
		if (cmd.equals(">")) {
			ListModel lm = clorse.getModel();
			int[] sel = clorse.getSelectedIndices();
			for (int i = 0; i < sel.length; ++i) {
				String value = (String)lm.getElementAt(sel[i]);
				daten2.addElement(value);
				daten.removeElement(value);
			}
		}
 

meez

Top Contributor
ajo hat gesagt.:
Code:
public void actionPerformed(ActionEvent event)
	{
		
		String cmd = event.getActionCommand();
		
		if (cmd.equals(">")) {
			ListModel lm = clorse.getModel();			
			for (int i = 0; i < clorse.getSize(); ++i) {
				String value = (String)lm.getElementAt(i);
				daten2.addElement(value);
				daten.removeElement(value);
			}
		}
 
A

ajo

Gast
Erstmal danke für die schnelle antwort aber leider zeigt der mir einen Fehler an, wenn ich das so abändere wie meez es schreibt.
Ich poste mal denn ganzen Code vll könnt ihr ja denn Fehler entdecken.

Code:

Code:
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Component;
import java.awt.Dialog;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Label;
import java.awt.Panel;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.ListModel;

import javax.swing.ListSelectionModel;

public class SELDE extends Frame 
implements ActionListener {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 7418398424159167425L;
	
	private JFrame frame;
	
	private JPanel panel;
	
	private JButton btRechtsverschieben, btLinksverschieben,
	btalleverschiebenR, btalleverschiebenL, btOK, btAbbrechen, btHilfe;
	
	
	private JList clorse,target;
	
	private JLabel lBenutzerRechte, lMöglicheRechte;
	
	private DefaultListModel daten,daten2;
	
	public SELDE() {
		init();
	}
	
	public void init() {
		createFrame();
		createPanel();
		createButton();
		createLabel();
		createList();
		getCoordinates();
		createLayout();
		show();
	}
	
	public void createFrame() {
		frame = new JFrame();
		frame.setTitle("Select Tool");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
	
	public void createPanel() {
		panel = new JPanel();
		
	}
	

	public void createButton() {
		btRechtsverschieben = new JButton(">");
		btRechtsverschieben.addActionListener(this);
		panel.add(btRechtsverschieben, BorderLayout.SOUTH);
		
		btLinksverschieben = new JButton("<");
		btLinksverschieben.addActionListener(this);
		panel.add(btLinksverschieben, BorderLayout.SOUTH);
		
		btalleverschiebenL = new JButton("<<");
		btalleverschiebenL.addActionListener(this);
		panel.add(btalleverschiebenL, BorderLayout.SOUTH);
		
		
		btOK = new JButton("OK");
		btAbbrechen = new JButton("Abbrechen");
		frame.add(btAbbrechen);
		btAbbrechen.addActionListener(this);
        btHilfe = new JButton("Hilfe");
		
	    btalleverschiebenR = new JButton(">>");
		btalleverschiebenR.addActionListener(this);
		panel.add(btalleverschiebenR, BorderLayout.SOUTH);
	
	}
	

	public void createLabel() {
		lBenutzerRechte = new JLabel("Benutzer Rechte");
		lMöglicheRechte = new JLabel("Mögliche Rechte");
		
	}
	
	public void createList() {
		
		
		daten2 = new DefaultListModel();
		daten2.addElement("hallo");
		
		daten = new DefaultListModel();
		daten.addElement("schreib");
		daten.addElement("lesen");
		daten.addElement("schreiben und lesen");
		daten.addElement("Adminrechte");
		daten.addElement("Prjoektleiter");
		daten.addElement("Beobachtungsrechte");
		daten.addElement("Aktualiesierungrechte");
		daten.addElement("Veränderunsgrechte");
		
		
		target = new JList(daten2);
		target.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
		
		
		clorse = new JList(daten);
		clorse.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
		
		
	}
	

	public void actionPerformed(ActionEvent event)
	{
		
		String cmd = event.getActionCommand();
		
		if (cmd.equals(">")) {
			ListModel lm = clorse.getModel();
			int[] sel = clorse.getSelectedIndices();
			for (int i = 0; i < sel.length; ++i) {
				String value = (String)lm.getElementAt(sel[i]);
				daten2.addElement(value);
				daten.removeElement(value);
			}
		}
		
		if (cmd.equals(">>")) {
	         ListModel lm = clorse.getModel();         
	         for (int i = 0; i < clorse.getSize(); ++i) {
	            String value = (String)lm.getElementAt(i);
	            daten2.addElement(value);
	            daten.removeElement(value);
	         }
	      }
		
		if (cmd.equals("<")) {
			ListModel lm = target.getModel();
			int[] sel = target.getSelectedIndices();
			for (int i = 0; i < sel.length; ++i) {
				String value = (String)lm.getElementAt(sel[i]);
				daten.addElement(value);
				daten2.removeElement(value);
			}
		}
		
		if (cmd.equals("<<")) {
			ListModel lm = target.getModel();
			int[] sel = target.getSelectedIndices();
			for (int i = 0; i < sel.length; ++i) {
				String value = (String)lm.getElementAt(sel[i]);
				daten.addElement(value);
				daten2.removeElement(value);
			}
		}
		
	}  
	
	public void getCoordinates() {
		frame.setMaximumSize(new Dimension(680, 530));
		frame.setMinimumSize(new Dimension(680, 530));
		frame.setPreferredSize(new Dimension(680, 530));
		
		panel.setLayout(null);
		
		btRechtsverschieben.setBounds(282, 170, 100, 20);
		btLinksverschieben.setBounds(282, 270, 100, 20);
		btalleverschiebenR.setBounds(282, 190, 100, 20);
		btalleverschiebenL.setBounds(282, 290, 100, 20);
		lMöglicheRechte.setBounds(87, 3, 250, 20);
		lBenutzerRechte.setBounds(480, 3, 250, 20);
		btOK.setBounds(180, 450, 70, 20);
		btAbbrechen.setBounds(282, 450, 100, 20);
		btHilfe.setBounds(410, 450, 70, 20);
		clorse.setBounds(17, 25, 250, 400);
		target.setBounds(400, 25, 250, 400);
		
	}
	
	public void createLayout() {
		panel.add(lMöglicheRechte);
		panel.add(lBenutzerRechte);
		panel.add(btRechtsverschieben);
		panel.add(btalleverschiebenR);
		panel.add(btLinksverschieben);
		panel.add(btalleverschiebenL);
		panel.add(btOK);
		panel.add(btAbbrechen);
		panel.add(btHilfe);
		frame.add(panel);
		panel.add(clorse);
		panel.add(target);
		
	}
	
	public void show() {
		frame.pack();
		frame.setVisible(true);
	}
	
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		DialogWindow window = new DialogWindow();
		window.inAnApplet = false;
		
		window.setTitle("DialogWindow Application");
		window.pack();
		window.setVisible(true);
		new SELDE();
	}
	
}
 

Murray

Top Contributor
Code:
      if (cmd.equals(">>")) {
            ListModel lm = clorse.getModel();         
            for (int i = 0; i < lm.getSize(); ++i) {
               String value = (String)lm.getElementAt(i);
               daten2.addElement(value);
               daten.removeElement(value);
            }
         }
 
A

ajo

Gast
Supa danke jetzt zeigt er mir keine Fehler mehr an aber er holt sich immer nur die hälfte von denn elementen rüber also wenn links 8 stehen holt er sich erst 4 dann 2 dann 1 und dann das letzte.
Weiss einer woran das liegt, weil er soll sich ja alle gleichzeitgi rüberholen.
 

André Uhres

Top Contributor
Code:
       if (cmd.equals(">>")) {
            ListModel lm = clorse.getModel();
            int size = lm.getSize();
            for (int i = 0; i < size; ++i) {
                String value = (String)lm.getElementAt(0);
                daten2.addElement(value);
                daten.removeElement(value);
            }
        }
 
A

ajo

Gast
Will ja echt nicht nerven oder so aber was mir grad noch aufgefallen ist ist das wenn ich mehrere makiere und nur die makierten verschieben will der die nciht sofort alle verschiebt sonder erst nach mehrmaligem klicken also immer einzelnt.
Kann man das irgendwie so machen das der die sofort alle verschiebt??
Vielen dank schonmal im vorraus für die Hilfe.

MFG
 

André Uhres

Top Contributor
ajo hat gesagt.:
Will ja echt nicht nerven oder so ..
Du bist eine richtige Nervensäge.
Ist nur ein Scherz :D
Code:
       if (cmd.equals(">")) {
            ListModel lm = clorse.getModel();
            int[] sel = clorse.getSelectedIndices();
            int count = 0;
            for (int i = 0; i < sel.length; ++i) {
                String value = (String)lm.getElementAt(sel[i]-count);
                daten2.addElement(value);
                daten.removeElement(value);
                count++;
            }
        }
 
A

ajo

Gast
Hehe ich weiss aber ich muss sagen ich hab dich lieb :D
Vielen dank jetzt klappt alles ohne probleme ohne fehlermeldungen (ohh wunder ^^)
Echt geiler forum hier :applaus: ich denke ihr werdet mich öfters wiedersheen vll nen ich mich ja dann anstatt ajo--->Nervensäge ^^
Naja vielen dank nochmal und bis demnächst :D
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben