17. Februar 200719 j 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
17. Februar 200719 j 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] );
18. Februar 200719 j 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?
18. Februar 200719 j 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.
18. Februar 200719 j ...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.
18. Februar 200719 j ... 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?
18. Februar 200719 j 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!
28. Februar 200719 j 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); } });
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.