这是我的代码
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();
}
}
我正在尝试删除上面的工具栏,因为我想将按钮放在包含退出和播放按钮的框架中。希望你能帮助我!
答案 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
下