JDesktopPane Anzeigebereich begrenzen

Status
Nicht offen für weitere Antworten.
R

realbora

Gast
Hallo,

ich habe mal eine kleine Frage.
Wie kann ich in einem JDesktopPane einen Anzeigebereich definieren???
d.h. wenn ein JInternalFrame im Desktop angezeigt wird, möchte ich nicht, dass dieser über den Rand hinaus verschoben werden kann, also müsste ich doch dem Desktop eine maximale Breite und Höhe geben o.Ä.?!?!
Ich hoffe, dass das funktioniert und das ohne einen Listener, der die JInternalFrames beim erreichen einer der Ecken statisch positioniert.


Vielleicht kennt ja jemand eine Lösung dafür.
 

derDachs

Mitglied
Sind die nicht eh eingegrenzt vom DesktopFrame?

Code:
 import java.awt.*;
 import java.awt.event.*;
 import javax.swing.*;
 
 class DesktopFrame
 extends JFrame
 {
   private JDesktopPane desk;
 
   public DesktopFrame()
   {
     super("DesktopFrame");
     this.desk = new JDesktopPane();
     desk.setDesktopManager(new DefaultDesktopManager());
     setContentPane(desk);
     addWindowListener(new WindowClosingAdapter(true));
   }
 
   public void addChild(JInternalFrame child, int x, int y)
   {
     child.setLocation(x, y);
     child.setSize(200, 150);
     child.setDefaultCloseOperation(
       JInternalFrame.DISPOSE_ON_CLOSE
     );
     desk.add(child);
     child.setVisible(true);
   }
 }
 
 class ChildFrame
 extends JInternalFrame
 {
   public ChildFrame(String title)
   {
     super("Child " + title, true, true);
     setIconifiable(true);
     setMaximizable(true);
     setBackground(Color.lightGray);
   }
 }
 
 public class Listing3607
 {
   public static void main(String[] args)
   {
     //Desktop erzeugen
     DesktopFrame desktop = new DesktopFrame();
     desktop.setLocation(100, 100);
     desktop.setSize(400, 300);
     desktop.setVisible(true);
     //Zwei ChildFrames hinzufügen
     desktop.addChild(new ChildFrame("1"), 10, 10);
     desktop.addChild(new ChildFrame("2"), 20, 20);
   }
 }




Code:
 /* WindowClosingAdapter.java */
 
 import java.awt.*;
 import java.awt.event.*;
 
 public class WindowClosingAdapter
 extends WindowAdapter
 {
   private boolean exitSystem;
 
   /**
    * Erzeugt einen WindowClosingAdapter zum Schliessen
    * des Fensters. Ist exitSystem true, wird das komplette
    * Programm beendet.
    */
   public WindowClosingAdapter(boolean exitSystem)
   {
     this.exitSystem = exitSystem;
   }
 
   /**
    * Erzeugt einen WindowClosingAdapter zum Schliessen
    * des Fensters. Das Programm wird nicht beendet.
    */
   public WindowClosingAdapter()
   {
     this(false);
   }
 
   public void windowClosing(WindowEvent event)
   {
     event.getWindow().setVisible(false);
     event.getWindow().dispose();
     if (exitSystem) {
       System.exit(0);
     }
   }
 }

ebend schnell ausgeschnitten bei: www.javabuch.de
 

realbora

Mitglied
Das bringt mir leider nichts.
Nochmal zu meinem Problem:

Wenn ein JInternalFrame auf dem JDesktop nicht maximiert ist, dann kann man diesen doch verschieben!
Ich möchte, dass dieser JInternalFrame nur bis zum Anzeigebereich / sichtbaren Bereich des JDesktops verschoben werden kann und nicht darüber hinaus.
Ich möchte also verhindern, dass man den JInternalFrame weiter herausverschieben kann als der reine sichtbare desktop.
 

realbora

Mitglied
Habe mich mal nen bisle erkundigt.
Das Ergebnis ist, dass dieses Problem nicht ohne Listener zu lösen ist.
Trotzdem danke!

mfG
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S JDesktopPane weiternutzen Java Basics - Anfänger-Themen 5
D JDesktopPane wird nicht angezeigt Java Basics - Anfänger-Themen 6
O JDesktopPane einfärben Java Basics - Anfänger-Themen 10
nils812 Black Jack Karten Anzahl begrenzen Java Basics - Anfänger-Themen 5
S Wie kann ich den Bereich eines Integers begrenzen? Java Basics - Anfänger-Themen 2
L ArrayList auf 4 Elemente begrenzen Java Basics - Anfänger-Themen 56
M BufferedReader begrenzen Java Basics - Anfänger-Themen 3
M String array durch Eingabe begrenzen Java Basics - Anfänger-Themen 7
H MouseListener klicks begrenzen Java Basics - Anfänger-Themen 4
H MouseListener begrenzen und Speichern Java Basics - Anfänger-Themen 1
M For-Schleife durch zwei versch. Variablen begrenzen Java Basics - Anfänger-Themen 27
D Anzahl von Zahlen bei eingabe begrenzen Java Basics - Anfänger-Themen 37
D Größe der Zahlenkombinationen eines Arrays begrenzen Java Basics - Anfänger-Themen 0
E Eingabemöglichkeiten für Textfeld begrenzen Java Basics - Anfänger-Themen 6
S Langtext auf bestimmten Bereich begrenzen Java Basics - Anfänger-Themen 3
T Ausführung zeitlich begrenzen? Java Basics - Anfänger-Themen 2
V Nachkommastellen begrenzen (1,xxx) Java Basics - Anfänger-Themen 3
-horn- Java Speicherbedarf begrenzen? (Nicht Jar) Java Basics - Anfänger-Themen 3
isowiz Threads sammeln und max. Anzahl begrenzen Java Basics - Anfänger-Themen 2
W JFileChooser - Eingebbare Zeichen begrenzen Java Basics - Anfänger-Themen 3
B Wie Dateitypauswahl in JFileChooser Opendialog begrenzen? Java Basics - Anfänger-Themen 2
R Zahlen bei printf auf 2 Nachkommestellen begrenzen Java Basics - Anfänger-Themen 10
G JTextField Eingabe begrenzen? Java Basics - Anfänger-Themen 3
G String-Zeichenanzahl begrenzen Java Basics - Anfänger-Themen 13
M Double: Nachkommastellen begrenzen Java Basics - Anfänger-Themen 8
B Name und PLZ begrenzen Java Basics - Anfänger-Themen 3
cowabunga1984 Größe einer Logdatei begrenzen Java Basics - Anfänger-Themen 9
M Zeilenausgabe auf ein paar Zeichen begrenzen Java Basics - Anfänger-Themen 2
F JTextField: Textlänge begrenzen Java Basics - Anfänger-Themen 8
G Gleitkommaoperationen - Nachkommastellen begrenzen Java Basics - Anfänger-Themen 2
H Filesystem begrenzen Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben