Supportnet Computer
Planet of Tech

Supportnet / Forum / Anwendungen(Java,C++...)

[Java] JDialog -> Owner nachträglich hinzufügen





Frage

Hallo Ihr Javanesen, gibt es eine Möglichkeit einem JDialog nachträglich den Owner hinzuzufügen? Beispiel: MeinJDialog.setOwner(JFrame) Wozu ist der Owner eigentlich gut? :) Danke vorab!

Antwort 1 von disco

moin

da musste mal etwas genauer werden. das einzige setOwner, dass ich finden konnte, ist das:
http://java.sun.com/j2se/1.5.0/docs/api/java/beans/XMLDecoder.html#...

und das hat eher wenig mit nem Dialog zu tun..
vielleicht ne selbst geschriebene Methode?

g,
disco

Antwort 2 von slartidan

Servus,

Also theoretisch ist das schon möglich - aber praktisch vermutlich nicht sinnvoll. Du musst dafür nämlich in die tiefsten Gefilde von awt...

Wenn es dafür Gesetze gäbe, dann wäre das hier (reflection, usw.) sicherlich verboten B)

Wenn du dir ganz sicher bist, das du das willst ist hier der Code:

import java.awt.Component;
import java.awt.Container;
import java.lang.reflect.Field;

import javax.swing.JDialog;
import javax.swing.JFrame;

public class JDialogWithChangingParents extends JDialog
{

    public void setParent(Container aParent)
    {
        try
        {
            Field declaredField = Component.class.getDeclaredField("parent");
            declaredField.setAccessible(true);
            declaredField.set(this, aParent);
        } catch (Throwable t)
        {
            t.printStackTrace();
        }
    }

    public static void main(String[] args)
    {
        JDialogWithChangingParents dialog = new JDialogWithChangingParents();
        System.out.println(dialog.getOwner());
        dialog.setParent(new JFrame());
        System.out.println(dialog.getOwner());
    }
}


Gruß,
slarti :)

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: