Alo*_*ius 5 java swing jframe rounded-corners
我有一个登录JFrame我的应用程序,我想使框架的角落圆几个像素.
我喜欢这样做而不使用JFrame上的透明度并且必须在JPanel中使用背景图像 - 这可能吗?
Jk1*_*Jk1 12
对于未修饰的框架,可以考虑以下示例:
JFrame frame = new JFrame();
frame.setUndecorated(true);
frame.setShape(new RoundRectangle2D.Double(10, 10, 100, 100, 50, 50));
frame.setSize(300, 200);
frame.setVisible(true);
Run Code Online (Sandbox Code Playgroud)
此代码适用于Java 7.对于Java 6(自更新10开始),您可以执行以下操作AWTUtilities.setWindowShape:
JFrame frame = new JFrame();
frame.setUndecorated(true);
AWTUtilities.setWindowShape(frame, new RoundRectangle2D.Double(10, 10, 100, 100, 50, 50));
frame.setSize(300, 200);
frame.setVisible(true);
Run Code Online (Sandbox Code Playgroud)
尝试这个。有用 :)
yourframe.setUndecorated(true);
yourframe.setBackground(new Color(0, 0, 0, 180));
yourframe.addComponentListener(new ComponentAdapter() {
@Override
public void componentResized(ComponentEvent e) {
setShape(new RoundRectangle2D.Double(0, 0, getWidth(), getHeight(), 80, 80));
}
});
Run Code Online (Sandbox Code Playgroud)