2010-01-06 16 views

Respuesta

42

Llame setUndecorated(true) en su JFrame.

Este método solo se puede invocar cuando el marco no se puede visualizar (consulte JavaDoc).

enter image description here

+0

Ok. Voy a establecer una respuesta es una respuesta aceptada que resuelva mi problema. ¡Gracias! –

+1

@ Peter: ¿Cómo puedo hacer que un marco no se pueda visualizar? He creado JFrame y le he agregado algunos controles usando Netbeans. En la función principal código I: formulario MyJframe = new MyJframe(); form.setUndecorated (true); form.setVisible (true); Pero arrojó la excepción –

+0

@Chan - ¿El constructor MyJFrame llama al paquete()? Eso haría que JFrame se visualice – willcodejavaforfood

1

Puede la clase java.awt.Window. Un Window es como un JFrame, pero sin bordes.

Tenga en cuenta que necesita el constructor de clase Window un Frame (java.awt.Frame) como un argumento, pero se puede establecer a null. También puede ampliar la clase Window para personalizarlo como esto:

public class MyWindow extends Window{ 
    public MyWindow(){ 
     super(null); // creates a window with no Frame as owner 
     setBounds(x, y, width, height); 
     setVisible(true); 
    } 
} 

En main, puede crear una instancia de MyWindow en lugar de Window.

public static void main (String[] args) { 
    Window window = new MyWindow(); 
    // Other stuff in main 
} 

Espero que esto ayude!

+0

Nota 2 cosas: 1) Esta pregunta tiene la etiqueta 'swing' aplicada. 2) Swing proporciona una 'JWindow'. Si elimina o (preferiblemente) edita su respuesta, puede evitar algunos votos hacia abajo. ;) –

+0

Window o Jwindow no admite ciertos eventos de mouse y no tiene control de barra de tareas. –

5

Este código explica cómo puede lograrlo.

Nota: setUndecorated (true); declaración en el constructor.

No puede decodificar el Marco mientras ya se muestra.

public class MyFrame extends JFrame { 

private JPanel contentPane; 
private JTextField textField; 

/** 
* Launch the application. 
*/ 
public static void main(String[] args) { 

       MyFrame frame = new MyFrame(); 
       frame.setVisible(true); 

} 
/** 
* Create the frame. 
*/ 
public MyFrame() { 
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    setBounds(100, 100, 450, 300); 
    contentPane = new JPanel(); 
    contentPane.setBackground(Color.ORANGE); 
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); 


    /* important Statement */ 
    setUndecorated(true); 
} 

}

Frame without Border

0

Uso método frame.getContentPane(); este método devuelve contenido dentro de cualquier marco. Pero necesita convertirlo en un JPanel. PrintUI utilizando JPanel no JFrame ....

Cuestiones relacionadas