verschieben der Objekte in JPanel nur stückchenweise möglich

MK234

Aktives Mitglied
Hallo,

ich programmiere gerade eine Anwendung in Swing, in welchem per Mausklick Rechtecke eingefügt
werden können (dies ist er möglich nach dem Drücken des Buttons "Rechteck setzen").
Wenn man den Button "verschieben" drückt, soll man die einzelnen Rechtecke per Mausklick verschieben
können. Und darin liegt das Problem, leider lassen sich die Rechtecke immer nur stückchenweise
verschieben, so daß man mehrmals das Rechteck anklicken muß, um es zur Zielposition zu ziehen.

Hier der entscheidende Programmabschnitt:

Code:
public class BildBewegen extends JPanel implements MouseListener, MouseMotionListener{
       
    int k = 0;
    int x, y;    
    int[] xArray = new int[10];
    int[] yArray = new int[10];
    int[] xOffset = new int[10];
    int[] yOffset = new int[10];
    
    boolean verschieben = false;
	boolean rechteck = true;
    
    public BildBewegen() {
    	setSize(300, 300);
    	addMouseListener(this);
    	addMouseMotionListener(this);
    }
    
    public void paint (Graphics g) {
        super.paintComponent(g);
        Graphics2D g2 = (Graphics2D) g;
        for(int i=0; i < 10; i++) {
        	 g2.drawRect(xArray[i], yArray[i], 40, 40);  
        }            
    }  
    
    public void setVerschieben() {
    	
    	verschieben = true;
    	rechteck = false;
    }
    
    public void setRechteck() {
    	verschieben = false;
    	rechteck = true;
    }
    
    public boolean getVerschieben() {
    	return verschieben;
    }
    
    public boolean getRechteck() {
    	return rechteck;
    }
     
     public void mousePressed(MouseEvent e) {     	
    	 x = e.getX();
         y = e.getY();
        
    	 if(getVerschieben()) {     		 
    		 for(int i=0; i < 10; i++) {    			
    			 if(x >= xArray[i] && x <= xArray[i]+40 &&
    					 y >= yArray[i] && y <= yArray[i]+40) {
    				 xOffset[i] = x - xArray[i];
     				 yOffset[i] = y - yArray[i];     				
    			 }
    		 }     		 
    	 }
    	 if(getRechteck()) {    		
    		 xArray[k] = x;
    		 yArray[k] = y;
    		 k++;
    		 repaint();
    	 }            
      }
       
      public void mouseDragged(MouseEvent e) {
    	  if(getVerschieben()) {    		  
    		  for(int i= 0; i < 10; i++) {    			  
    			  if(x >= xArray[i] && x <= xArray[i]+40 &&
      					 y >= yArray[i]&& y <= yArray[i]+40) {
      				 xArray[i] = e.getX() - xOffset[i];
      				 yArray[i] = e.getY() - yOffset[i];
      				repaint();
      			 }
    		  }
    	  }

    	  repaint();
      }

vielleicht hat jemand einen Tipp, wie sich das lösen läßt.
 

njans

Top Contributor
Also bitte verwende die JAVA-Tags.
Bei dem Code, der da steht, werden immer nur neue Rechtecke gezeichnet, bis 10 Stück vorhanden sind, dann wirft das Programm IAOB Exceptions. Es fehlt hier also Code.
Wenn du eh schon Rechtecke benutzt, warum dann nicht einfach 1 Array (oder besser ArrayList) mit Java.awt.Rectangle ?
 

hdi

Top Contributor
Könnte ein Performance-Problem sein. mouseDragged() wird bei gezogener Maus sehr oft aufgerufen. Jedesmal machst du 11(!) repaints. Das ist schon mal der erste Fehler: Nimm das repaint() aus deiner Schleife raus. Das eine repaint() am Ende reicht. Trotzdem ist es dann noch immer ein repaint pro mouseDragged. Wenn du mit der Maus schön durchziehst schätze ich das auf einige hundert repaints pro Sekunde.

Das Problem nun: Der Thread, der repainted, ist der selbe der auf die Mausbewegung reagiert (namentlich EDT - Event Dispatcher Thread). Wenn du ihn mit repaint-Events überlastet kommt er mit der Ausführung deiner mouseDragged() nicht mehr hinterher. repaint() ist zwar nur eine Art Request, und der EDT versucht mehrere repaints() zu einem zusammenzufassen, aber evtl musst du da nachhelfen.

Du musst also schauen dass du die repaint()-Aufrufe auf ein (ausreichend) minimales Maß bringst. Das erfordert ein etwas komplizierteres Vorgehen, nämlich Zeitmessung. Du kannst zB generell mal 50ms warten bevor du repaintest. Wenn in dieser Zeit noch 37 mouseDragged-Events reinflattern kannst du das zusammenfassen. Nur wenn nach diesen 50ms noch kein neues Event eintritt kannst du davon ausgehen dass der User vllt mit der Mausbewegung aufgehört hat - und dann haust du dein repaint() raus. Der User sieht da keinen Unterschied, 50ms (auch mehr) sind zu fein granuliert für das menschliche Auge/Gehirn. Abgesehen davon kann dein Bildschirm eh nur 60 Bilder pro Sekunde anzeigen. (Maximal 100, wenn du einen 100Hz Monitor hast)

edit: Theoretisch müsste am Ende ja trotzdem alles stimmen, auch wenn's vllt während der Bewegung etwas laggt. Aber ich hab sowas auch schon mal beobachtet. Kann es sein dass die Event Queue irgendwann "dicht" macht, wenn hunderte bis tausende Events reinkommen?

edit2: Ich glaub ich red grad voll den s***** kann das sein? :D Hab grad bisschen rumgetestet, Performance-Probleme sind da scheinbar doch eher unwahrscheinlich
 
Zuletzt bearbeitet:

MK234

Aktives Mitglied
erstmal Danke hdi,

wenn ich eine kleine Pause von 100 - 200 ms vor dem repaint-Aufruf einbaue, läuft es besser.
Aber irgendwie ein bißchen hackig, nicht so fließend.
 

hdi

Top Contributor
Hast du jetzt einfach ein sleep in die mouseDragged eingebaut? So war das nicht gemeint ;) Damit legst du den EDT ja erst recht lahm. Und 200ms ist auch etwas zuviel.. Damit kriegst du ja dann maximal 5fps (bilder pro sekunde) zusammen.
 

MK234

Aktives Mitglied
ja ich habe ein sleep in die mouseDragged-Methode eingebaut.
Den repaint-Aufruf innerhalb der Schleife habe ich entfernt.

Ich habe trotzdem den Eindruck, daß ich mit 200 ms größere Strecken als mit 50 ms
zurücklegen kann.

Aber wie soll ich daß mit der Zeit denn sonst lösen?
 

hdi

Top Contributor
Java:
      private static final long REPAINT_INTERVAL = 25;

      private long timeStampLastEvent = System.currentTimeMillis();

      // ...

      @Override
      public void mouseDragged(MouseEvent e) {
    	  if(getVerschieben()) {    		  
    		  for(int i= 0; i < 10; i++) {    			  
    			  if(x >= xArray[i] && x <= xArray[i]+40 &&
      					 y >= yArray[i]&& y <= yArray[i]+40) {
      				 xArray[i] = e.getX() - xOffset[i];
      				 yArray[i] = e.getY() - yOffset[i];
      			 }
    		  }
                  long timeStampNow = System.currentTimeMillis();
                  long timePassed = timeStampNow - timeStampLastEvent;
                  if(timePassed >= REPAINT_INTERVAL){
                       repaint();
                       timeStampLastEvent = timeStampNow;
                  }
    	  }
      }

edit: Bei dieser Implemneiterung musst du aber auf jeden Fall bei mouseReleased() (immer!) ein repaint machen, damit am Ende auch wirklich die aktuelle Position gesetzt ist.
 
Zuletzt bearbeitet:

MK234

Aktives Mitglied
Ich finde nach wie vor, daß es mit dem sleep vor dem repaint-Aufruf eine Spur besser läuft.

Ich hänge einfach mal das komplette Programm an.

Hier kommt die Klasse BildBewegen mit dem sleep vor dem repaint-Aufruf:

Java:
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionAdapter;
import java.awt.event.MouseMotionListener;
 
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
 
public class BildBewegen extends JPanel implements MouseListener, MouseMotionListener{
       
    int k = 0;
    int x, y;    
    int[] xArray = new int[10];
    int[] yArray = new int[10];
    int[] xOffset = new int[10];
    int[] yOffset = new int[10];
    
    boolean verschieben = false;
	boolean rechteck = true;
	
	boolean drag = false;
    
    public BildBewegen() {
    	setSize(300, 300);
    	addMouseListener(this);
    	addMouseMotionListener(this);
    }
    
    public void paint (Graphics g) {
        super.paintComponent(g);
        Graphics2D g2 = (Graphics2D) g;
        for(int i=0; i < 10; i++) {
        	 g2.drawRect(xArray[i], yArray[i], 40, 40);  
        }            
    }  
    
    public void setVerschieben() {    	
    	verschieben = true;
    	rechteck = false;
    }
    
    public void setRechteck() {
    	verschieben = false;
    	rechteck = true;
    }
    
    public boolean getVerschieben() {
    	return verschieben;
    }
    
    public boolean getRechteck() {
    	return rechteck;
    }
     
     public void mousePressed(MouseEvent e) {     	
    	 x = e.getX();
         y = e.getY();
        
    	 if(getVerschieben()) {     		 
    		 for(int i=0; i < 10; i++) {    			
    			 if(x >= xArray[i] && x <= xArray[i]+40 &&
    					 y >= yArray[i] && y <= yArray[i]+40) {
    				 xOffset[i] = x - xArray[i];
     				 yOffset[i] = y - yArray[i];     				
    			 }
    		 }     		 
    	 }
    	 if(getRechteck()) {    		
    		 xArray[k] = x;
    		 yArray[k] = y;
    		 k++;
    		 repaint();
    	 }            
      }
       
      public void mouseDragged(MouseEvent e) {
    	  if(getVerschieben()) { 
    		  
    			  for(int i= 0; i < 10; i++) {    			  
        			  if(x >= xArray[i] && x <= xArray[i]+40 &&
          					 y >= yArray[i]&& y <= yArray[i]+40) {
          				 xArray[i] = e.getX() - xOffset[i];
          				 yArray[i] = e.getY() - yOffset[i];

          			 }
        		  } 		  
    		  
    	  }
    	  try {
			Thread.sleep(100);
		} catch (InterruptedException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
    	  repaint();
      }       
    

	@Override
	public void mouseClicked(MouseEvent e) {
			
	}

	
	public void mouseReleased(MouseEvent e) {
		repaint();
	}

	@Override
	public void mouseEntered(MouseEvent e) {
		// TODO Auto-generated method stub		
	}

	@Override
	public void mouseExited(MouseEvent e) {
		// TODO Auto-generated method stub		
	}

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

Hier die Klasse BildBewegen mit timeStampNow, timePassed etc.
Java:
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionAdapter;
import java.awt.event.MouseMotionListener;
 
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
 
public class BildBewegen extends JPanel implements MouseListener, MouseMotionListener{
       
    int k = 0;
    int x, y;    
    int[] xArray = new int[10];
    int[] yArray = new int[10];
    int[] xOffset = new int[10];
    int[] yOffset = new int[10];
    
    boolean verschieben = false;
	boolean rechteck = true;
	
	private static final long REPAINT_INTERVAL = 25;
	private long timeStampLastEvent = System.currentTimeMillis();
    
    public BildBewegen() {
    	setSize(300, 300);
    	addMouseListener(this);
    	addMouseMotionListener(this);
    }
    
    public void paint (Graphics g) {
        super.paintComponent(g);
        Graphics2D g2 = (Graphics2D) g;
        for(int i=0; i < 10; i++) {
        	 g2.drawRect(xArray[i], yArray[i], 40, 40);  
        }            
    }  
    
    public void setVerschieben() {
    	
    	verschieben = true;
    	rechteck = false;
    }
    
    public void setRechteck() {
    	verschieben = false;
    	rechteck = true;
    }
    
    public boolean getVerschieben() {
    	return verschieben;
    }
    
    public boolean getRechteck() {
    	return rechteck;
    }
     
     public void mousePressed(MouseEvent e) {     	
    	 x = e.getX();
         y = e.getY();
        
    	 if(getVerschieben()) {     		 
    		 for(int i=0; i < 10; i++) {    			
    			 if(x >= xArray[i] && x <= xArray[i]+40 &&
    					 y >= yArray[i] && y <= yArray[i]+40) {
    				 xOffset[i] = x - xArray[i];
     				 yOffset[i] = y - yArray[i];     				
    			 }
    		 }     		 
    	 }
    	 if(getRechteck()) {    		
    		 xArray[k] = x;
    		 yArray[k] = y;
    		 k++;
    		 repaint();
    	 }            
      }
       
      public void mouseDragged(MouseEvent e) {
    	  if(getVerschieben()) {     		  
    			  for(int i= 0; i < 10; i++) {    			  
        			  if(x >= xArray[i] && x <= xArray[i]+40 &&
          					 y >= yArray[i]&& y <= yArray[i]+40) {
          				 xArray[i] = e.getX() - xOffset[i];
          				 yArray[i] = e.getY() - yOffset[i];

          			 }
        		  }
    			  long timeStampNow = System.currentTimeMillis();
    			  long timePassed = timeStampNow - timeStampLastEvent;
    			  if(timePassed >= REPAINT_INTERVAL) {
    				  repaint();
    				  timeStampLastEvent = timeStampNow;
    			  }    		  
    	  }
    	  repaint();
      } 
      
    

	@Override
	public void mouseClicked(MouseEvent e) {
			
	}

	
	public void mouseReleased(MouseEvent e) {
			repaint();
	}

	@Override
	public void mouseEntered(MouseEvent e) {
		// TODO Auto-generated method stub		
	}

	@Override
	public void mouseExited(MouseEvent e) {
		// TODO Auto-generated method stub		
	}

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


Und die Klasse mit der main-Methode

Java:
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Fenster extends JFrame implements ActionListener {
	
	BildBewegen panel;	
	JPanel pan;
	JButton versch;
	JButton rechte;
	
	
	public Fenster(BildBewegen panel) {
		this.panel = panel;
		add(panel, BorderLayout.CENTER);
		
		setSize(300, 300);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		pan = new JPanel(new GridLayout(3,1));
		versch = new JButton("verschieben");
		versch.setActionCommand("verschieben");
		versch.addActionListener(this);
		rechte = new JButton("Rechteck setzen");
		rechte.setActionCommand("setzen");
		rechte.addActionListener(this);
		
		pan.add(versch);
		pan.add(rechte);
		
		add(pan, BorderLayout.EAST);		
	}
	
	
	
	public void actionPerformed(ActionEvent e) {
		if(e.getActionCommand() == "verschieben") {
			panel.setVerschieben();			
		}
		
		if(e.getActionCommand() == "setzen") {
			panel.setRechteck();
		}
		
		
	}

	
	public static void main(String[] args) {
		BildBewegen panel = new BildBewegen();
		Fenster fenster = new Fenster(panel);
		fenster.setVisible(true);
	}




	
}
 

Michael...

Top Contributor
Ich arbeite bei sowas immer mit einer Kombination aus MouseListener und MouseMotionListener.
In mousePressed wird die Position des Mausklicks und das eventuell gewählt Element und dessen aktuelle Position gespeichert.
Und in mouseDragged muss man nur noch das Delta zwischen Mausklick und aktueller Mausposition ermitteln und auf das zu zeichnende Element übertragen.
Beispiel siehe:
http://www.java-forum.org/awt-swing-swt/106547-elemente-zeichenfeld-verschieben.html#post681165
 

bERt0r

Top Contributor
Nimm das repaint doch einfach aus der Schleife raus:
Java:
public void mouseDragged(MouseEvent e) {
          if(getVerschieben()) {              
                  for(int i= 0; i < 10; i++) {                
                      if(x >= xArray[i] && x <= xArray[i]+40 &&
                             y >= yArray[i]&& y <= yArray[i]+40) {
                         xArray[i] = e.getX() - xOffset[i];
                         yArray[i] = e.getY() - yOffset[i];
 
                     }
                  }           
          }
          repaint();
      }
 

hdi

Top Contributor
bert0r das hatten wir schon geklärt - wir sind schon einen Schritt weiter ;) Es sind aber noch immer zuviele repaints, da mouseDragged() nun mal verdammt oft gefeuert wird wenn man fröhlich herumdraggt. Und eine Lösung habe ich eig. schon präsentiert. Was daran nicht passt dazu hat der TO sich leider noch nicht genauer geäußert
 

MK234

Aktives Mitglied
hey,

ich glaube ich habe eine passende Lösung gefunden, zumindest lassen sich die Rechtecke jetzt frei
bewegen.
Es lag anscheinend an der for-Schleife in der mouseDragged-Methode.

Ich habe das Programm wie folgt abgeändert:

Java:
public void mousePressed(MouseEvent e) {     	
    	 x = e.getX();
         y = e.getY();
        
    	 if(getVerschieben()) {     		 
    		 for(int i=0; i < 10; i++) {    			
    			 if(x >= xArray[i] && x <= xArray[i]+40 &&
    					 y >= yArray[i] && y <= yArray[i]+40) {
    				 xOffset[i] = x - xArray[i];
     				 yOffset[i] = y - yArray[i]; 
     				 merke = i;
    			 }
    		 }     		 
    	 }

Java:
public void mouseDragged(MouseEvent e) {
    	  if(getVerschieben()) {    			  
    			  if(merke != -1) {
    				  xArray[merke] = e.getX() - xOffset[merke];
       				 yArray[merke] = e.getY() - yOffset[merke];
    			  }     		
    	  } 
    	  repaint();
      }


Danke an alle Helfer
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Redeason Objekte in meiner GUI verschieben AWT, Swing, JavaFX & SWT 1
P Objekte anzeigen und verschieben - wie? AWT, Swing, JavaFX & SWT 6
propra Mehrere Objekte gleichzeitig verschieben AWT, Swing, JavaFX & SWT 7
propra Objekte auf Zeichenfläche verschieben AWT, Swing, JavaFX & SWT 2
F Swing Objekte mit Maus verschieben AWT, Swing, JavaFX & SWT 8
B Objekte auf Fenster verschieben. Bewegliche jPanels. AWT, Swing, JavaFX & SWT 5
M Grafische Objekte beliebig auf einer Oberfläche verschieben AWT, Swing, JavaFX & SWT 3
H JavaFX Timeline II: Verschieben einer ImageView AWT, Swing, JavaFX & SWT 16
frager2345 JTextLabel im Flowlayout verschieben AWT, Swing, JavaFX & SWT 4
U JavaFX CheckBoxen in GUI verschieben AWT, Swing, JavaFX & SWT 20
M Polygon per Drag&Drop verschieben AWT, Swing, JavaFX & SWT 26
F Popup Menu etwas verschieben AWT, Swing, JavaFX & SWT 2
K JavaFX Element in HBOX nach rechts verschieben AWT, Swing, JavaFX & SWT 2
J Button lässt sich nicht auf dem JPanel verschieben AWT, Swing, JavaFX & SWT 5
M Swing JPanel flüssig verschieben AWT, Swing, JavaFX & SWT 5
T AWT Grafik"Array" einzelne Elemente verschieben AWT, Swing, JavaFX & SWT 1
N JLabel in JTabbedPane verschieben AWT, Swing, JavaFX & SWT 2
B JavaFX Viewport verschieben AWT, Swing, JavaFX & SWT 3
C LayoutManager Bei verkleinern des Fensters, verschieben sich JPanels übereinander. AWT, Swing, JavaFX & SWT 7
C Swing Geschachteltes GUI mit BorderLayout - Vertikal & horizontal Verschieben AWT, Swing, JavaFX & SWT 1
M Swing JPanel innerhalb eines Frames verschieben AWT, Swing, JavaFX & SWT 3
Y Titel Verschieben AWT, Swing, JavaFX & SWT 11
Z Bildervorschau, MouseDragged das Bild verschieben AWT, Swing, JavaFX & SWT 1
M label mit icon verschieben. AWT, Swing, JavaFX & SWT 1
R Swing Elemente verschieben sich im GBL beim Ein/Ausblenden AWT, Swing, JavaFX & SWT 0
W Buttons verschieben AWT, Swing, JavaFX & SWT 3
Z Plot nach links verschieben!! AWT, Swing, JavaFX & SWT 1
M 3D-Grafik Denkfehler bei Verschieben von Shapes AWT, Swing, JavaFX & SWT 0
T JLabel Nullpunkt verschieben AWT, Swing, JavaFX & SWT 6
K JavaFX Spalten der Tabellen verschieben AWT, Swing, JavaFX & SWT 2
P JList/JScroolPane Text verschieben und text wrappen AWT, Swing, JavaFX & SWT 3
L JFrame von der Taskleiste zu den ausgeblendeten Symbolen verschieben AWT, Swing, JavaFX & SWT 2
O Swing Spalten-Position nach verschieben AWT, Swing, JavaFX & SWT 6
T Swing JButton per Drag&Drop verschieben AWT, Swing, JavaFX & SWT 5
L Componenten im JFrame an genaue stelle verschieben. AWT, Swing, JavaFX & SWT 2
D JSplitPane lässt sich nicht verschieben AWT, Swing, JavaFX & SWT 3
A JLabel verschieben AWT, Swing, JavaFX & SWT 9
bluerob JComponenten verschieben sich bei Fenster wechseln AWT, Swing, JavaFX & SWT 3
J jFrame verschieben verhindern AWT, Swing, JavaFX & SWT 4
H Bild mit KeyListener verschieben AWT, Swing, JavaFX & SWT 2
R JTextField Eingabefeld innerhalb verschieben AWT, Swing, JavaFX & SWT 2
P Rectangle verschieben AWT, Swing, JavaFX & SWT 11
C Bild auf Panel vergrößern und verschieben AWT, Swing, JavaFX & SWT 4
H LayoutManager Panel verschieben sich AWT, Swing, JavaFX & SWT 5
B Element schrittweise verschieben AWT, Swing, JavaFX & SWT 2
G Swing JPanel per Maus verschieben AWT, Swing, JavaFX & SWT 5
K Button verschieben AWT, Swing, JavaFX & SWT 4
T 2D-Grafik gezeichnetes Bild verschieben - rand bleibt sichtbar AWT, Swing, JavaFX & SWT 2
V Swing JScrollPane Viewport verschieben AWT, Swing, JavaFX & SWT 2
P Swing JTable null values an das Ende verschieben AWT, Swing, JavaFX & SWT 2
B FlowLayout Buttons verschieben? AWT, Swing, JavaFX & SWT 13
K JButtons innerhalb eines JPanels verschieben (DRAG&DROP) AWT, Swing, JavaFX & SWT 5
R Swing Verschieben eines jButtons mittels MouseDragged AWT, Swing, JavaFX & SWT 4
Z 2D-Grafik Bild auf JPanel verschieben AWT, Swing, JavaFX & SWT 4
D Grafik über JPanels hinweg verschieben AWT, Swing, JavaFX & SWT 2
D Swing Swing Komponenten verschieben AWT, Swing, JavaFX & SWT 7
B Swing AbstractTableModel rows verschieben AWT, Swing, JavaFX & SWT 2
S 2D-Grafik Shapes auf Zeichenfläche gleichmäßig verschieben AWT, Swing, JavaFX & SWT 5
Burny91 Swing Vertical JSplitPane lässt sich nicht nach rechts verschieben AWT, Swing, JavaFX & SWT 2
E Swing Rechteck und Kreise verschieben AWT, Swing, JavaFX & SWT 3
N verschieben von Dateien auf der Festplatte über TreePaths funktioniert nicht AWT, Swing, JavaFX & SWT 10
E Swing Drag n Drop Verschieben von Labels o.ä. AWT, Swing, JavaFX & SWT 10
K Swing Elemente auf Zeichenfeld verschieben AWT, Swing, JavaFX & SWT 8
C Drag and Drop JPanel auf JPanel nach drop erneut verschieben? AWT, Swing, JavaFX & SWT 3
B JLabel mittels Timer und setLocation verschieben AWT, Swing, JavaFX & SWT 3
M Buttons per Drag & Drop im GridBagLayout verschieben AWT, Swing, JavaFX & SWT 6
C paintComponent mit Maus verschieben - wie? AWT, Swing, JavaFX & SWT 2
T Swing JComboBox: Listeneinträge mit der Maus verschieben AWT, Swing, JavaFX & SWT 5
J showMessageDialog nicht über frame verschieben AWT, Swing, JavaFX & SWT 6
R Bereiche auf Panel verschieben AWT, Swing, JavaFX & SWT 2
U SWT Linien verschwinden nach Verschieben AWT, Swing, JavaFX & SWT 3
D Swing Spaltenköpfe verschieben sich nicht mit, wenn man an horizontaler Scrollbar zieht AWT, Swing, JavaFX & SWT 9
R Swing Frame verschieben AWT, Swing, JavaFX & SWT 3
C JTable mit RowSorter und Drag & Drop: Zeile verschieben AWT, Swing, JavaFX & SWT 4
D Swing Buttons verschieben sich bei umbennenung! AWT, Swing, JavaFX & SWT 3
R Rows und Columns in JTable verschieben? AWT, Swing, JavaFX & SWT 8
N RCP/SWT View durch Programm auf 2. Bildschirm verschieben AWT, Swing, JavaFX & SWT 2
O JTable Zeilen "nach oben" verschieben AWT, Swing, JavaFX & SWT 3
G Listenelemente mit der Maus verschieben AWT, Swing, JavaFX & SWT 4
K JTable Spalten nicht verschieben AWT, Swing, JavaFX & SWT 2
F Verschieben einer Messnadel auf einem Bild AWT, Swing, JavaFX & SWT 2
S Buttons verschieben mit Swing AWT, Swing, JavaFX & SWT 5
R JPanel durch "klicken und ziehen" verschieben AWT, Swing, JavaFX & SWT 8
H Tabelle: Spaltenüberschriften verschieben sich AWT, Swing, JavaFX & SWT 2
T Fenster verschieben => Wann fertig? AWT, Swing, JavaFX & SWT 8
T Synchrones Window-verschieben AWT, Swing, JavaFX & SWT 4
K JFrame verschieben / Inhalt ändern AWT, Swing, JavaFX & SWT 5
E Komponenten auf Zeichenfläche gruppieren u. verschieben AWT, Swing, JavaFX & SWT 3
Tom299 JTable - Spalten verschieben deaktivieren? AWT, Swing, JavaFX & SWT 3
F "Verschieben" des paint-Bereichs AWT, Swing, JavaFX & SWT 4
vogella JPanel Größe verschieben AWT, Swing, JavaFX & SWT 2
J Nochmal Drag&Drop, ABER: Object verschieben AWT, Swing, JavaFX & SWT 2
D Rechtecke verschieben? AWT, Swing, JavaFX & SWT 2
S drag&drop bild verschieben AWT, Swing, JavaFX & SWT 14
M gezeichnete Punkte dynamisch verschieben mit mousedragged AWT, Swing, JavaFX & SWT 4
B Verschieben einer Komponente unterbinden AWT, Swing, JavaFX & SWT 6
TheJavaKid Kreis, Rechteck, Linie. verschieben AWT, Swing, JavaFX & SWT 5
P Bild verschieben AWT, Swing, JavaFX & SWT 2
J Grafik "sichtbar" verschieben AWT, Swing, JavaFX & SWT 2
B 2 fenster gleich verschieben AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben