问题标签 [tablecellrenderer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1169 浏览

java - JTable - 单元格编辑器不够高,无法容纳文本

我正在使用带有标准单元格编辑器的标准 JTable 来编辑字符串值。在某些平台上,当打开单元格编辑器时,文本不适合其中并且部分文本被剪切。例如“_”符号不可见,以及“l”和“1”很难区分,因为符号的上部可能被切割。

可能我应该只增加单元格的高度,但要增加多少?

结果很大程度上取决于当前的 Look & Fell,例如在 Windows 上一切可能都很好,但在 Linux 上出现描述的效果。

0 投票
2 回答
798 浏览

java - CustomTableCellRenderer 的 Netbeans 问题

我正在尝试向我的 JTable 添加不同的数据类型(以使 JTable 以正确的方式对整数列进行排序),同时渲染表以查看奇数行比偶数行更暗。

我的 TableCellRenderer 有以下代码:

DataModel 代码是这样的:

我正在使用 new Integer( some_integer ) 向表中添加新的整数值。

运行代码时,表格以正确的方式呈现(奇数行和偶数行具有不同的颜色),但具有整数值的列除外。它们只是白色的,就像它们不受渲染器的影响一样。

请向我解释一下,如何解决这个问题。提前致谢。最大限度。

0 投票
2 回答
2084 浏览

java - 在 JTable 中显示钱,但保留作为双精度排序的能力

我有一个 JTable,其中一列是以美元和美分为单位的金额。我将此 TableColumn 定义为 Double 并且它正确对齐,并且在排序时,它会将其排序为双精度(而不是字符串)。这一切都很好。我现在的问题是它会截断尾随零。100.00 显示为 100 0.00 显示为 0,等等。我尝试了 TableCellRenderer,但尽管这会导致货币列显示尾随零,但现在所有金额都是左对齐的,JTable 将其视为字符串。
我希望尾随零保留在显示中,但也保留数据类型,以便进行排序和右对齐。如果有更好的方法可以做到这一点,则数据类型不需要是双精度。

0 投票
3 回答
24133 浏览

java - Swing JTable - 以与所选行的其余部分不同的颜色突出显示所选单元格?

我有一个基本的摇摆 JTable,要求是当单击任何单元格时,应突出显示整行,并且单击的单元格应与突出显示行的其余部分颜色不同。

目前,我将isRowSelectionAllowed 设置true

我尝试使用自定义TableCellRenderer,如下所示:

但这似乎不起作用(整行以红色突出显示)。

我还尝试如下设置 UIManager 属性:

但这似乎也不起作用(即使当我尝试使用

效果很好)

您能否提出任何建议,我可能需要做什么?

0 投票
2 回答
6590 浏览

java - JTable的TableColumn添加多个JProgressBar

我已经添加JProgressBar了多个TableColumnJTable

在进行某些计算后,我正在用数据更新所有 JProgressBar,但只有最后一个ProgressBar(在本例中ProgressBar progressObj4)被添加。

我怎样才能更新所有的ProgressBars?

基本要求是我在上传时显示文件进度条的状态。目前我正在硬编码 4 个进度条来测试所有进度条是否都在更新文件的状态,但我需要动态创建它们。进度条的总数与正在上传的文件的数量有关。另外,如何获取进度条的各个实例并更新它们的状态?

我正在将进度条的源代码附加到表格列中。

0 投票
1 回答
1358 浏览

java - JTable中的颜色渲染器是否是不可编辑的字段?

我在 JTable 中有 3 列。一列是可编辑的。其他列不可编辑。可编辑列应显示为绿色,不可编辑列应显示为红色。我已经尝试过DefaultRenderer上课,但它不起作用。请如果有人知道这一点,请帮助我。

0 投票
2 回答
755 浏览

java - JTable 无法更改第一列的颜色

我尝试根据字段的值更改 JTable 中字段的颜色。我不想更改第一列的任何颜色,但无论如何都会以错误的方式更改(某些文件未正确归档,例如 University 和 Possible_Reviewer):x 是第一列

我的代码如下:

奇怪的是,当我使用“col == 2”时,它会将第二列变成白色,但第一列仍然是奇怪的颜色。

任何人的想法?

0 投票
2 回答
1666 浏览

java - JTable自定义单元格渲染器焦点问题

我有一张这样的桌子。第二列使用 JTextField 渲染器,第三列使用基于 JPasswordField 的渲染器和编辑器。

在此处输入图像描述

看起来挺好的。但问题是我们必须输入值并且必须点击“ENTER”。在该图像中,我输入了密码,但没有按 Enter。因此,如果我单击“保存并关闭”按钮,它将向我显示密码字段为空的错误。

以前我只在 JTabbedPane 下使用了 JTextFields 和 JPasswordFields,而且效果很好。当我不得不添加越来越多的东西时,我将其更改为这样的表格。

现在我已经贴了一个标签,让人们知道他们应该按 ENTER 键。这不好。另一个大问题。至少在 Nimbus 外观和感觉中,我们知道该领域仍然是焦点。在 Windows 系统外观中,该字段是否被聚焦并没有太大的明显差异。

在此处输入图像描述

当我单击“保存并关闭”按钮时,我需要用户名字段或密码字段来设置它的值。请帮我。

0 投票
1 回答
790 浏览

java - Java 行为 - JTable 和 TableCellRenderer

我有一个自定义 JTable(15 行 x 20 列),它被创建为适用于所有 JComponents。我目前将它用于 JComboBoxes、JTextFields 和 JButtons 的混合。哦,我正在使用 Java5(一个要求)。

我有两个问题:

1)首先是关于 TableCellRenderer 类,以及它的单一方法:

它所做的只是将Object value参数转换为 JComponent,并可能更改背景颜色。没什么大不了。我的问题是为什么这种方法经常被称为。选择单个单元格时,会调用 23 次。在两个 UNRELATED 应用程序(我使用 Win7)之间使用 Alt-Tabbing 时,此方法被调用了 200 多次(并且仅适用于 JButtons 和 JTextFields)!这是否有必要,如果没有,我怎样才能停止不必要的渲染调用?

2)第二个问题是关于 JTable 本身。当我正在编辑一个单元格(JTextField 中的光标并闪烁)并单击另一个单元格时,仅选择了该单元格。但是,如果我随后单击另一个单元格,我将开始编辑该单元格。我能想到的是,从最初的编辑组件中,我选择了 JTable,然后选择了其中的组件。有什么办法可以改变这个吗?要么走一条路(总是在第一次点击时选择 jtable),要么走另一条路(总是在第一次点击时进入单元格)。如果可能的话,我更喜欢第一个选项。

感谢任何可以提供一些见解/帮助的人!

0 投票
2 回答
6588 浏览

java - Java:覆盖表格单元格渲染器,但具有默认背景和属性

如果您想添加自定义渲染器,通常,您要么扩展一些JComponent(如JLabel)并实现TableCellRenderer,要么扩展DefaultTableCellRenderer. 但是,无论哪种情况,我都发现单元格样式被完全覆盖。

我真正想要的是能够绘制默认的 L&F 背景,然后使用其他 L&F 默认值(如前景色和字体)在其上绘制。

所以,这就是我试图做的。首先,类:

然后我像这样覆盖单元格(标题)渲染器:

我基本上只是遵循这里的建议: TableCellRenderer, Part 2 - How To Create A Custom Renderer

如果我 return component,它看起来好像我什么都没有覆盖。也就是说,我得到带有我用所选 L&F 背景和样式以及所有内容编程的标签的标题。 但是,当然,之后没有办法渲染我的东西。

另一方面,如果我返回this,那么我将一无所获。Mac 原生 L&F 给了我一个白色的背景,而 Nimbus 给了我一个其他颜色的纯色。

我显然错过了一些东西。是否有其他方法Component需要我覆盖并转发到原始方法?如果不通过覆盖,默认组件如何绘制paint?(我也尝试过覆盖paintComponent。没有区别。)

还有另一种方法可以做到这一点吗?我考虑过尝试将原生样式JPanel放在其中,然后制作一个自定义(透明背景)组件作为它的子组件,尽管我不确定如何去做,而且我不确定我会得到无论如何,本机 L&F 表头背景。事实上,我非常怀疑我会得到原生标题样式,只是原生JPanel样式。

基本上,我需要一个自定义表格标题(实际上,单元格也是单独的),但我想避免过多地与原生 L&F 混淆。

谢谢!