Fragen zu JList und DnD

Status
Nicht offen für weitere Antworten.

TZP

Mitglied
Moinz.
Ich bastel mir gerade n kleines Programm zusammen, mit dem ich Daten von einer JList in eine andere kopieren und/oder per Drag n Drop bewegen kann.
Das läuft recht gut aber ich hab 2 grosse Probleme.

Beim Button "Alles kopieren" wird ein DefaultListModel in eine andere Klasse übergeben und diese kommt da auch an und kann problemlos S.o.p. werden. Allerdings weiß ich -noch- nicht, wie ich sie dann in eine bestehene JList bringe und die Ansicht aktualisiere?

Das andere Problem ist der DnD. In der einen Klasse konnte ich die Inhalte auf Dragable(true) stellen...aber das ablegen läuft nich so richtig. Hat jemand n Hint für mich?

-bedank-
TZP

Hier die MainClass...kein grosses Ding
Code:
public class MainClass {

	public MainClass(){
	}
	
	public static void main(String[] args) {
		
		Testdateien td = new Testdateien();
		AllIn allIn = new AllIn();
		
		JFrame meinFrame = new JFrame("Testumgebung");
		Container meinConti = meinFrame.getContentPane();
		meinConti.setLayout(new GridBagLayout());
		meinConti.add(td);
		meinConti.add(allIn);
		meinFrame.setSize(800, 600);
		meinFrame.setVisible(true);
		meinFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
}


Die Klasse, wo der Inhalt herkommt
Code:
public class Testdateien extends JPanel{
	
	private AllIn allIn;
	
	private DefaultListModel dfl;
	private DefaultListModel saveDLF;
	private JList alleDateien; 
	
	private JScrollPane meinScrollPane;
	
	private File pfad;
	private File[] alleFilez;
	
	private JButton alleKopieren;
	
	public Testdateien(){
		
		allIn = new AllIn();
		
		dfl = new DefaultListModel();
		saveDLF = new DefaultListModel();
		alleKopieren = new JButton("Alles Kopieren =>");
		
		//get content
		pfad = new File("D:/Test");
		alleFilez = pfad.listFiles();
		for(File f : alleFilez){
			//files only please
			if(f.isFile())dfl.addElement(f.getName() + " \n");
		}
		
		alleDateien = new JList(dfl);
		alleDateien.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
		alleDateien.setDropMode(DropMode.ON);
		alleDateien.setDragEnabled(true);
		meinScrollPane = new JScrollPane(alleDateien);
		
		//Button Listener
		alleKopieren.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e) {
				allesKopieren(e);
			}
		});
		
		meinScrollPane.setPreferredSize(new Dimension(200, 200));
		meinScrollPane.setColumnHeaderView(new JLabel(dfl.getSize() + " Dateien"));
		
//		setLayout(new GridBagLayout());
		add(meinScrollPane);
		add(alleKopieren);	
	}
	
	//Button-event
	public void allesKopieren(ActionEvent e){
		saveDLF.clear();
		//copy list by hand
		for(int i = 0; i < dfl.getSize(); i++){
			saveDLF.addElement(dfl.getElementAt(i));
		}
		
//		deletes the list at the second time?!?		
//		saveDLF = dfl.;
		
		allIn.listeFuellen(saveDLF);
	}
}


Und wo es rein soll.
Code:
public class AllIn extends JPanel implements DropTargetListener{
	
	private JScrollPane inAll;
	private JScrollPane inDoku;
	private DefaultListModel dlfIn;
	private DefaultListModel dlfDoku;
	private JList inList;
	private JList inListDoku;
	private String targetDir;
	private File rein;
	
	public AllIn(){
		
		targetDir = "D:/Test/in/";
		rein = new File(targetDir);
		
		dlfIn = new DefaultListModel();
		dlfDoku = new DefaultListModel();
		inList = new JList(dlfIn);
		inAll = new JScrollPane(inList, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
		inAll.setColumnHeaderView(new JLabel("Alle Testdateien In"));
		inAll.setPreferredSize(new Dimension(200, 200));
		
		inListDoku = new JList(dlfDoku);
		inDoku = new JScrollPane(inListDoku, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
		inDoku.setPreferredSize(new Dimension(200, 200));
//		inDoku.setCorner(JScrollPane.UPPER_RIGHT_CORNER, new JLabel("2", JLabel.CENTER));
		inDoku.setColumnHeaderView(new JLabel("Dokumentation In"));
		
		inListDoku.setDropMode(DropMode.INSERT);
		
		DropTarget dt = new DropTarget(inListDoku, this);
		
		add(inAll);
		add(inDoku);
	}
	

                //Problem eins: Wie updatet man die Ansicht richtig?
	public void listeFuellen(DefaultListModel meinDLF){
		dlfIn.clear();
//		dlfIn = meinDLF;
		for(int i = 0; i< meinDLF.getSize(); i++){
			dlfIn.addElement(meinDLF.getElementAt(i));
		}
		inList = new JList(dlfIn);
		inList.updateUI();
	}

	public void dragEnter(DropTargetDragEvent arg0) {
	}
	public void dragExit(DropTargetEvent arg0) {
	}
	public void dragOver(DropTargetDragEvent arg0) {
	}
                
                // Problem zwei: Ein gutes Beispiel wäre nice. Bin -noch- zu doof dafür. ^^
	public void drop(DropTargetDropEvent e) {
	
	}
	public void dropActionChanged(DropTargetDragEvent arg0) {
	}
}
 

Marco13

Top Contributor
//Problem eins: Wie updatet man die Ansicht richtig?

So jedenfalls nicht. Sowas mit "inList.setModel(model)" o.ä. wäre eher nahe liegend.

// Problem zwei: Ein gutes Beispiel wäre nice. Bin -noch- zu doof dafür. ^^

Zum Fragen stellen? :wink: Na, mal im ernst: Poste am besten deinen aktuellen Stand (ggf. auf das notwendigste Reduziert, evtl. in EINER Datei, die man einfach compilieren und starten kann), und beschreib' die Frage genau.
 

TZP

Mitglied
Das mit dem Update knobel ich noch raus...mal gucken, wie das mit dem getModel genau läuft.
Hier erst ma der Stand für das DnD:

Code:
class FromTransferHandler extends TransferHandler {
	
	private JList jl;
	private DefaultListModel dl;
	
	public FromTransferHandler(JList jl, DefaultListModel dl){
		this.jl = jl;
		this.dl = dl;
	}
	
    public int getSourceActions(JComponent comp) {
        return COPY;
    }

    private int index = 0;
    private int[] abc;
    public Transferable createTransferable(JComponent comp) {
    	
    	abc = new int[jl.getSelectedIndices().length];
    	
    	for(int i = 0; i< abc.length; i++){
    		abc[i] = jl.getSelectedIndex();
    	}

    	String ab = (String)jl.getSelectedValue();
    	
    	index = jl.getSelectedIndex();
        if (index < 0 || index >= dl.getSize()) {
            return null;
        }
        return new StringSelection(ab);
    }
}

Code:
class ToTransferHandler extends TransferHandler {
    int action;
    
    public ToTransferHandler(int action) {
        this.action = action;
    }
    
    public boolean canImport(TransferHandler.TransferSupport support) {
        // for the demo, we'll only support drops (not clipboard paste)
        if (!support.isDrop()) {
            return false;
        }

        // we only import Strings
        if (!support.isDataFlavorSupported(DataFlavor.stringFlavor)) {
            return false;
        }

        boolean actionSupported = (action & support.getSourceDropActions()) == action;
        if (actionSupported) {
            support.setDropAction(action);
            return true;
        }

        return false;
    }

    public boolean importData(TransferHandler.TransferSupport support) {
        // if we can't handle the import, say so
        if (!canImport(support)) {
            return false;
        }

        // fetch the drop location
        JList.DropLocation dl = (JList.DropLocation)support.getDropLocation();

        int index = dl.getIndex();
        // fetch the data and bail if this fails
        String data;
        try {
            data = (String)support.getTransferable().getTransferData(DataFlavor.stringFlavor);
        } catch (UnsupportedFlavorException e) {
            return false;
        } catch (java.io.IOException e) {
            return false;
        }
        JList list = (JList)support.getComponent();
        DefaultListModel model = (DefaultListModel)list.getModel();
    	model.insertElementAt(data, index);

        return true;
    }  
}

Das Problem daran ist: Ich hab nicht alles verstanden und es wäre nice, wenn man das alles in eine Klasse packen könnte. Momentan ist es so, dass meine Klasse mit den Originaldateien die FromTransferHandler aufruft und ihre JList nebst DLF übergibt. Die Klasse, wo die Dateien rein sollen, ruft die ToTransferHandler auf und übergibt den COPY als Parameter.

Ferner hab ich noch das Problem, dass ich immer nur eine Datei rüberschieben kann aber erste Versuche mit einem Array schlugen komplett fehl.

-bedank-
TZP
 

TZP

Mitglied
So, wieder was geschafft. Ich hab rausgefunden, warum ich das DefaultListModel nie aktualisieren kann. Die Variable muss ein "static" kriegen, damit die andere Instanz der Klasse auch genau die gleiche Variable nimmt. Wieder was gelernt. ^^
 

Marco13

Top Contributor
"static" ist für eine Variable schonmal schlecht. Es sollte lediglich überall (wo es nötig ist) dieSELBE Instanz verwendet werden. BTW: Bei "aktueller Stand" stand auch was von "compilierbar" dabei. Aber vielleicht kriegst du es ja auch so hin.
 

TZP

Mitglied
Aber wird bei static nicht immer dieselbe Variable in allen Instanzen verwendet oder hab ich da was falsch verstanden?

Und noch eine Frage am Rande: Ich möchte ein Verzeichnis ohne Unterverzeichnis auslesen. Der kurze Schnipsel dazu ist:

Code:
pfad = new File("D:/Test/");
		alleFilez = pfad.listFiles();
		
		for(int j = 0; j < alleFilez.length; j++){
			if(alleFilez[j].isFile()){
				System.out.println(alleFilez[j] + " ist eine Datei!");
			}
			System.out.println(alleFilez.length);
		}

In dem Ordner sind 4 Dateien und 2 Unterverzeichnisse drin. Wie kann ich aus alleFilez die Unterverzeichnisse rauskriegen? Die brauch ich nicht aber sie dürfen auch nicht gelöscht werden, was .delete() unbrauchbar macht.
 

Marco13

Top Contributor
TZP hat gesagt.:
Aber wird bei static nicht immer dieselbe Variable in allen Instanzen verwendet oder hab ich da was falsch verstanden?

Ja, aber auf zu brutale Weise - Variablen macht man nur static, wenn es unbedingt sein muss. Und das Argument "ich will nicht zwei mal setModel(xxx) aufrufen" zählt dabei nicht.


Code:
pfad = new File("D:/Test/");
		alleFilez = pfad.listFiles();
                List<File> alleFilezOhneDirectoriez = new ArrayList<File>();
		for(int j = 0; j < alleFilez.length; j++){
			if(alleFilez[j].isFile()){
				System.out.println(alleFilez[j] + " ist eine Datei!");
                                alleFilezOhneDirectoriez.add(alleFilez[j];
			}
			System.out.println(alleFilezOhneDirectoriez.size());
		}
 

TZP

Mitglied
Hmhm...da muss ich noch mal nachfragen. Wozu gibt es denn dann static? Hat das n tieferen Grund?
Dazu will ich gleich mal eine allgemeine Frage stellen, da mir die Lösung nicht in den Sinn kommt. Entweder bin ich zu doof und/oder steh total auf m Schlauch. Entschuldigung, wenn ich es so erkläre aber mir fehlt (gerade) ein wichtiges Stück an Wissen.

3 Klassen. Klasse A ist die Main, Klasse B und C enthalten je ein JPanel mit nem Textfeld.
Klasse A legt je eine Instanz von B und C an. B meinB = new B(); und C meinC = new C(); Beide werden geaddet und fertig ist A.

B hat zusätzlich einen Button but. B legt eine neue Instanz von C an, genau wie A es macht, weil B die Methode von C aufrufen muss. B ruft beim Klick auf but die Methode in C auf mit meinC.bittesehr("einText");

C hat in der Methode bittesehr(String st) den Befehl st an das C-Textfeld zu adden. Aber nix passiert. Das konnte ich mit static beim C-Textfeld umgehen aber man soll es nicht machen.
Warum legt Java eine neue Instanz von C an, anstatt genau die eine Klasse zu benutzen? Und was kann ich dagegen tun? Wenn ich das C-Textfeld im Konstruktor übergebe, muss ich sowohl bei B den Aufruf C meinC = new C(C-Textfeld) schreiben, als auch bei A...aber bei A brauch ich das C-Textfeld nicht.

So...Gott, wie peinlich. Ich bin überhaupt nicht auf Draht. :autsch:
 

Marco13

Top Contributor
Wozu gibt es denn dann static? Hat das n tieferen Grund?

Für statische Methoden, und für Konstanten
public static final int SOME_FLAG = 1024;

Das mit dem A,B,C hab' ich jetzt nicht komplett nachvollzogen. Die Antwort wird wohl sein, dass "irgendwo" "irgendeine" Instanz eines Objektes an ein anderes übergeben werden muss. Schreib' notfalls mal ein kleines Demo-Programm (mit den Klassen A,B und C) und schreib' an die entsprechende Stelle sowas wie "Wie krieg' ich hier das 'static' weg?"
 

TZP

Mitglied
Ich hätt gleich Code draus machen können. ^^

Code:
class A extends JFrame{
    ...
    B meinB = new B();
    C meinC = new C();

    add(meinB);
    add(meinC);
    ...
}


class B extends JPanel{
    ...
    C meinC = new C();
    JButton but;
    ...
    // bei Klick auf but wird folgende Methode aufgerufen
    public void but-klick(){
        meinC.bitteSehr("Moin");
    }
}


class C extends JPanel{
    ...
    JTextfield c_jtf;
    c_jtf = new JTextfield();
    ...
    public void bitteSehr(String st){
        c_jtf.setText(st);
    }
}

So in etwa. Jetzt ist halt das Problem, dass der Text in C nie angezeigt wird. Das konnte ich mit static c_jtf umgehen aber lernte gerade, dass das nicht gut ist. Gibt es noch ne andere Möglichkeit, ausser dass ich das C-Textfield in den Konstruktor von C als Parameter setze?
Daraus resultiert nämlich
Code:
C meinC = new C(JTextfield meinCJTF);
was ich bei A aber nicht brauche.
 

TZP

Mitglied
Yoga-Flame, jetzt hab ich´s.
Anstatt in A und B eine neue Instanz von C anzulegen, übergeb ich C einfach direkt in A.

Code:
class A extends JFrame{
    ...
    C meinC = new C();
    B meinB = new B(meinC);
    ...
}

Dadurch benutz ich die gleiche Instanz...vorher waren das verschiedene Instanzen von C und das kann ja nich funzen. Doublefaq...für diese "Kleinigkeit" ging n halber Tag flöten. ^^
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Fragen zu JList AWT, Swing, JavaFX & SWT 3
I Einige Fragen zu JList AWT, Swing, JavaFX & SWT 6
Y 2 Fragen- JList Inhalt ändern und Fenster invisible setzen AWT, Swing, JavaFX & SWT 5
G Fragen zu JList AWT, Swing, JavaFX & SWT 12
thor_norsk Allgemeine Fragen AWT, Swing, JavaFX & SWT 6
thor_norsk Allgemeine Fragen AWT, Swing, JavaFX & SWT 4
U Zwei Fragen zu eienr Swing Aufgabe AWT, Swing, JavaFX & SWT 2
K JavaFX Allgemeine Fragen zu dem Aufbau eines Programms hinsichtlich der Klassen AWT, Swing, JavaFX & SWT 1
D Fragen zur GUI AWT, Swing, JavaFX & SWT 4
M NetBeans JFrame Grundlangen fragen AWT, Swing, JavaFX & SWT 6
T JavaFX Allgemeine Fragen zu JavaFX (uA zu Properties) AWT, Swing, JavaFX & SWT 6
D Panel wird nicht angezeigt und Fragen zum CardLayout AWT, Swing, JavaFX & SWT 6
K Fragen zu JavaFx Canvas AWT, Swing, JavaFX & SWT 0
N Swing Fragen zu non-modal JDialog AWT, Swing, JavaFX & SWT 1
Q Fragen zur JMenuBar & Co. AWT, Swing, JavaFX & SWT 3
F DefaultTreeCellEditor - Fragen zur Groesse und zum Icon beim Editieren AWT, Swing, JavaFX & SWT 4
Kenan89 JMenu Fragen AWT, Swing, JavaFX & SWT 5
Luk10 (LWJGL) Fragen zu VBOs AWT, Swing, JavaFX & SWT 21
M Swing JTextPane + Scrollbar = Fragen AWT, Swing, JavaFX & SWT 15
J Das erste Projekt und ein Haufen von Fragen. Der SudokuReader. AWT, Swing, JavaFX & SWT 4
Luk10 Fragen zum Laden von Fonts AWT, Swing, JavaFX & SWT 4
Luk10 Fragen zum Koordinaten System AWT, Swing, JavaFX & SWT 3
M JTable Grundlegende Fragen AWT, Swing, JavaFX & SWT 4
B Prozentrechner GUI Fragen AWT, Swing, JavaFX & SWT 4
H Fragen zu JPanel und JButton AWT, Swing, JavaFX & SWT 3
Q Swing Zeichenprogramm, grundlegende Fragen AWT, Swing, JavaFX & SWT 8
U Swing Fragen bezüglich Multithreaded GUIs (Grundlagen): AWT, Swing, JavaFX & SWT 3
R LayoutManager GridBagLayout Fragen AWT, Swing, JavaFX & SWT 10
A diverse Layout-Fragen AWT, Swing, JavaFX & SWT 4
M LayoutManager Einige Fragen zum GridBagLayout AWT, Swing, JavaFX & SWT 13
H Swing Zwei Fragen AWT, Swing, JavaFX & SWT 5
S 2D-Grafik Diverse Fragen zu Imagemanipulation in Java AWT, Swing, JavaFX & SWT 11
C Swing Grundsätzliche Fragen zu MVC AWT, Swing, JavaFX & SWT 8
F 3 Fragen zu Applets AWT, Swing, JavaFX & SWT 4
L Klick auf JTable -> EditorPane manipulieren, Fragen zu TableModel AWT, Swing, JavaFX & SWT 9
S Fragen zu GridBagLayout AWT, Swing, JavaFX & SWT 6
B Zeichnen in Swing - Jede Menge Fragen! AWT, Swing, JavaFX & SWT 2
D Fragen zu Swing, paintComponent() und repaint AWT, Swing, JavaFX & SWT 6
D GridBagLayout und JEditorPane (mehrere fragen) AWT, Swing, JavaFX & SWT 2
A Swing einfache fragen zu frame AWT, Swing, JavaFX & SWT 10
P Mehrere Fragen AWT, Swing, JavaFX & SWT 4
A Fragen zu Microber AWT, Swing, JavaFX & SWT 4
C Mehrer Fragen zu großem kompletten Swing Beispiel AWT, Swing, JavaFX & SWT 5
I Drei Fragen/Probleme mit einer JTable AWT, Swing, JavaFX & SWT 9
G Fragen zum FileChooser AWT, Swing, JavaFX & SWT 5
M 2 Kleine Fragen zum JOptionFrame AWT, Swing, JavaFX & SWT 5
G performance fragen zu AWT, Swing AWT, Swing, JavaFX & SWT 14
J Fragen zu JTable und JScrollpane AWT, Swing, JavaFX & SWT 2
R Frage zu Listfeld oder jTable, auch andere Fragen AWT, Swing, JavaFX & SWT 5
C Fragen zur Darstellung einer JTable mittels Renderer AWT, Swing, JavaFX & SWT 2
ModellbahnerTT Fragen zu AWT AWT, Swing, JavaFX & SWT 3
S Fragen Databinding? AWT, Swing, JavaFX & SWT 3
J Fragen zu AWT Komponenten AWT, Swing, JavaFX & SWT 5
U 2 Fragen zu BufferedImages AWT, Swing, JavaFX & SWT 19
J Fragen zur Vererbung und Update AWT, Swing, JavaFX & SWT 12
J Fragen zum SyntaxHighlighting (DefaultStyledDocument) AWT, Swing, JavaFX & SWT 2
I Ein paar SWT Fragen AWT, Swing, JavaFX & SWT 10
P Zwei Fragen zu Bildern in Applets AWT, Swing, JavaFX & SWT 2
isowiz Einige Fragen zur ersten eigenen Sing-Applikation AWT, Swing, JavaFX & SWT 4
G 2 Fragen JDesktopPane AWT, Swing, JavaFX & SWT 4
S Fragen zu einem Beispiel(Swings und AWT) AWT, Swing, JavaFX & SWT 33
G Fragen zum Ocean Look and Feel AWT, Swing, JavaFX & SWT 3
G Neue Komponente erstellen - Fragen/Probleme mit MouseEvents AWT, Swing, JavaFX & SWT 2
C Gemischte Fragen AWT, Swing, JavaFX & SWT 10
K 2 fragen:JCheckBoxMenuItem und ComboBox AWT, Swing, JavaFX & SWT 2
T Mehrere Fragen zu JToolBar AWT, Swing, JavaFX & SWT 2
N 2 Fragen (zu binärem Suchen und Scrollbar) AWT, Swing, JavaFX & SWT 6
B Einige Fragen zum GUI AWT, Swing, JavaFX & SWT 3
B Jlist füllen AWT, Swing, JavaFX & SWT 4
H JList.setEnabled(false) - Text soll nicht grau sein AWT, Swing, JavaFX & SWT 2
BananenBrötchen Swing Arraylist in jList anzeigen AWT, Swing, JavaFX & SWT 6
J Swing JList wird nicht angezeigt AWT, Swing, JavaFX & SWT 6
A Swing JList zu JTree AWT, Swing, JavaFX & SWT 11
G Eingabe in JTextField in Array speichern und in JList ausgeben AWT, Swing, JavaFX & SWT 7
cezary Choice, JComboBox oder JList AWT, Swing, JavaFX & SWT 5
J JList scrollen AWT, Swing, JavaFX & SWT 3
Neumi5694 Swing JList - Klick abfangen AWT, Swing, JavaFX & SWT 3
G Swing Swing Binding JList funktioniert nicht AWT, Swing, JavaFX & SWT 5
M Swing JList Auswahl-GUI-Konzept AWT, Swing, JavaFX & SWT 9
C JList: Bestimmte Objekte ausschließen AWT, Swing, JavaFX & SWT 1
F JList aktualisiert nicht AWT, Swing, JavaFX & SWT 24
F JList auffüllen aus Array von Instanzen AWT, Swing, JavaFX & SWT 4
F Event wenn Maus eine JList verlässt AWT, Swing, JavaFX & SWT 13
F JList bei Windowbuilder AWT, Swing, JavaFX & SWT 8
F JList zeigt keine Einträge mehr AWT, Swing, JavaFX & SWT 1
P JList erstellen AWT, Swing, JavaFX & SWT 4
G DefaultListModel für JList AWT, Swing, JavaFX & SWT 2
P Einer JList mit eigenem ListModel einen Eintrag hinzfügen AWT, Swing, JavaFX & SWT 5
P Übergeben von ListModel an nichtparametrisierte JList AWT, Swing, JavaFX & SWT 8
M Ein Element in mehreren JList selektieren AWT, Swing, JavaFX & SWT 5
J Swing Probleme mit ListSelectionListener(), Inhalte der JList werden gelöscht? AWT, Swing, JavaFX & SWT 6
Z Swing Variable eines Objekt aus Hashmap in JList anzeigen AWT, Swing, JavaFX & SWT 1
Nabbit Über JList kein JPopupMenu AWT, Swing, JavaFX & SWT 2
O Swing JList beim Klicken in der GUI erstellen AWT, Swing, JavaFX & SWT 6
C Swing JList zeigt keine neuen Einträge an AWT, Swing, JavaFX & SWT 1
B Swing Auf JList-Elemente aus einer anderen Klasse zugreifen AWT, Swing, JavaFX & SWT 1
T Generische Klasse in JList über DefaultListModel AWT, Swing, JavaFX & SWT 1
T Swing WindowBuilder: JList wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
C Button Text in JList neue Zeile AWT, Swing, JavaFX & SWT 6
C Hilfe bei JSpinner und JList AWT, Swing, JavaFX & SWT 1

Ähnliche Java Themen

Neue Themen


Oben