Swing JInternalFrame: Titelleiste entfernen

Status
Nicht offen für weitere Antworten.
Ein JInternalFrame ohne Titelleiste ist doch ähnlich einem JPanel! Und das kanst du doch auch einem JDesktopPane hinzufügen.
 
danke für die schnelle antwort 😉

nein ich möchte schon ein JInternalframe haben, nur soll man die leiste nicht sehen können. Kann man sie evtl. visible und invisible machen?
 
Sowas wie JInternalframe#setUndecorated(true) scheint es nicht zu geben. Da wirst du wohl paintComponent() überschreiben müssen.

EDIT: Was mich noch interessiert: Ein undekoriertes JInternalFrame kannst du weder verschieben noch in der Größe ziehen. Warum also kein JPanel nutzen?
 
Zuletzt bearbeitet:
puhh...ja ich weiß die frage ist schon etwas verwirrend
also mein problem ist:

ich habe zwei Views. in dem einen füge ich solche JInternalframes (mit inhalt)hinzu und positioniere oder vergrößere sie etc. (EditView)
und in dem anderen view "schaue" ich sie mir nur an! sie sollen da nicht bearbeitet werden können und ausschauen wie ein "bild". also sollte hier die titelleiste invisible sein. (ShowView)

ich hoffe ich konnte es erklären 😳
 
Versuch's mal so:
Java:
public class TestWithoutTitlebar extends JFrame {
    boolean showTitleBar = false;
...
        internalFrame.setUI(new UIframe(internalFrame));
...
//        showTitleBar = true;
//        internalFrame.revalidate();
...
    public static void main(String[] args) {
        try {
            UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
        } catch (Exception ex) {
            ex.printStackTrace();
        }
...
    }
    class UIframe extends MetalInternalFrameUI {
        public UIframe(JInternalFrame internalFrame) {
            super(internalFrame);
        }
        public JComponent getNorthPane() {
            return showTitleBar ? super.getNorthPane() : null;
        }
    }
}
Das müsste mit allen "Look and Feels" funktionieren, nur muss man sich leider auf eines festlegen.
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.

Zurück
Oben