Java 创建具有圆角的形状
我正在使用NetBeans,我有一个空白的Java 创建具有圆角的形状,java,swing,jframe,Java,Swing,Jframe,我正在使用NetBeans,我有一个空白的JFrame。JFrame实际上是空的。我希望这个JFrame有圆角 我怎样才能做到这一点呢?如果你想要圆角,那么你需要一个成型的框架。你可以通过打电话来实现。引用其文件: 必须满足以下条件才能设置非空形状: 基础系统必须支持PERPIXEL\u TRANSPARENT半透明 窗户必须没有装饰(请参见和) 窗口不得处于全屏模式(请参阅) 第二点,一个未修饰的框架,对应于你原始问题的一部分,在随后的编辑中被重新表述:它将给你 没有类似windows的东
JFrame
。JFrame
实际上是空的。我希望这个JFrame
有圆角
我怎样才能做到这一点呢?如果你想要圆角,那么你需要一个成型的框架。你可以通过打电话来实现。引用其文件: 必须满足以下条件才能设置非空形状:
- 基础系统必须支持
半透明PERPIXEL\u TRANSPARENT
- 窗户必须没有装饰(请参见和)
- 窗口不得处于全屏模式(请参阅)
如果你想要圆角,那么你需要一个成型的框架。你可以通过打电话来实现。引用其文件: 必须满足以下条件才能设置非空形状:
- 基础系统必须支持
半透明PERPIXEL\u TRANSPARENT
- 窗户必须没有装饰(请参见和)
- 窗口不得处于全屏模式(请参阅)
你所说的“形式”是指一个和一个框架吗?如果是的话,我可以把这个评论变成一个答案。哈哈,是的,这正是我的意思。你说的是AWT还是Swing?或者完全是别的什么?嗯,我想是摇摆。我打开了netbeans,选择了file-newproject-java应用程序。创建它,然后右键单击树中的节点,然后说new-jframe表单。那张表格。然后我做了设定(真);并且它显示。但我也说过,在形式上,它是未装饰的。所以这只是一张空白表格。如果我运行,它只是空白表格没有任何东西。我只想把尖角弄圆。这样看起来很好。然后我会做剩下的功能。你的问题不清楚,所以我编辑了它。根据上面的回答,我认为你所说的形式是指一个
JFrame
(请注意,我对你的问题进行了编辑,以便更清楚)。你所说的“形式”是指一个和框架吗?如果是的话,我可以把这个评论变成一个答案。哈哈,是的,这正是我的意思。你说的是AWT还是Swing?或者完全是别的什么?嗯,我想是摇摆。我打开了netbeans,选择了file-newproject-java应用程序。创建它,然后右键单击树中的节点,然后说new-jframe表单。那张表格。然后我做了设定(真);并且它显示。但我也说过,在形式上,它是未装饰的。所以这只是一张空白表格。如果我运行,它只是空白表格没有任何东西。我只想把尖角弄圆。这样看起来很好。然后我会做剩下的功能。你的问题不清楚,所以我编辑了它。根据上面的回答,我认为form是指JFrame
(请注意,我对您的问题进行了编辑,以便更清楚)。在IDE中使用codenew RoundRectangle2D.Double(10010010080060050)
设置shape
属性。通常设置为未装饰(true)代码>必须在设置形状之前(新的圆形矩形2D.Double(100100800600,50,50))对不起,我不知道发生了什么事。正如你所说,我把一切都设置好了,但是我不明白它是圆的……每个数字代表什么?@Bebbie7:阅读RoundRectangle2D.Double
构造函数。在IDE中用codenew RoundRectangle2D.Double(100,100,800,600,50,50)
设置shape
属性。通常设置为未装饰(true)代码>必须在设置形状之前(新的圆形矩形2D.Double(100100800600,50,50))对不起,我不知道发生了什么事。正如你所说,我把一切都设置好了,但是我不明白它是圆的……每个数字代表什么?@Bebbie7:read代表RoundRectangle2D.Double
构造函数。
yourframe.setBackground(new Color(0, 0, 0, 180));
yourframe.setUndecorated(true);
yourframe.addComponentListener(new ComponentAdapter() {
@Override
public void componentResized(ComponentEvent e) {
setShape(new RoundRectangle2D.Double(0, 0, getWidth(), getHeight(), 80, 80));
}
});