Zum Inhalt springen

Fenster soll man nicht verschieben können...Aber wie?


Empfohlene Beiträge

Geschrieben

Tag leute^^

schreib grad ein Word-ähnliches Programm und komme eigentlich gut zurecht mit allem. um texte etc. zu verfassen habe ich mein programm so eingerichtet, dass ein interner frame geöffnet wird, der die textarea in sich trägt. nun, das problem besteht darin, dass man es, da es ja ein fenster ist, hin und her schieben kann! und genau das möchte ich gerne abschaffen. hab auch schon gegoogled, hab aber nichts hilfreiches gefunden :( könnte mir wer dabei vllt helfen? wäre echt nett :)

p.s.: achja^^ swing, nicht awt

mfg

Kaeyu

Geschrieben

hab sowas gefunden, vielleicht hilft es dir:

MouseMotionListener[] actions = (MouseMotionListener[])iframe.getListeners(MouseMotionListener.class);


for (int i = 0; i < actions.length; i++)

	iframe.removeMouseMotionListener( actions[i] );

Geschrieben

Mal so eine grundsätzliche Frage: Weshalb benutzt man interne Frames, wenn man die Vorteile von eben internen Frames nicht nutzen möchte?

Was wäre das Problem bei schlichten JPanels gewesen? Wieso hast du dich dagegen entschieden?

Geschrieben
Mal so eine grundsätzliche Frage: Weshalb benutzt man interne Frames, wenn man die Vorteile von eben internen Frames nicht nutzen möchte?

Von welchen "Vorteilen" genau sprichst du? JInternalFrames sind eigentlich auch fast so konfigurierbar, wie "normale" JFrames.

Was wäre das Problem bei schlichten JPanels gewesen? Wieso hast du dich dagegen entschieden?

Sehr wahrscheinlich nicht, aber ich finde es leichter mit internen Frames herum zu hantieren, wenn ich mehrere Dokumente gleichzeitig geöffnet habe.

Geschrieben

...ah, ok. Für mehrere Dokumente also. Klar, ergibt Sinn für eine Textverarbeitung.

Mit "Vorteile von internen Frames" meine ich zum Beispiel die Eigenschaft, im Gegensatz zu einfachen Panels verschiebbar, minimierbar, etc. zu sein. Und das ist ja genau das, was du offenbar nicht willst - diese Eigentschaft von internen Frames, sie verschieben zu können. Deswegen war ich etwas irritiert. Du wählt A, willst aber das zugehörige B nicht...

Aber natürlich, da gebe ich dir Recht, ist es für eine Textverarbeitung recht sinnvoll, jedes Dokument in einem eigenen, internen Fenster anzuzeigen.

Dann folgt trotzdem meine nächste Frage: Was ist so schlimm daran, sie verschieben zu können? Interne Frames nutzt man doch aus eben jenem Grund, dass der Nutzer die Anordnung selbst bestimmen kann. Fenster die man nicht verschieben kann, sind irgendwie überflüssig, das hätte man auch mit Panels machen können.

Wie dem auch sei - eine Lösung deines Problems habe ich nicht. Du könntest aber auch über Alternativen nachdenken. Sicherlich könntest du für deine Zwecke auch JTabbedPane verwenden. Nur so eine Idee. :)

Geschrieben
... Du könntest aber auch über Alternativen nachdenken. Sicherlich könntest du für deine Zwecke auch JTabbedPane verwenden. Nur so eine Idee. :)

Habe ich auch schon dran gedacht^^ War mir aber nicht so sicher, ob das dazu passen würde. Ich werd's mal probieren. Vllt gefällts mir ja^^

Achja, mir ist aufgefallen, dass wenn ich die Größe des internen Fensters ändern will, es sich automatisch wieder "stretcht" - sprich: der Fenstergröße anpasst. Liegt das vllt daran, dass ich für das Hauptfenster das BorderLayout nutze?

Geschrieben
Liegt das vllt daran, dass ich für das Hauptfenster das BorderLayout nutze?
...Ohne mich jetzt genauer mit dem BorderLayout zu beschäftigen (es gibt durchaus bessere Layouts) und ohne wirkliche Kenntnisse von deiner Komponentenanordnung und der technischen -struktur zu haben, würde ich mal sagen, dass die Vermutung nicht dumm ist. Du kannst es ja mal mit anderen Layouts versuchen.

Tatsächlich kann ich dir bezüglich der internen Frames nicht mehr weiter helfen. Etwas wirklich Ernsthaftes ist es damit bei mir noch nicht geworden. Ich habe bisher viel mehr auf sämtliche Panelarten gesetzt. ;) Diese lassen sich hervorragend mit dem FormLayout anordnen. Des Weiteren waren interne Frames für mich nie richtig erforderlich.

Damit klinke ich mich aus. Viel Erfolg noch! :)

  • 2 Wochen später...
Geschrieben

Hi!

Ich denke mal, das hier könnte dir vielleicht weiter helfen.



this.addComponentListener(new ComponentAdapter(){


  public void componentMoved(ComponentEvent e) {

	Main.this.setBounds(20, 20, 30, 30);


  }

});


Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...