如何为 JTable 列标题添加渐变背景?
您好,如何将渐变背景设置为列标题?我有 Jtable:
JTable table = new JTable(4, 5);
并尝试 setColor: table.getTableHeader().setBackground(Color.blue);
但没有成功,列标题的颜色仍然相同,这些只是一种颜色,我需要渐变 谢谢帮助
Hi how to set gradient background to column header ? I have Jtable:
JTable table = new JTable(4, 5);
and try to setColor: table.getTableHeader().setBackground(Color.blue);
but with no succes color of column header is still same and these is just one color and I need gradient
thx for help
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您是使用 NetBean 的代码生成来编写此代码还是手动编写 Swing 代码?
您是否尝试过创建一个扩展 JTableHeader 并重写其 PaintComponent 方法的类?尝试一下,在该方法中创建一个 GradientPaint 对象或其变体之一,使用它来设置 Graphics2D 绘制的属性,然后使用组件的当前尺寸调用 fillRect 以用渐变颜色填充它。
例如,有两种方法可以执行此操作,一种使用自定义 JTableHeader,另一种使用表头使用的自定义单元格渲染器:
Are you coding this with NetBean's code generation or are you coding your Swing by hand?
Have you tried creating a class that extends the JTableHeader and overrides its paintComponent method? Give it a try and in that method create a GradientPaint object or one of its variants use it to set the Graphics2D paint's property and then call fillRect using the current dimensions of the component to fill it with gradient color.
For example here are two ways to do this, one with a custom JTableHeader and one with a custom cell renderer that is used by the table header: