JWindow verschieben bei mousedragged auf eigene titelleiste

Status
Nicht offen für weitere Antworten.
G

Guest181

Gast
Hallo,

ich habe ein JLabel definiert, wenn man darauf klickt, die Maus gedrückt hält und bewegt soll sich das JWindow and die bewegte stelle setzen bzw. mitbewegen. Doch es hapert noch an einigen Dingen...

Fehlermeldung:

Severity and Description Path Resource Location Creation Time Id
fenster cannot be resolved MP3PLAYER Mp3Player.java line 45 1153916706765 3085
The method addMouseMotionListener(MouseMotionListener) in the type Component is not applicable for the arguments (Mp3Player) MP3PLAYER Mp3Player.java line 20 1153916706765 3084

Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Mp3Player extends JWindow implements ActionListener 
{
	private JLabel  titelLeisteLB;
	private JButton exitBT;
	
	public Mp3Player()
	{
		setLayout(null);
		
		titelLeisteLB = new JLabel("Java MP3 Player",JLabel.CENTER);	
		exitBT = new JButton("X");
		add(titelLeisteLB);		
		titelLeisteLB.setBounds(0,0,300,20);		
		titelLeisteLB.setOpaque(true);
		titelLeisteLB.setBackground(Color.gray);
		titelLeisteLB.addMouseMotionAdapter(this);
		add(exitBT);
		exitBT.setBounds(300,0,15,20);
		exitBT.addActionListener(this);
		exitBT.setMargin(new Insets(0,0,0,0));
		
	}

         public void actionPerformed(ActionEvent e)
        {

Dieser Beitrag wurde von L-ectron-X am 26.07.2006 um 15:24 Uhr editiert.
Code-Tags gesetzt.
 

PELLE

Bekanntes Mitglied
ok hab mir deinen code mal angeschaut und allein diese Schreibweise kenne/verstehe ich net:

Code:
button.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
            System.exit(0); //muss in einem realen Programm auskommentiert werden!
            setVisible(false);
            dispose();
         }
      });

du packst eine methode in den Rumpf einer instanz-methode ala button.addActionListener etc. ??? sieht merkwürdig aus naja egal, was ich wisse möchte, kann ich das ganz mit meinem jetzigen JWindow verwirklichen oder muss ich auch ein JDialog nehmen?

ok ich sehe du blendest die titelleiste und buttons aus und machst ein label als neue titelleiste so wie bei mir nur ich nehme JWindow yo und mit deinen MouseListenern regelst das verschieben des Fensters ok ich check das mal ab... und melde mich wieder, danke!

hab übrigens vergessen mich einzuloggen, daher ich bins PELLE hehe




ach und sorry für den fehlerhaften code am anfang des Beitrages da fehlte einiges hier voller code:

Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Mp3Player extends JWindow implements ActionListener 
{
	private JLabel  titelLeisteLB;
	private JButton exitBT;
	
	public Mp3Player()
	{
		setLayout(null);
		
		titelLeisteLB = new JLabel("Java MP3 Player",JLabel.CENTER);	
		exitBT = new JButton("X");
		add(titelLeisteLB);		
		titelLeisteLB.setBounds(0,0,300,20);		
		titelLeisteLB.setOpaque(true);
		titelLeisteLB.setBackground(Color.gray);
		//titelLeisteLB.addMouseMotionListener(this);
		add(exitBT);
		exitBT.setBounds(300,0,15,20);
		exitBT.addActionListener(this);
		exitBT.setMargin(new Insets(0,0,0,0));
		
	}
	 public void actionPerformed(ActionEvent e)
     {       
        
	      if(e.getSource().equals(exitBT))
	      {
	          System.exit(0);
	      }   
     }
 
	
	public class MouseMotionAdapter implements MouseMotionListener
	{
		public void mouseDragged(MouseEvent e)
		{
			if(e.getSource().equals(titelLeisteLB))
			{	
			int x_pos = e.getX();
			int y_pos = e.getY();
			fenster.setLocation(x_pos,y_pos);
			}			
		}	
		public void mouseMoved(MouseEvent e)
		{
			
		}
	}
	
	public static void main(String[] args)
	{
		Mp3Player fenster = new Mp3Player();
		fenster.setSize(315,200);
        fenster.setLocationRelativeTo(null);       
        fenster.setVisible(true);        
	}
}
 

PELLE

Bekanntes Mitglied
ok hab mal ein weng umemodelt so das es läuft und lesbar ist nur deine Mouse-Methoden habe ich gelassen da sie so funktionieren und ich keine Böcke habe das auseinanderzuklamüsern :wink:

Danke dir Lectron-x

Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Mp3Player extends JWindow
{
   private JLabel titleBarLB;
   private JButton exitBT;
   private int xPos, yPos;

   public Mp3Player()
   {
      setLayout(null);

      // Titelleiste
      titleBarLB = new JLabel("MP3 PLAYER",JLabel.CENTER);
      titleBarLB.setBackground(Color.BLUE.darker());
      titleBarLB.setForeground(Color.WHITE);
      titleBarLB.setOpaque(true);
      add(titleBarLB);
      titleBarLB.setBounds(0,0,300,20);
      
      // Exitbutton
      exitBT = new JButton("Exit");
      add(exitBT);
      exitBT.setBounds(50,50,30,30);

      //Verschieben des Dialogs ermöglichen
      titleBarLB.addMouseMotionListener(new MouseMotionAdapter()
      {
         public void mouseDragged(MouseEvent e)
         {
            Point window = Mp3Player.this.getLocation();
            Mp3Player.this.setLocation(window.x+e.getX()-xPos, window.y+e.getY()-yPos);
         }
      });

      //wird benötigt, um die Mausposition beim Klicken zu bestimmen
      titleBarLB.addMouseListener(new MouseAdapter()
      {
         public void mousePressed(MouseEvent e)
         {
            xPos = e.getX();
            yPos = e.getY();
         }
      });


      exitBT.addActionListener(new ActionListener()
      {
         public void actionPerformed(ActionEvent e)
         {
              dispose();                          
         }
      });
   }

   public static void main(String[] args)
   {
      Mp3Player Fenster = new Mp3Player();
      Fenster.setSize(300,120);
      Fenster.setLocationRelativeTo(null);
      Fenster.setVisible(true);
   }
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Swing hilfe, JWindow mit eintrag in taskleiste Allgemeine Java-Themen 2
E JTextField auf JWindow Allgemeine Java-Themen 2
C JNI, wie bekomme ich das HWND zu einem JWindow oder Window? 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
W Columns austauschen/verschieben von jtable 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
bernd Dateien verschieben Allgemeine Java-Themen 2
M Verzeichnis verschieben? Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben