undecorated Frame/JFrame

From: Liam Fry (wtf_at_nyc.rr.com)
Date: 07/31/04

  • Next message: <- Chameleon ->: "JEditorPane & HTML"
    Date: Sat, 31 Jul 2004 11:51:08 GMT
    
    

    I posted here a long time ago and no one was able to help me.
    It's been quite a while, so I wanted to try again ...

    I have a very unusual problem.
    When I was running RedHat 7.1, my GUI-based Java applications appeared
    normally.
    When I upgraded to 7.2, things were still fine.
    However, when I upgraded to 8.0 (what I'm running now), something broke.
    Now, all my GUI-based Java applications lack top-level frame decoration.
    That means I have no title bar, no border, I can't move my window, etc ...

    The JDK docs clearly states that all top-level Frame's/JFrame's are
    initially decorated.
    That makes sense. I have a very short program that, when run under Win32,
    displays correctly.
    However, when run under Linux 8.0, it's missing all top-level decorations.

    I made the switch to RH8.0 while still on J2SE 1.4.0
    Upgrading my version of Java hasn't helped.

    Does anyone else have this problem? Does anyone have any ideas what I could
    try?
    I've tried upgrading my X11 subsystem, but that hasn't helped.

    Here are my particulars:

    RedHat 8.0
    kernel 2.4.20-28.8
    XFree86-Mesa-libGL-4.2.1-23
    XFree86-libs-4.2.1-23
    XFree86-xauth-4.2.1-23
    XFree86-font-utils-4.2.1-23
    XFree86-tools-4.2.1-23
    XFree86-twm-4.2.1-23
    XFree86-4.2.1-23
    XFree86-75dpi-fonts-4.2.1-23
    XFree86-Mesa-libGLU-4.2.1-23
    XFree86-xdm-4.2.1-23
    XFree86-100dpi-fonts-4.2.1-23
    XFree86-base-fonts-4.2.1-23
    XFree86-truetype-fonts-4.2.1-23
    XFree86-xfs-4.2.1-23
    Java JSE 1.4.2_04-b05

    Here's the little program that works under Win32 and is "broken" under RH8.0

    import java.awt.*;
    import javax.swing.*;

    public class noframe extends JFrame
    {
      public noframe ( String title ) { super( title ); }

      public static void main ( String[] args )
        throws ClassNotFoundException,
        InstantiationException,
        IllegalAccessException,
        UnsupportedLookAndFeelException
      {
        noframe noframe1 = new noframe( "You'll Never See This Title Bar" );
        noframe1.setSize( 300, 300 );
        noframe1.setLocation( 100, 100 );
        JLabel label1 = new JLabel( "This shows fine", JLabel.CENTER );
        noframe1.getContentPane().add( label1 );
        noframe1.setVisible( true );

        System.out.println( "This frame is " + (noframe1.isUndecorated() ? "un"
    : "") + "decorated." );
      }
    }


  • Next message: <- Chameleon ->: "JEditorPane & HTML"