如何制作自定义 Window 且仍可调整大小的无边框
How can I make a custom Window without borders that is still resizable
各位程序员大家好! :D
我想创建一个没有边框和大小按钮的 JFrame
。例如像 Steam-program for PC 的框架。我搜索并找到了 JWindow
和 JFrame
的 setUndecorated
方法。
当我使用这些选项之一时,我得到一个无边框的 window,但我无法调整它的大小。有没有简单的方法来保留此功能,尤其是 "snap-feature"?我的意思是 Valve 设法以某种方式解决了这个问题:)
This question完美地描述了我想要的,但只有一个答案,而且不是很有帮助...
查看 Resizing Components。这是一个通用的 class,允许您调整任何组件的大小。当鼠标位于框架边缘时,它将提供适当的光标。
框架的基本用法是:
JFrame frame = new JFrame("SSCCE");
frame.setUndecorated( true );
ComponentResizer cr = new ComponentResizer();
cr.registerComponent(frame);
当然,您需要确保框架的边缘周围有空白边框,以便将 MouseEvents 传递到框架而不是添加到框架的组件。
各位程序员大家好! :D
我想创建一个没有边框和大小按钮的 JFrame
。例如像 Steam-program for PC 的框架。我搜索并找到了 JWindow
和 JFrame
的 setUndecorated
方法。
当我使用这些选项之一时,我得到一个无边框的 window,但我无法调整它的大小。有没有简单的方法来保留此功能,尤其是 "snap-feature"?我的意思是 Valve 设法以某种方式解决了这个问题:)
This question完美地描述了我想要的,但只有一个答案,而且不是很有帮助...
查看 Resizing Components。这是一个通用的 class,允许您调整任何组件的大小。当鼠标位于框架边缘时,它将提供适当的光标。
框架的基本用法是:
JFrame frame = new JFrame("SSCCE");
frame.setUndecorated( true );
ComponentResizer cr = new ComponentResizer();
cr.registerComponent(frame);
当然,您需要确保框架的边缘周围有空白边框,以便将 MouseEvents 传递到框架而不是添加到框架的组件。