如何更改 JTable 的空白空间颜色?
Posted
技术标签:
【中文标题】如何更改 JTable 的空白空间颜色?【英文标题】:How to change a JTable's empty space color? 【发布时间】:2020-10-11 14:02:24 【问题描述】:我正在尝试在我的应用中创建 JTable
。到目前为止,我已经能够更改几乎所有我需要的设置,除了空白区域的颜色。我想更改颜色,使其与行的背景颜色相同。你是怎么做到的?
【问题讨论】:
那部分是JTable
的父容器。由于您没有发布任何代码,因此我不能更具体。我认为您应该考虑发布minimal reproducible example。您可以edit您的问题并发布一些我可以复制、编译和运行的代码,这些代码将展示您的问题。
你好。这只是默认的 JTable,有几个模型修改。您可以在您的 IDE 中创建一个新的 JFrame,并使用 gui swing 编辑器放置一个表格,您将拥有最小的可重现示例。
(1-) 您可以在您的 IDE 中创建一个新的 JFrame,并使用 gui swing 编辑器放置一个表格,您将获得最小的可重现示例 - 也就是说不是论坛的工作方式。你是提出这个问题的人。如果您希望人们提供帮助,那么您可以根据您使用的代码发布您的“MRE”来展示问题。
【参考方案1】:
只检查jtable属性中的不透明
【讨论】:
正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。【参考方案2】:import java.awt.Color;
import java.awt.Component;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
public class TableExample
JFrame f;
TableExample()
f = new JFrame();
String data[][] = "101", "Amit", "670000" , "102", "Jai", "780000" , "101", "Sachin", "700000" ;
String column[] = "ID", "NAME", "SALARY" ;
JTable jt = new JTable(data, column);
jt.setDefaultRenderer(Object.class, new DefaultTableCellRenderer() // alternate background color for rows
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
boolean hasFocus, int row, int column)
Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
if (!isSelected)
c.setBackground(row % 2 == 0 ? Color.white : Color.lightGray);
return c;
;
);
jt.setBackground(Color.red);
jt.setFillsViewportHeight(true);
jt.setBounds(30, 40, 200, 300);
JScrollPane sp = new JScrollPane(jt);
f.add(sp);
f.setSize(300, 400);
f.setVisible(true);
public static void main(String[] args)
new TableExample();
【讨论】:
你好,图泰。查看您的代码后,我注意到我缺少什么:勾选组件属性中的fillsViewportHeigth
选项。可悲的是,该选项的名称并不是真正的自我解释。谢谢。以上是关于如何更改 JTable 的空白空间颜色?的主要内容,如果未能解决你的问题,请参考以下文章