Lage von Internal Frames

Status
Nicht offen für weitere Antworten.
G

Gast

Gast
Hallo!

Wie kann man feststellen, ob ein Internal Frame vor allen anderen Internal Frames liegt (also für den Benutzer sichtbar ist) oder nicht?
 
R

Roar

Gast
http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JInternalFrame.html#isSelected()
 
G

Guest

Gast
Danke für die Antwort, aber, isSelected() bezieht sich doch auf den Focus. Da könnte es doch theoretisch vorkommen, dass ein Fenster zwar vorne liegt, aber keinen Fokus hat. In diesem Fall würde der Test mit isSelected das falsche Ergebnis liefern.
 
G

Guest

Gast
Beispiel zu meiner oben angeführten Überlegung:

Ich öffne 2 Internal Frames (Frame A und Frame B) => Frame A liegt hinter Frame B und Frame B hat den Fokus. Klicke ich nun auf das Iconify-Symbol von Frame B => Frame A ist vorne, hat aber keinen Fokus => Test mit isSelected schlägt fehl.

Das Problem konnte man lösen, wenn man, sobald ein Fenster geschlossen wird, den Fokus auf Fenster überträgt, das dann sichtbar wird. Aber dazu müsste man eigentlich wieder das oberste Fenster ermitteln und damit wäre ich wieder beim eigentlichen Problem - oder gib es eine andere Möglichkeit den Fokus auf das Fenster zu übertragen, das dann sichtbar wird?
 
U

Uwe

Gast
Hallo,

ich kann das von dir beschriebene Verhalten so nicht nachvollziehen. Ich bin kein Swing-Spezialist, deshalb kann ich nur vermuten, aber meiner Meinung nach erfolgt diese Verwaltung durch den DefaultDesktopManager. Ich habe mal mit dem Beispiel-Programm 'Listing3607' aus den Examples des Online-Tutorials 'Handbuch der Java-Programmierung' rumgespielt. Dort bekommt das oberste Fenster automatisch den Focus, wenn das davorliegende Fenster iconified wird.

Vieleicht hilft dir das Beispiel ja weiter:

Code:
/* Listing3607.java */

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);
  }
}
 
G

Gast

Gast
Hallo!

Ich habe vergessen zu erwähnen, dass ich den DefaultDesktopManager abgeleitet habe :oops:.
Da ich eine Art Taskleiste programmiere, wird jedes offene Fenster durch einen Button auf dieser Taskleiste repräsentiert. Klickt man auf das Iconify - Symbol mache ich das Fenster einfach unsichtbar. Deswegen brauche ich auch eine Möglichkeit nach dem Iconify -Vorgang das neue oberste Fenster zu bestimmen, um diesem dann den Fokus zu geben.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Internal Frames und Canvas-Element AWT, Swing, JavaFX & SWT 9
Neumi5694 internal property vermeiden AWT, Swing, JavaFX & SWT 0
M Internal Frame in den vordergrund AWT, Swing, JavaFX & SWT 4
R Swing Wie kann man Internal Frames automatisch ausrichten lassen? AWT, Swing, JavaFX & SWT 3
M Namen eines Internal Frame auslesen AWT, Swing, JavaFX & SWT 6
H Internal Frame mit Nachfrage schließen AWT, Swing, JavaFX & SWT 9
T Image auf Panel in einem Internal Frame zeichnen AWT, Swing, JavaFX & SWT 5
Wildcard Internal Frames und JDialog AWT, Swing, JavaFX & SWT 4
temi JavaFX "Frames" in JavaFx - passende Komponente? AWT, Swing, JavaFX & SWT 13
M Problem mit dem Anzeigen von Frames im Vordergrund AWT, Swing, JavaFX & SWT 5
H Kombination von zwei Frames AWT, Swing, JavaFX & SWT 16
D Frame beim starten eines anderen Frames schließen AWT, Swing, JavaFX & SWT 2
M Swing JPanel innerhalb eines Frames verschieben AWT, Swing, JavaFX & SWT 3
M LayoutManager Im Haupframe veränderbare Frames AWT, Swing, JavaFX & SWT 4
R TriangleMesh verschwindet teilweise beim resizen des Frames, sowie beim rotieren? AWT, Swing, JavaFX & SWT 1
S Größe der Komponenten, beim ändern der größe des Frames, mit ändern! AWT, Swing, JavaFX & SWT 2
A Swing Frames richtig erstellen AWT, Swing, JavaFX & SWT 3
OnDemand Inhalt des Frames ändern AWT, Swing, JavaFX & SWT 4
V Ende eines Frames abwarten AWT, Swing, JavaFX & SWT 7
R Komponenten werden erst nach maximierung des Frames sichtbar (Linux) AWT, Swing, JavaFX & SWT 5
C 2 Frames, eins nicht editierbar AWT, Swing, JavaFX & SWT 2
P 2D-Grafik Gezielter Repaint einzelner Frames in Java-Game AWT, Swing, JavaFX & SWT 6
M Anzahl Frames in Taskleiste AWT, Swing, JavaFX & SWT 2
J Swing neuer Aufbau des Frames nach Click AWT, Swing, JavaFX & SWT 8
F Swing Ladebildschirm zwischen zwei SWING Frames AWT, Swing, JavaFX & SWT 11
Jackii 2 Frames nacheinander aufrufen AWT, Swing, JavaFX & SWT 6
K Hintergrundfarbe des Frames ändern AWT, Swing, JavaFX & SWT 4
F Canvas Objekt außerhalb des Frames zeichnen AWT, Swing, JavaFX & SWT 3
S GUI mit website-like Frames AWT, Swing, JavaFX & SWT 9
K Tranzparenz von Frames -> IllegalAccessError AWT, Swing, JavaFX & SWT 4
H Swing Wechsel zwischen Frames AWT, Swing, JavaFX & SWT 6
B Problem bei der Aktualisierung des Frames AWT, Swing, JavaFX & SWT 6
A Grösse des Frames stimmt nicht von Anfang an AWT, Swing, JavaFX & SWT 6
Crashbreaker SWT Frames wie bei Eclipse AWT, Swing, JavaFX & SWT 43
G Components erscheinen erst bei Änderung des Frames AWT, Swing, JavaFX & SWT 3
C LayoutManager Layout und vergrößern des Frames AWT, Swing, JavaFX & SWT 5
F Variablen zwischen Frames AWT, Swing, JavaFX & SWT 5
N Mehrere Frames AWT, Swing, JavaFX & SWT 2
M Swing Rahmengröße des Frames/Dialogs AWT, Swing, JavaFX & SWT 3
H Mit for-schleife die Componenten eines Frames verändern AWT, Swing, JavaFX & SWT 5
A Einschreiten vor anzeige eines Frames AWT, Swing, JavaFX & SWT 26
E 2 Frames - eine Änderung AWT, Swing, JavaFX & SWT 4
S Panel austauschen, ohne Größenänderung des Frames AWT, Swing, JavaFX & SWT 5
R Swing alle Frames nutzen das gleiche Model AWT, Swing, JavaFX & SWT 2
S Frames schließen AWT, Swing, JavaFX & SWT 6
E Eine Seite eines Frames variabel anpassen lassen? AWT, Swing, JavaFX & SWT 10
P ScrollPane klappt zusammen beim verkleinern des Frames AWT, Swing, JavaFX & SWT 2
A Oberfläche wir mit html-Frames aufbauen AWT, Swing, JavaFX & SWT 11
D Frames positionieren (java.awt.Frame) AWT, Swing, JavaFX & SWT 3
G Bessere Aktualisierung eines Frames AWT, Swing, JavaFX & SWT 5
D 2 verschiedene Frames mit einem Button schliessen AWT, Swing, JavaFX & SWT 2
A Eins von zwei offnen Fenster/Frames schließen AWT, Swing, JavaFX & SWT 2
M Mehrere Frames - hab ich das richtig verstanden AWT, Swing, JavaFX & SWT 4
R Frames mittig AWT, Swing, JavaFX & SWT 6
H Frames oder Panels für mehrere Ansichten? AWT, Swing, JavaFX & SWT 4
P User-Rechte fuer Frames ueberpruefen und deren Schliessung AWT, Swing, JavaFX & SWT 4
G Frames vorladen lassen AWT, Swing, JavaFX & SWT 8
conan2 Nicht-rechteckige Frames AWT, Swing, JavaFX & SWT 7
F gibt etwas wie frames in html auch in java? AWT, Swing, JavaFX & SWT 19
W Vollbild Frames neu schreiben AWT, Swing, JavaFX & SWT 2
B Weitere Frames in der Mitte des HauptFrames anzeigen lassen AWT, Swing, JavaFX & SWT 2
N Unterschiedliche LookAndFeels bei zwei Frames? AWT, Swing, JavaFX & SWT 4
C Seiteneffekte beim Ändern der Größe des Frames AWT, Swing, JavaFX & SWT 8
G Swing-Frames und Statusleiste AWT, Swing, JavaFX & SWT 5
C JToolBar nicht minimieren beim Minimieren des Eltern-Frames AWT, Swing, JavaFX & SWT 4
X Refresh eines Frames AWT, Swing, JavaFX & SWT 1
M Rechner/JVM hängt ab ca. 247 Frames AWT, Swing, JavaFX & SWT 8
M Parameterübergabe zwischen Frames AWT, Swing, JavaFX & SWT 2
G Verknüpfung von Frames über Buttons AWT, Swing, JavaFX & SWT 4
D Methodenaufruf bei schließen des Frames AWT, Swing, JavaFX & SWT 4
M ActionListener-Zugriff durch mehrere Frames AWT, Swing, JavaFX & SWT 5
G Frames sperren AWT, Swing, JavaFX & SWT 9
A Layoutproblem beim Vergrößern eines Frames AWT, Swing, JavaFX & SWT 9
R Autoresize eines Panel nach resize des Frames? AWT, Swing, JavaFX & SWT 3
K frames on top und frage zu JOptionPane AWT, Swing, JavaFX & SWT 2
G Dialog "übermalt" Teile des Frames AWT, Swing, JavaFX & SWT 20
G Mindestgröße eines Frames AWT, Swing, JavaFX & SWT 14
S Farbe des Frames ändern AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben