问题标签 [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.
java - JTable - 单元格编辑器不够高,无法容纳文本
我正在使用带有标准单元格编辑器的标准 JTable 来编辑字符串值。在某些平台上,当打开单元格编辑器时,文本不适合其中并且部分文本被剪切。例如“_”符号不可见,以及“l”和“1”很难区分,因为符号的上部可能被切割。
可能我应该只增加单元格的高度,但要增加多少?
结果很大程度上取决于当前的 Look & Fell,例如在 Windows 上一切可能都很好,但在 Linux 上出现描述的效果。
java - CustomTableCellRenderer 的 Netbeans 问题
我正在尝试向我的 JTable 添加不同的数据类型(以使 JTable 以正确的方式对整数列进行排序),同时渲染表以查看奇数行比偶数行更暗。
我的 TableCellRenderer 有以下代码:
DataModel 代码是这样的:
我正在使用 new Integer( some_integer ) 向表中添加新的整数值。
运行代码时,表格以正确的方式呈现(奇数行和偶数行具有不同的颜色),但具有整数值的列除外。它们只是白色的,就像它们不受渲染器的影响一样。
请向我解释一下,如何解决这个问题。提前致谢。最大限度。
java - 在 JTable 中显示钱,但保留作为双精度排序的能力
我有一个 JTable,其中一列是以美元和美分为单位的金额。我将此 TableColumn 定义为 Double 并且它正确对齐,并且在排序时,它会将其排序为双精度(而不是字符串)。这一切都很好。我现在的问题是它会截断尾随零。100.00 显示为 100 0.00 显示为 0,等等。我尝试了 TableCellRenderer,但尽管这会导致货币列显示尾随零,但现在所有金额都是左对齐的,JTable 将其视为字符串。
我希望尾随零保留在显示中,但也保留数据类型,以便进行排序和右对齐。如果有更好的方法可以做到这一点,则数据类型不需要是双精度。
java - Swing JTable - 以与所选行的其余部分不同的颜色突出显示所选单元格?
我有一个基本的摇摆 JTable,要求是当单击任何单元格时,应突出显示整行,并且单击的单元格应与突出显示行的其余部分颜色不同。
目前,我将isRowSelectionAllowed 设置为true
我尝试使用自定义TableCellRenderer,如下所示:
但这似乎不起作用(整行以红色突出显示)。
我还尝试如下设置 UIManager 属性:
但这似乎也不起作用(即使当我尝试使用
效果很好)
您能否提出任何建议,我可能需要做什么?
java - JTable的TableColumn添加多个JProgressBar
我已经添加JProgressBar
了多个TableColumn
。JTable
在进行某些计算后,我正在用数据更新所有 JProgressBar,但只有最后一个ProgressBar
(在本例中ProgressBar
progressObj4
)被添加。
我怎样才能更新所有的ProgressBar
s?
基本要求是我在上传时显示文件进度条的状态。目前我正在硬编码 4 个进度条来测试所有进度条是否都在更新文件的状态,但我需要动态创建它们。进度条的总数与正在上传的文件的数量有关。另外,如何获取进度条的各个实例并更新它们的状态?
我正在将进度条的源代码附加到表格列中。
java - JTable中的颜色渲染器是否是不可编辑的字段?
我在 JTable 中有 3 列。一列是可编辑的。其他列不可编辑。可编辑列应显示为绿色,不可编辑列应显示为红色。我已经尝试过DefaultRenderer
上课,但它不起作用。请如果有人知道这一点,请帮助我。
java - JTable 无法更改第一列的颜色
我尝试根据字段的值更改 JTable 中字段的颜色。我不想更改第一列的任何颜色,但无论如何都会以错误的方式更改(某些文件未正确归档,例如 University 和 Possible_Reviewer):
我的代码如下:
奇怪的是,当我使用“col == 2”时,它会将第二列变成白色,但第一列仍然是奇怪的颜色。
任何人的想法?
java - JTable自定义单元格渲染器焦点问题
我有一张这样的桌子。第二列使用 JTextField 渲染器,第三列使用基于 JPasswordField 的渲染器和编辑器。
看起来挺好的。但问题是我们必须输入值并且必须点击“ENTER”。在该图像中,我输入了密码,但没有按 Enter。因此,如果我单击“保存并关闭”按钮,它将向我显示密码字段为空的错误。
以前我只在 JTabbedPane 下使用了 JTextFields 和 JPasswordFields,而且效果很好。当我不得不添加越来越多的东西时,我将其更改为这样的表格。
现在我已经贴了一个标签,让人们知道他们应该按 ENTER 键。这不好。另一个大问题。至少在 Nimbus 外观和感觉中,我们知道该领域仍然是焦点。在 Windows 系统外观中,该字段是否被聚焦并没有太大的明显差异。
当我单击“保存并关闭”按钮时,我需要用户名字段或密码字段来设置它的值。请帮我。
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),要么走另一条路(总是在第一次点击时进入单元格)。如果可能的话,我更喜欢第一个选项。
感谢任何可以提供一些见解/帮助的人!
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 混淆。
谢谢!