JDialog nicht verschiebbar machen?

Status
Nicht offen für weitere Antworten.

Cole

Bekanntes Mitglied
Hi,
ist es irgendwie möglich ein JDialog so einzustellen, dass man es nicht mehr verschieben kann? Hab keine entsprechende Methode gefunden (à la setMovable(false)).
Wisst ihr ob das geht?
 

thE_29

Top Contributor
setUndecorated(false);

Dann hast keine Titelbar, was imho dazu führt das du es net verschieben kannst..

Oder mit windowListener und immer die Position zurücksetzen
 
G

Guest

Gast
Hmm, damit würde es gehen. Danke für den Tipp!!
Ist nur schade, dass die Titelbar komplett weg ist (wegen Design).

Zu dem WindowListener:
Wie funktioniert das genau?
Oder besser zuvor: was für ein Effekt bringt das genau? Wenn das Fenster zwar verschiebbar ist aber wieder zurückhüpft bringt mir das leider nix.
 

thE_29

Top Contributor
Code:
    this.getContentPane().addHierarchyBoundsListener(new HierarchyBoundsAdapter(){
      public void ancestorMoved(HierarchyEvent e) 
      {
        if(old_point != null)
          setLocation(old_point);
        validate();
        repaint();
      }
      }
    });

old_point ist java.awt.Point und den Punkt musst halt vorher abspeichern!
 

Cole

Bekanntes Mitglied
Und wie/wo muss ich das einfügen?
Hab hier ein kleines Programm zum Testen gemacht:

Code:
import java.awt.BorderLayout;
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JButton;

import javax.swing.JPanel;
import javax.swing.JDialog;


public class Beispiel
{

  JPanel glass = new JPanel(new GridLayout(0,1));

  private JFrame jFrame = null;  //  @jve:decl-index=0:visual-constraint="4,6"
  private JPanel jContentPane = null;
  private JPanel jPanel = null;
  private JButton jButton2 = null;
  private JPanel jPanel1 = null;

  private JButton jButton = null;
  private JDialog jDialog = null;  //  @jve:decl-index=0:visual-constraint="404,109"
  private JPanel jContentPane1 = null;
  private JPanel jPanel2 = null;
  private JButton jButton1 = null;



  private JFrame getJFrame ( )
  {
    if (jFrame == null)
    {
      jFrame = new JFrame ( );
      jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      jFrame.setSize(new java.awt.Dimension(374,276));
      jFrame.setTitle("Hallo,Testbild");

      jFrame.setContentPane(getJContentPane());
      jFrame.setVisible(true);



    }
    return jFrame;
  }


  private JPanel getJContentPane ( )
  {
    if (jContentPane == null)
    {
      jContentPane = new JPanel ( );
      jContentPane.setLayout(new BorderLayout());
      jContentPane.add(getJPanel(), java.awt.BorderLayout.WEST);

    }
    return jContentPane;
  }


  private JPanel getJPanel ( )
  {
    if (jPanel == null)
    {

      jPanel = new JPanel ( );
      jPanel.setLayout(new BorderLayout());
      jPanel.add(getJPanel1(), java.awt.BorderLayout.SOUTH);

    }
    return jPanel;
  }


  private JButton getJButton2 ( )
  {
    if (jButton2 == null)
    {
      jButton2 = new JButton ( );

      jButton2.setText("sdfsd");
      jButton2.setPreferredSize(new java.awt.Dimension(80,50));
      jButton2.addActionListener (new java.awt.event.ActionListener ( )
      {
        public void actionPerformed (java.awt.event.ActionEvent e)
        {
         jDialog.setVisible(true);
        }
      });

    }
    return jButton2;
  }


  private JPanel getJPanel1 ( )
  {
    if (jPanel1 == null)
    {
      jPanel1 = new JPanel ( );
      jPanel1.add(getJButton2(), null);
      jPanel1.add(getJButton(), null);

    }
    return jPanel1;
  }


  private JButton getJButton ( )
  {
    if (jButton == null)
    {
      jButton = new JButton ( );
      jButton.setText("swdfsdf");
      jButton.addActionListener (new java.awt.event.ActionListener ( )
      {
        public void actionPerformed (java.awt.event.ActionEvent e)
        {
          System.exit(0);
        }
      });
    }
    return jButton;
  }

//Hier wird der JDialog erstellt
  private JDialog getJDialog ( )
  {
    if (jDialog == null)
    {
      jDialog = new JDialog ( );
      jDialog.setBounds(200,200,400,300);
      jDialog.setContentPane(getJContentPane1());
      jDialog.setVisible(false);
      jDialog.setResizable(false);
      
    }
    return jDialog;
  }


  private JPanel getJContentPane1 ( )
  {
    if (jContentPane1 == null)
    {
      jContentPane1 = new JPanel ( );
      jContentPane1.setLayout(new BorderLayout());
      jContentPane1.add(getJPanel2(), java.awt.BorderLayout.CENTER);

    }
    return jContentPane1;
  }


  private JPanel getJPanel2 ( )
  {
    if (jPanel2 == null)
    {
      jPanel2 = new JPanel ( );
      jPanel2.add(getJButton1(), null);
    }
    return jPanel2;
  }


  private JButton getJButton1 ( )
  {
    if (jButton1 == null)
    {
      jButton1 = new JButton ( );
      jButton1.setText("456");

    }
    return jButton1;
  }





  public static void main (String [ ] args)
  {

      Beispiel beispiel = new Beispiel();
      beispiel.getJFrame();
      beispiel.getJDialog();




  }
}

JDialog wird ab Zeile 127 erstellt!
Wo muss das rein?
 

thE_29

Top Contributor
Du musst das der Componente hinzufügen was du anzeigst!

Also entweder frame.add... oder dialog.add (statt this.add)
 

Cole

Bekanntes Mitglied
Ah, klasse!Danke.
Da hätte man selber draufkommen können.
Nur leider lässt sich das Fenster immer noch verschieben (es springt wieder zurück). Sollte eigentlich überhaupt nicht bewegbar sein.
Hast du sonst noch ne Idee?
 

thE_29

Top Contributor
Sodala

Code:
  private void cancelMouse()
  {
    if(this.isVisible()) //wird beim starten 1mal durchlaufen
    {
      try
      {
        Robot rb = new Robot();
        rb.mouseRelease(InputEvent.BUTTON1_MASK); //das man releasen kann
      }
      catch (Exception ex)
      {
        ex.printStackTrace(System.out);
      }
    }
  }

Und das dann im Listener einbaun

Code:
        cancelMouse(); //gleich als 1ten befehl
        if(old_point != null) //......
 

thE_29

Top Contributor
Jo, in java 1.5 könntet via der Mausklasse abfragen wo die Maus ist und wenn sie im titelbar ist, gleich wieder runtermoven via robot..
 

The_S

Top Contributor
thE_29 hat gesagt.:
Jo, in java 1.5 könntet via der Mausklasse abfragen wo die Maus ist und wenn sie im titelbar ist, gleich wieder runtermoven via robot..

boah, was isn das für ne Userverarsche??? :lol: :wink:

Kann mir gut vorstellen, das da so manch ein DAU dran verzweifelt. Vorallem was willste machen, wenn er einfach mit der Maus die Anwendung schließen will???
 

thE_29

Top Contributor
Ich mach gleich nen JDialog, setUndecoratetd(true) und leg nen Screenpature drauf und fang alle keys ab :bae:

Das nenn ich desktopsperren ;)
 

Leroy42

Top Contributor
Hobbit_Im_Blutrausch hat gesagt.:
boah, was isn das für ne Userverarsche??? :lol: :wink:

Seh' ich genauso :noe:

Warum dann nicht gleich richtig zur Sache gehen.

Viele in diesem Forum und anderen hat gesagt.:
Hi!

Wie kann ich verhindern, daß ein Benutzer auf mein
Bild (Button, Listbox, ...) klicken kann?

Ich plädiere dafür, daß Microsoft in einer zukünftigen
Windows-Version daß Event-Handling hardwaremäßig
um eine neue Maus-Generation erweitert.

Dann kann jeder einen Mouse-Listener schreiben, der,
bei Überfahren einer Komponente, das Drücken der Maustasten
mechanisch unterbindet.

:shock:

Das schlag' ich denen gleich mal vor. Vielleicht werde ich ja
am Verkauf Millionen neuer Mäuse beteiligt :cool:
...

[schild=6 fontcolor=000000 shadowcolor=C0C0C0 shieldshadow=1]Bis auf weiteres beim Patentamt zu finden![/schild]
 

Cole

Bekanntes Mitglied
@ Beni: Sorry, wegen dem Crosspost, dachte nicht, dass das ein Problem ist.
Wollte einfach verschiedene Meinungen einholen (und im C++ forum kann man in der Javaabteilung schon mal tagelang warten bis man überhaupt ne Antwort bekommt).

Hiermit gelobe ich Besserung :)
 

Cole

Bekanntes Mitglied
thE_29 hat gesagt.:
Sodala

Code:
  private void cancelMouse()
  {
    if(this.isVisible()) //wird beim starten 1mal durchlaufen
    {
      try
      {
        Robot rb = new Robot();
        rb.mouseRelease(InputEvent.BUTTON1_MASK); //das man releasen kann
      }
      catch (Exception ex)
      {
        ex.printStackTrace(System.out);
      }
    }
  }

Und das dann im Listener einbaun

Code:
        cancelMouse(); //gleich als 1ten befehl
        if(old_point != null) //......

Hab zu dieser Mausdeaktibirung ne Frage:
Wollte das bei 2 Fenster gleichzeitig machen, aber dann bekam ich nen NullPointerException.
Hab das hier geändert:

if(jDialog.isVisible() || jInternalFrame.isVisible())

der jDialog sieht so aus:
Code:
  private JDialog getJDialog ( )
  {
    if (jDialog == null)
    {
      jDialog = new JDialog ( );
      jDialog.setSize(400,300);
      jDialog.setContentPane(getJContentPane1());
      jDialog.setVisible(false);
      jDialog.setResizable(false);
      jDialog.setUndecorated(true); //Titlebar weg, kein verschieben, sieht aber nicht gut aus


      jDialog.getContentPane().addHierarchyBoundsListener(new HierarchyBoundsAdapter(){
        public void ancestorMoved(HierarchyEvent e)
        {
          cancelMouse(); // Deaktiviert die Mauseingabe
          if(old_point != null) {
            jDialog.setLocation(old_point);
          jDialog.validate();
          jDialog.repaint();
        }
        }
      });

    }
    return jDialog;
  }

und eigentlich genau gleich der jInternalFrame ( nur halt jInterFrame anstelle von jDialog und die Geschichte mit dem old_point hab entfernt).

Wenn ich nur den Code oben ( ab jDialog.getContentPane().addHierachy...) in einem von beiden drin habe, dann geht es, aber wenn ich beide drin hab bekomm ich nen NullPointer. :(
Woran kann das liegen?

[edit]: Das ganze sieht dann so aus;:

Code:
  private JDialog getJDialog ( )
  {
    if (jDialog == null)
    {
      jDialog = new JDialog ( );
      jDialog.setSize(400,300);
      jDialog.setContentPane(getJContentPane1());
      jDialog.setVisible(false);
      jDialog.setResizable(false);

      jDialog.getContentPane().addHierarchyBoundsListener(new HierarchyBoundsAdapter(){
        public void ancestorMoved(HierarchyEvent e)
        {
          cancelMouse(); // Deaktiviert die Mauseingabe
          if(old_point != null) {
            jDialog.setLocation(old_point);
          jDialog.validate();
          jDialog.repaint();
        }
        }
      });

    }
    return jDialog;
  }

  private JInternalFrame getJInternalFrame ( )
  {
    if (jInternalFrame == null)
    {
      jInternalFrame = new JInternalFrame ( );
      jInternalFrame.setTitle("Ein InternalFrame");
      jInternalFrame.setContentPane(getJContentPane2());
      jInternalFrame.setVisible(false);
      jInternalFrame.getContentPane().addHierarchyBoundsListener(new HierarchyBoundsAdapter(){
        public void ancestorMoved(HierarchyEvent e)
        {
          cancelMouse(); // Deaktiviert die Mauseingabe

          jInternalFrame.setLocation(old_point);
          jInternalFrame.validate();
          jInternalFrame.repaint();
          jInternalFrame.setVisible(true);

        }
      });
    }
    return jInternalFrame;
  }

Ich verstehe einfach nicht, wie da ein NullPointer zustanden kommen kann.

[Edit zum zweiten]:
Habs auf die Reihe bekommen, glaub ich! Hab ne zweite Methode cancelMouse2() gemacht, wo eigentlich das gleiche drin steht, nur auf den jInternalFrame bezogen und jetzt gehts auf einmal.
 

Cole

Bekanntes Mitglied
Nochmal ne Frage:

Habe die Maus für den InternalFrame deaktiviert, so wie wir das weiter oben besprochen haben, das funktioniert auch so wie es soll.
Aber jetzt hab ich das Problem, dass der "richtige" Frame, also das Teil aussen rum beim Verschieben nur so rumruckelt, er aber normal verschiebbar sein sollte.
Weiss da einer was? Beni?



Code:
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.Point;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.event.HierarchyBoundsAdapter;
import java.awt.event.HierarchyEvent;
import java.awt.event.InputEvent;
import java.awt.event.MouseAdapter;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JButton;


import javax.swing.ImageIcon;
import javax.swing.JPanel;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JWindow;
import javax.swing.JInternalFrame;


public class Beispiel
{

  JPanel glass = new JPanel();
  private Point old_point = new Point(00,00);
  private JFrame jFrame = null;  //  @jve:decl-index=0:visual-constraint="4,6"
  private JPanel jContentPane = null;
  private JPanel jPanel = null;
  private JButton jButton2 = null;
  private JPanel jPanel1 = null;

  private JButton jButton = null;
  private JDialog jDialog = null;  //  @jve:decl-index=0:visual-constraint="380,385"
  private JPanel jContentPane1 = null;
  private JPanel jPanel2 = null;
  private JButton jButton1 = null;
  private JPanel jPanel3 = null;
  private JPanel jPanel4 = null;
  private JLabel jLabel = null;
  private JPanel jPanel5 = null;
  private JInternalFrame jInternalFrame = null;
  private JPanel jContentPane2 = null;
  private JPanel jPanel6 = null;
  private JButton jButton3 = null;
  private JButton jButton4 = null;
  private JFrame getJFrame ( )
  {
    if (jFrame == null)
    {
      jFrame = new JFrame ( );
      jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      jFrame.setSize(new java.awt.Dimension(445,317));
      jFrame.setTitle("Hallo,Testbild");

      jFrame.setContentPane(getJContentPane());
      jFrame.setVisible(true);



    }
    return jFrame;
  }


  private JPanel getJContentPane ( )
  {
    if (jContentPane == null)
    {
      GridLayout gridLayout = new GridLayout();
      gridLayout.setRows(1);
      jContentPane = new JPanel ( );
      jContentPane.setLayout(gridLayout);
      jContentPane.add(getJPanel(), null);
      jContentPane.add(getJPanel5(), null);
    }
    return jContentPane;
  }


  private JPanel getJPanel ( )
  {
    if (jPanel == null)
    {

      jPanel = new JPanel ( );
      jPanel.setLayout(new BorderLayout());
      jPanel.add(getJPanel1(), java.awt.BorderLayout.SOUTH);

    }
    return jPanel;
  }


  private JButton getJButton2 ( )
  {
    if (jButton2 == null)
    {
      jButton2 = new JButton ( );

      jButton2.setText("sdfsd");
      jButton2.setPreferredSize(new java.awt.Dimension(80,50));
      jButton2.addActionListener (new java.awt.event.ActionListener ( )
      {
        public void actionPerformed (java.awt.event.ActionEvent e)
        {
         jDialog.setVisible(true);
        }
      });

    }
    return jButton2;
  }



  private JPanel getJPanel1 ( )
  {
    if (jPanel1 == null)
    {
      jPanel1 = new JPanel ( );
      jPanel1.add(getJButton2(), null);
      jPanel1.add(getJButton(), null);

    }
    return jPanel1;
  }


  private JButton getJButton ( )
  {
    if (jButton == null)
    {
      jButton = new JButton ( );
      jButton.setText("swdfsdf");
      jButton.addActionListener (new java.awt.event.ActionListener ( )
      {
        public void actionPerformed (java.awt.event.ActionEvent e)
        {
          System.exit(0);
        }
      });
    }
    return jButton;
  }


  private JDialog getJDialog ( )
  {
    if (jDialog == null)
    {
      jDialog = new JDialog ( );
      jDialog.setSize(400,300);
      jDialog.setContentPane(getJContentPane1());
      jDialog.setVisible(false);
      jDialog.setResizable(false);

      jDialog.getContentPane().addHierarchyBoundsListener(new HierarchyBoundsAdapter(){
        public void ancestorMoved(HierarchyEvent e)
        {
          cancelMouse(); // Deaktiviert die Mauseingabe
          if(old_point != null) {
            jDialog.setLocation(old_point);
          jDialog.validate();
          jDialog.repaint();
        }
        }
      });

    }
    return jDialog;
  }

  private JInternalFrame getJInternalFrame ( )
  {
    if (jInternalFrame == null)
    {
      jInternalFrame = new JInternalFrame ( );
      jInternalFrame.setTitle("Ein InternalFrame");
      jInternalFrame.setPreferredSize(new java.awt.Dimension(100,69));
      jInternalFrame.setContentPane(getJContentPane2());
      jInternalFrame.setVisible(false);
      jInternalFrame.getContentPane().addHierarchyBoundsListener(new HierarchyBoundsAdapter(){
        public void ancestorMoved(HierarchyEvent e)
        {
          cancelMouse2(); // Deaktiviert die Mauseingabe

          jInternalFrame.setLocation(old_point);
          jInternalFrame.validate();
          jInternalFrame.repaint();
          jInternalFrame.setVisible(true);

        }
      });
    }
    return jInternalFrame;
  }


  private void cancelMouse()
  {
    if(jDialog.isVisible()  ) //wird beim starten 1mal durchlaufen
    {
      try
      {
        Robot rb = new Robot();
        rb.mouseRelease(InputEvent.BUTTON1_MASK); //das man releasen kann
      }
      catch (Exception ex)
      {
        ex.printStackTrace(System.out);
      }
    }

  }

  private void cancelMouse2()
  {
    if(jInternalFrame.isVisible()  ) //wird beim starten 1mal durchlaufen
    {
      try
      {
        Robot rb2 = new Robot();
        rb2.mouseRelease(InputEvent.BUTTON1_MASK); //das man releasen kann
      }
      catch (Exception ex)
      {
        ex.printStackTrace(System.out);
      }
    }

  }




  private JPanel getJContentPane1 ( )
  {
    if (jContentPane1 == null)
    {
      jContentPane1 = new JPanel ( );
      jContentPane1.setLayout(new BorderLayout());
      jContentPane1.add(getJPanel2(), java.awt.BorderLayout.CENTER);

    }
    return jContentPane1;
  }


  private JPanel getJPanel2 ( )
  {
    if (jPanel2 == null)
    {
      jPanel2 = new JPanel ( );
      jPanel2.setLayout(new BorderLayout());
      jPanel2.add(getJPanel3(), java.awt.BorderLayout.NORTH);
      jPanel2.add(getJPanel4(), java.awt.BorderLayout.CENTER);
    }
    return jPanel2;
  }


  private JButton getJButton1 ( )
  {
    if (jButton1 == null)
    {
      jButton1 = new JButton ( );
      jButton1.setText("456");

    }
    return jButton1;
  }






  private JPanel getJPanel3 ( )
  {
    if (jPanel3 == null)
    {
//      File bild = new File("U:/titlebar_2.jpg");

//      JLabel jLabel = null;
//      try
//      {
//       jLabel = new JLabel(new ImageIcon(ImageIO.read(bild)));

        jPanel3 = new JPanel ( );
//        jPanel3.add(jLabel);
//      }
//      catch (IOException e)
//      {
//
//        e.printStackTrace();
//      }


    }

    return jPanel3;
  }



  private JPanel getJPanel4 ( )
  {
    if (jPanel4 == null)
    {
      jPanel4 = new JPanel ( );
      jPanel4.add(getJButton1(), null);
    }
    return jPanel4;
  }



  private JPanel getJPanel5 ( )
  {
    if (jPanel5 == null)
    {
      jPanel5 = new JPanel ( );
      jPanel5.setLayout(new BorderLayout());
      jPanel5.add(getJInternalFrame(), java.awt.BorderLayout.CENTER);
    }
    return jPanel5;
  }



  private JPanel getJContentPane2 ( )
  {
    if (jContentPane2 == null)
    {
      jContentPane2 = new JPanel ( );
      jContentPane2.setLayout(new BorderLayout());
      jContentPane2.add(getJPanel6(), java.awt.BorderLayout.SOUTH);
    }
    return jContentPane2;
  }



  private JPanel getJPanel6 ( )
  {
    if (jPanel6 == null)
    {
      jPanel6 = new JPanel ( );
      jPanel6.add(getJButton3(), null);
      jPanel6.add(getJButton4(), null);
    }
    return jPanel6;
  }



  private JButton getJButton3 ( )
  {
    if (jButton3 == null)
    {
      jButton3 = new JButton ( );
      jButton3.setText("Button");
    }
    return jButton3;
  }



  private JButton getJButton4 ( )
  {
    if (jButton4 == null)
    {
      jButton4 = new JButton ( );
      jButton4.setText("Nocheiner");
    }
    return jButton4;
  }

  public void createGlass(){

    glass.addMouseListener( new MouseAdapter(){});
    glass.setOpaque(false);
    //jFrame.setGlassPane(glass);
    jInternalFrame.setGlassPane(glass);
    glass.setVisible(true);

  }
  public static void main (String [ ] args)
  {

      Beispiel beispiel = new Beispiel();
      beispiel.getJFrame();
      beispiel.getJDialog();
      beispiel.createGlass();




  }
}

Das Problem müsste ja hier liegen denk ich:
Code:
  private JInternalFrame getJInternalFrame ( )
  {
    if (jInternalFrame == null)
    {
      jInternalFrame = new JInternalFrame ( );
      jInternalFrame.setTitle("Ein InternalFrame");
      jInternalFrame.setPreferredSize(new java.awt.Dimension(100,69));
      jInternalFrame.setContentPane(getJContentPane2());
      jInternalFrame.setVisible(false);
      jInternalFrame.getContentPane().addHierarchyBoundsListener(new HierarchyBoundsAdapter(){
        public void ancestorMoved(HierarchyEvent e)
        {
          cancelMouse2(); // Deaktiviert die Mauseingabe

          jInternalFrame.setLocation(old_point);
          jInternalFrame.validate();
          jInternalFrame.repaint();
          jInternalFrame.setVisible(true);

        }
      });
    }
    return jInternalFrame;
  }


  private void cancelMouse2()
  {
    if(jInternalFrame.isVisible()  ) //wird beim starten 1mal durchlaufen
    {
      try
      {
        Robot rb = new Robot();
        rb.mouseRelease(InputEvent.BUTTON1_MASK); //das man releasen kann
      }
      catch (Exception ex)
      {
        ex.printStackTrace(System.out);
      }
    }

  }
 
B

Beni

Gast
Ohne dass ich es getestet hätte...
Dein HierarchyBoundsListener reagiert auch, wenn das Frame rumgeschoben wird; denn das Frame ist ein Vorgänger des Internalframes.

Schau dir mal an, was das HierarchyEvent als Source/Changed/Component angiebt. Wenn das Frame verschoben wird, sollte das etwas anderes sein; als wenn das Internalframe verschoben wird. Jenachdem, muss dann halt noch ein "if" in den Code.
 

Cole

Bekanntes Mitglied
Laut der API kann man dem Contructor vom HierachyEvent eine Komponente Source mitgeben:
Constructor Detail

HierarchyEvent
public HierarchyEvent(Component source,
int id,
Component changed,
Container changedParent)

Aber ich versteh nicht wie ich das umsetzen soll, ich hab in der Klasse ja keinen Kontruktor HierachyEvent.
 

thE_29

Top Contributor
1. den hierarchy Boundslistener für den JDialog wegnehmen, da er sonst ja immer hingesetzt wird (NO NA NET.. für das ist der Listener da.. auf das hätte man selbst kommen können)

2.
Code:
        public void ancestorMoved(HierarchyEvent e)
        {
		  if(jInternalFrame.equals(e.getChanged()))
		  {
			cancelMouse2(); // Deaktiviert die Mauseingabe		
			jInternalFrame.setLocation(old_point);		  
		  }
          jInternalFrame.validate();
          jInternalFrame.repaint();
          jInternalFrame.setVisible(true);

        }
 

Cole

Bekanntes Mitglied
Was bedeutet NO NA NET?

Hatte es so versucht:
if(jInternalFrame.isSource()) aber das ging nicht, weil es die isSource Methode nicht gibt.
Danke dir!
 

thE_29

Top Contributor
NO NA NET => na was glaubst sonst (auf österreischisch ;))

Ungefähr halt...

Warum schaust net einfach mal in die API, steht ja alles da...
 

Cole

Bekanntes Mitglied
Danke. :)
Zur API: gibt es eigentlich eine Art Muster wie man am besten vorgeht wenn man was in der API sucht?
Zum Beispiel hier wäre ich nie drauf gekommen, dass ich mir mit e.getchanged() die Source holen kann, auch nicht wenn mein Englisch besser wär :/
Bin wie gesagt noch recht neu auf dem Gebiet.
 

thE_29

Top Contributor
Immer nach den Klassen suchen, wovon du die Methode haben willst ;)

In dem Fall HierarchyEvent

Dort sieht man die Methoden und Eigenschaften..

Englisch (wenigstens ein bisi) ist halt Voraussetzung..
 

Cole

Bekanntes Mitglied
Hmm klingt schon logisch irgendwie. :) Das mit dem englisch... naja, kommt vlt mit der Zeit.
Mal gespannt wieviele Fragen mir zu dem Thema noch einfallen!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
it_is_all Warum wird die JTable im JDialog nicht angezeigt? AWT, Swing, JavaFX & SWT 1
Joew0815 JDialog repaint() funktioniert nicht wie gewünscht. AWT, Swing, JavaFX & SWT 2
F Swing JDialog schließen - WindowListener bekommt dispose nicht mit AWT, Swing, JavaFX & SWT 0
K JDialog zeigt Components nicht an AWT, Swing, JavaFX & SWT 3
M JDialog übergibt eingaben nicht an aufrufende klasse AWT, Swing, JavaFX & SWT 15
C Swing JDialog Ladebildschirm wird nicht angezeit AWT, Swing, JavaFX & SWT 5
qwerqer Swing JDialog Darstellungsprobleme - Dialog lässt sich nicht schließen AWT, Swing, JavaFX & SWT 3
D Elternfenster vom JDialog aktualisieren oder nicht ? AWT, Swing, JavaFX & SWT 7
C Swing JProgressBar in JDialog wird nicht angezeigt AWT, Swing, JavaFX & SWT 6
F ActionListener von JButton funktioniert mit JFrame aber nicht mit JDialog AWT, Swing, JavaFX & SWT 2
F JDialog per Button schliessen - klappt nicht AWT, Swing, JavaFX & SWT 4
P Swing JDialog schliesst nicht AWT, Swing, JavaFX & SWT 2
J JDialog nicht aus JFrame Rahmen ziehen AWT, Swing, JavaFX & SWT 4
T Komponenten im JDialog werden nicht erneut gerendert AWT, Swing, JavaFX & SWT 9
G JDialog erscheint nicht AWT, Swing, JavaFX & SWT 2
M Label übernimmt Text von JDialog nicht. AWT, Swing, JavaFX & SWT 9
D Aufgeführte jar-Datei, JDialog öffnet sich nicht AWT, Swing, JavaFX & SWT 13
R Mouse Wheel funktioniert nicht im JDialog ! AWT, Swing, JavaFX & SWT 4
S JScrollPane in einem JDialog = geht nicht? AWT, Swing, JavaFX & SWT 14
P windowClosing bei JDialog wird nicht ausgeführt AWT, Swing, JavaFX & SWT 6
B JDialog schliesst nicht AWT, Swing, JavaFX & SWT 22
E JDialog mit count down timer AWT, Swing, JavaFX & SWT 1
H JDialog in Größe ändern - Resize-Cursor bleibt betreten der Komponente AWT, Swing, JavaFX & SWT 1
A ViewController (IFrame) > Jdialog > Model AWT, Swing, JavaFX & SWT 1
J Ablaufsteuerung/Anleitung machen mit JDialog und einer Zustandsmaschine AWT, Swing, JavaFX & SWT 1
L Swing JDialog ton beim klicken ausstellen AWT, Swing, JavaFX & SWT 1
L JDialog hat manchmal keinen Inhalt AWT, Swing, JavaFX & SWT 2
Drachenbauer Hauptfenster erhält schmale Streifen rechts unt unten, wenn ich einen JDialog hinzufüge. AWT, Swing, JavaFX & SWT 19
B Eingaben im JDialog abwarten AWT, Swing, JavaFX & SWT 4
S Swing JDialog mit KeyEvent als Rückgabe AWT, Swing, JavaFX & SWT 1
O Swing JDialog öffnen und dann warten bis er geschlossen wurde AWT, Swing, JavaFX & SWT 2
stylegangsta JDialog bestimmte Zeilen kursiv AWT, Swing, JavaFX & SWT 20
M LayoutManager Modalen JDialog ein Layout zuweisen AWT, Swing, JavaFX & SWT 3
Bluedaishi JDialog modal und JTextArea AWT, Swing, JavaFX & SWT 4
L KeyListener für JDialog AWT, Swing, JavaFX & SWT 7
T Event Handling JDialog schließen, sobald ein neuer erzeugt wird AWT, Swing, JavaFX & SWT 3
D jButton auf von jFrame erzeugtem jDialog AWT, Swing, JavaFX & SWT 16
D Button auf geöffnetem JDialog AWT, Swing, JavaFX & SWT 5
N Definitionen JDialog AWT, Swing, JavaFX & SWT 7
L JDialog - Event wenn Parent größe ändert AWT, Swing, JavaFX & SWT 2
D Swing Schließen von JDialog soll auch JFrame schließen. AWT, Swing, JavaFX & SWT 4
N Swing Fragen zu non-modal JDialog AWT, Swing, JavaFX & SWT 1
N JDialog als Progress-Anzeige AWT, Swing, JavaFX & SWT 6
M JDialog statt JFrame AWT, Swing, JavaFX & SWT 22
I focus an ein jdialog geben AWT, Swing, JavaFX & SWT 3
3 JDialog über einem Vollbildfenster anzeigen AWT, Swing, JavaFX & SWT 5
M JDialog soll JFrame "blockieren" AWT, Swing, JavaFX & SWT 2
S Jframe aus JDialog starten AWT, Swing, JavaFX & SWT 4
S Assistent im JDialog AWT, Swing, JavaFX & SWT 7
H Swing JDialog cannot be resolved as a typ AWT, Swing, JavaFX & SWT 12
C Swing JDialog "flutet" den Arbeitsspeicher AWT, Swing, JavaFX & SWT 9
S Swing Eigenen JDialog mit Rückgabewert AWT, Swing, JavaFX & SWT 3
Jagson Mit JMenu auf jDialog zurück? Wie? AWT, Swing, JavaFX & SWT 8
A JDialog (modal) blockiert alle Fenster! AWT, Swing, JavaFX & SWT 2
Jagson Swing Von JDialog zu anderem JDialog wechseln AWT, Swing, JavaFX & SWT 2
S JDialog direkt über dem MainFrame aufpoppen lassen AWT, Swing, JavaFX & SWT 2
A Swing JDialog KeyBindings und Textfelder AWT, Swing, JavaFX & SWT 5
D Daten von JDialog an JTable in JFrame übergeben AWT, Swing, JavaFX & SWT 7
D JDialog: immer nur einer gleichzeitig AWT, Swing, JavaFX & SWT 4
S JDialog per Button schließen AWT, Swing, JavaFX & SWT 2
B Swing JDialog modal, aber trotzdem Frame auswählbar AWT, Swing, JavaFX & SWT 2
D JDialog alwaysOnTop, aber nur innerhalb der Applikation AWT, Swing, JavaFX & SWT 3
J Swing JDialog blokiert mehrere JFrames - soll aber nur den aufrufenden blockieren AWT, Swing, JavaFX & SWT 4
S JDialog über Applet AWT, Swing, JavaFX & SWT 3
N Swing Klasse erbt von JDialog - Problem mit innerer ActionListener-Klasse AWT, Swing, JavaFX & SWT 6
J Swing JDialog gleichzeitig mit JFrame anzeigen AWT, Swing, JavaFX & SWT 8
S Probleme jDialog einfügen AWT, Swing, JavaFX & SWT 4
S Schrift ändern in JDialog AWT, Swing, JavaFX & SWT 3
S Problem mit JDialog AWT, Swing, JavaFX & SWT 3
hdi Swing Genaue Funktionsweise von modalem JDialog? AWT, Swing, JavaFX & SWT 11
U JDialog ohne Taskleiste AWT, Swing, JavaFX & SWT 7
S Programm pausieren während JDialog offen ist AWT, Swing, JavaFX & SWT 2
X JEditorPane Größe in JDialog automatisch anpassen AWT, Swing, JavaFX & SWT 2
Ollek JDialog Koponenten neu anordnen AWT, Swing, JavaFX & SWT 3
A JDialog AWT, Swing, JavaFX & SWT 10
Dit_ SwingUtilities.invokeLater und Modaler JDialog AWT, Swing, JavaFX & SWT 11
A Frage zu JDialog AWT, Swing, JavaFX & SWT 3
A JDialog ausdrucken AWT, Swing, JavaFX & SWT 7
aze JDialog mit runden ecken AWT, Swing, JavaFX & SWT 8
Dit_ JDialog nur horizontal vergrößern AWT, Swing, JavaFX & SWT 3
M Swing Vererbung, Probleme mit JDialog AWT, Swing, JavaFX & SWT 12
H JDialog, Modal - Klassenübergreifend => Problem AWT, Swing, JavaFX & SWT 5
S Swing Bild (Gif) in Bitte warten JDialog AWT, Swing, JavaFX & SWT 6
U JFrame minimiert nach JDialog, JOptionPane AWT, Swing, JavaFX & SWT 3
K Swing JDialog aus Frame ausrufen AWT, Swing, JavaFX & SWT 2
B JDialog über JFileChooser anzeigen AWT, Swing, JavaFX & SWT 6
B JDialog AWT, Swing, JavaFX & SWT 6
J Swing Probmel mit JDialog (Modal/FocusLost/Button) AWT, Swing, JavaFX & SWT 5
E Swing Fehlerhaftes Verhalten bei gleichzeitigen Verwendnen von PopUpMenu und JDialog?! AWT, Swing, JavaFX & SWT 5
J Swing JDialog mit static-Funktion anzeigen -> Rückgabewert AWT, Swing, JavaFX & SWT 3
E Daten von JDialog nach JFrame übertragen AWT, Swing, JavaFX & SWT 4
D Mehrere Comboboxen in JDialog AWT, Swing, JavaFX & SWT 2
BattleMaster246 JDialog erscheint in der Taskbar AWT, Swing, JavaFX & SWT 7
H Sub-Dialog von modalem JDialog aus aufrufen - geht das? AWT, Swing, JavaFX & SWT 6
R Swing JDialog liefert immer false, 2 JListen verknüpfen AWT, Swing, JavaFX & SWT 3
P Swing eigenen Modalen JDialog AWT, Swing, JavaFX & SWT 6
J JDialog verliert Werte AWT, Swing, JavaFX & SWT 3
N Variablen an JDialog übergeben AWT, Swing, JavaFX & SWT 2
X Swing JDialog von JInternalFrames überlappen lassen AWT, Swing, JavaFX & SWT 2
O JDialog-JScrollPane-JTable Problem AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben