Java 使用3个按钮绘制自己的框架
标题可能不合适,但这里有完整的解释 我需要的是,我的框架应该有3个按钮(最小化,最大化,关闭),但框架的边界应该是定制的(一些颜色/梯度) 见此:Java 使用3个按钮绘制自己的框架,java,swing,frame,Java,Swing,Frame,标题可能不合适,但这里有完整的解释 我需要的是,我的框架应该有3个按钮(最小化,最大化,关闭),但框架的边界应该是定制的(一些颜色/梯度) 见此: (来源:) 编辑:我还没有开始编码,因为我不知道从哪里开始,将所需的内部框架图标添加到未装饰框架中的容器中,如图所示。一些外观和感觉支持JFrame装饰,例如标准框架金属,它可以: 您可以通过使用来检查LaF是否支持装饰 通过修改LaF,可以更改框架装饰的绘制方式 或者,您可以创建一个完全没有装饰的框架。调用框架实例: 因此,您可以轻松地在内容
(来源:)
编辑:我还没有开始编码,因为我不知道从哪里开始,将所需的内部框架图标添加到未装饰框架中的容器中,如图所示。一些外观和感觉支持JFrame装饰,例如标准框架金属,它可以: 您可以通过使用来检查LaF是否支持装饰 通过修改LaF,可以更改框架装饰的绘制方式 或者,您可以创建一个完全没有装饰的框架。调用框架实例: 因此,您可以轻松地在内容窗格中绘制所需的任何内容。然而,除非您自己实现这些功能,否则此类窗口无法轻松移动、调整大小、最小化或最大化 你会发现这篇文章很有趣
我使用了以下方法: 要创建无边框的框架,请执行以下操作:
- 删除行
JFrame.setDefaultLookAndFeelDecorated(true)代码>
- 添加行
frame.setUndercorated(true)代码>
更新:我找到了一系列关于如何为Nimbus外观添加框架装饰的文章:
您可以使用这些文章中的代码作为实现自己的框架装饰的基础。您可能希望创建自己的完整外观。这个问题没有一个真正的答案。看一看,如果你想自定义框架,那么你可以自己画。在绘制整个框架时,可以绘制任意多个按钮,但必须处理事件。顺便说一句,您可以更改单个组件JFrame的外观。@alexey:您说得对,我只想精确地修改JFrame的外部边框,您能建议一些方法吗?
public class AFrame {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame frame = new JFrame("A Frame");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(200, 100);
frame.setLocationByPlatform(true);
frame.setVisible(true);
}
});
}
}