如何删除jframe中的标题栏?

时间:2014-02-23 01:13:54

标签: java swing jframe

这是我的代码

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

public class FirstFrame extends JFrame {


    //FirstFrame properties

    public FirstFrame(){

        setTitle ("Stacker");
        setSize (380,650);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setVisible (true);
        setUndecorated (true);
        setResizable(false);

    }
public static void main (String[] args){
        new FirstFrame();
    }
}

我正在尝试删除上面的工具栏,因为我想将按钮放在包含退出和播放按钮的框架中。希望你能帮助我!

5 个答案:

答案 0 :(得分:3)

只需更改构造函数中的事件顺序:

    setTitle ("Stacker");
    setSize (380,650);
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    setVisible (true);
    setUndecorated (true);
    setResizable(false);

对此:

    setTitle ("Stacker");
    setSize (380,650);
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    setUndecorated (true);
    setResizable(false);
    setVisible (true); // move setVisible to the end

答案 1 :(得分:2)

主要问题是,在设置了不可取消的

之前,你已经看到了框架
  

禁用或启用此框架的装饰。

此方法可以   仅在框架不可显示时调用。制作这个框架   装饰,它必须是不透明的,并具有默认的形状,否则   将抛出IllegalComponentStateException。参考   Window.setShape(java.awt.Shape),Window.setOpacity(float)和   Window.setBackground(java.awt.Color)了解详情

所以,而不是......

    setVisible (true);
    setUndecorated (true);

你应该试试......

    setUndecorated (true);
    setVisible (true);

答案 2 :(得分:1)

当帧不可显示时,您必须禁用或启用帧的装饰。有关详细信息,请参阅setUndecorated。撤消代码中的顺序 - 首先调用setUndecorated (true);,然后调用setVisible (true);

答案 3 :(得分:0)

尝试:

setExtendedState(JFrame.MAXIMIZED_BOTH);
setUndecorated(true);

答案 4 :(得分:0)

使用frame.setUndecorated(true);但你永远不会设置一个框架,所以只需将setUndecorated置于setResizable