Avatar billede javaknold Nybegynder
29. oktober 2002 - 19:41 Der er 9 kommentarer

Titel i JIntenalFrame

Hvordan fjerner man titellinien i JInternalFrame

Har kigget på følgende uden at finde svaret.

InternalFrameDemo.java:
http://java.sun.com/docs/books/tutorial/uiswing/components/example-swing/InternalFrameDemo.java

MyInternalFrame.java:
http://java.sun.com/docs/books/tutorial/uiswing/components/example-swing/MyInternalFrame.java

Jeg vil gerne have flere åbne vinduer, men INGEN
titellinie i det aktive vindue når det er maksimeret.

Det må kunne lade sig gøre, men hvordan ????

Carsten
Avatar billede di8leva Nybegynder
29. oktober 2002 - 19:49 #1
I MyInternalFrame.java är koden i constructorn:

super("Document #" + (++openFrameCount),
              true, //resizable
              true, //closable
              true, //maximizable
              true);//iconifiable

det första argumentet är titeln, och skriver du istället:
super(""
              true, //resizable
              true, //closable
              true, //maximizable
              true);//iconifiable

blir det ingen titel
Avatar billede javaknold Nybegynder
29. oktober 2002 - 19:57 #2
Virker ikke !!

Men jeg formulerede det måske forkert, det ikke kun titelteksten
jeg vil have væk, det er hele bjælken hvori titlen vises.

Carsten
Avatar billede di8leva Nybegynder
29. oktober 2002 - 20:14 #3
aha....hmmm
det går nog inte med en InternalFrame, du måste nog använda ett annat objekt.
jag har stött på ett objekt som jag vet inte har den "frame" som du vill ha bort men jag kan inte hitta det nu
skall leta lite till.
Avatar billede di8leva Nybegynder
29. oktober 2002 - 20:21 #4
vill du inte ha bjälken ska du ikke använda ett frame-objekt utan f.eks Window eller JWindow.
det kanske finns ett superhack så man kan ta bort bjälken på en frame, men jag tror inte det, men lämna spörgsmålet öppet så får vi se om någon har nåt. Nu vill jag också veta =)
Avatar billede aslan Nybegynder
29. oktober 2002 - 20:40 #5
setUndecorated(true);
setVisible(true);
Avatar billede javaknold Nybegynder
29. oktober 2002 - 20:58 #6
setUndecorated( true );

Den kan jeg få til at virke på en JFrame, men ikke JInternalFrame,
med mindre jeg gør noget galt.

Casten
Avatar billede codecompletion Nybegynder
30. oktober 2002 - 12:27 #7
Prøv denne : Den er en alternativ måde at gøre det på

    JInternalFrame frame = new JInternalFrame("Kunde",true,true,true,true);
       
//Fjerner Title Bar Fra Internal framen.
javax.swing.plaf.InternalFrameUI ui = framerame.getUI(); 
((javax.swing.plaf.basic.BasicInternalFrameUI)ui).setNorthPane(null);
//Fjerner Title Bar Fra Internal framen.

MVH Allan Andersen
Avatar billede logical Nybegynder
30. oktober 2002 - 12:30 #8
Det du savner er en JInternalWindow klasse, som ikke eksisterer.

Det der giver en mulighed er at kigge på hvordan det er sammensat i UI.
En JInternalFrame har en JInternalUI, som tegner framen.
Hvis man tager udgangspunkt i disse klasser, kan man nemt tilpasse noget (rent hacking, men det virker).

Hvis du f.eks. bruger metal look-and-feel, så prøv dette:

public class MyUI extends MetalInternalFrameUI {
    public MyUI(JInternalFrame b) {
        super(b);
    }

    protected JComponent createNorthPane(JInternalFrame w) {
            return new JLabel("");
    }
}


Derefter siger du :
JInternalFrame iframe = new JInternalFrame(...whatever...);
iframe.setUI(new MyUI(iframe));

Så har du ihvertfald ingen dekoration.

Det er så generelt, og ikke kun ved maksimering, men det giver dig måske et udgangspunkt.

Men, hvis du har en udekoreret internal frame når den er maksimeret, hvordan har du så tænkt dig, at den skulle kunne restores??
Avatar billede javaknold Nybegynder
30. oktober 2002 - 15:14 #9
Jeg aner det ikke!

Men det må kunne lade sig gøre at lave noget som ligner alm.
windows applikationer, tag f. eks. MS Word

Har man flere dokumenter åbne og maksimeret, vil dokumentets titel
vises i programmets titlebar, programmets menuknapper (minimer, maksimer
og luk) bliver til dokumentets (minimer, maksimer og luk) og alle menufunktioner virker på det aktive dokument.

- så hvorfor ikke i java ??

Det må kunne lade sig gøre (vil jeg da tro).

Mvh
Carsten
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester