Tag: tablecellrenderer

如何在Swing的JTable列中添加不同的JComboBox项目

我想在第一列的JTable(3,3)中添加JComboBox。但是在第一列中,每一行都有自己的一组ComboBox元素。 当我尝试使用 table.getColumnModel().getColumn(1).setCellEditor(new DefaultCellEditor(comboBox_Custom)); 每行都被设置为相同的一组ComboBox值。 但是我希望每行ComboBox都有不同的项目。

TableCellRenderer以及如何刷新单元格背景而不使用JTable.repaint()

可以正确地刷新基于外部值的背景,而不必强制重绘table.repaint(); 基于,使用和由kleopatra和气垫船充分的鳗鱼做的伟大的代码testing 对于Java6 / 7是有效的,因为API没有任何变化 我的SSCCE工作正常,通过JTable.repaint()重新绘制 import java.awt.BorderLayout; import java.awt.Color; import java.awt.Component; import java.awt.GridLayout; import javax.swing.DefaultComboBoxModel; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.SwingUtilities; import javax.swing.border.EmptyBorder; import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.DefaultTableModel; public class MyTableAndRenderer { private JFrame frame = new JFrame(); private JPanel panel = new JPanel(); private String[] items = {"Item […]

如何在swing中实现dynamicGUI

首先,对于发布某些东西可能有点过分的道歉,但我对Swing并不是很有经验,似乎也找不到符合我需求的好例子。 所以我试图找出实现dynamicGUI的最佳方式,以便在Swing中select过滤条件: 基础模型是一个包含可以被否定的标准列表的类(即,应用NOT-前缀)以及指示这些标准是否应该与AND或OR组合的属性。 GUI将允许用户添加,更改或删除条件,并select组合运算符(和/或)。 第一个标准自然不会有一个组合select器,第三个和后续的标准将简单地使用与第二个标准相同的组合运算符。 右侧的Xbutton将用于删除标准。 当按下添加button时,一行新的组件将被添加到底部。 随着变化,这些将反映在基础模型中。 当然,我可以通过简单地将组件添加到一个JPanel然后相应地更新模型来实现这个function,但是我更喜欢一个整洁的解决scheme,比如TableModel提供的解决scheme。 所以我想知道如果一个自定义TableModel和TableCellRenderer /编辑器的表是最好的方法,或者如果有更好的方式来实现这样的事情。 如果表确实是最好的方法,我将不胜感激指望如何使用TableCellRenderers或 – 编辑来实现这一点。 提前致谢。

如何在单元格编辑后维护JTable单元格渲染

在最后一个问题上,你们真的非常棒,指出了我的正确方向,而且我在这里还有一个原始问题的延伸: 如何设置一个JTable列作为string和sorting为双? 现在我已经使用自定义单元格渲染器将我的价格列格式化为$ ###,## 0.00,现在我也为单元格设置了一个JTextField编辑器。 单元格的编辑工作得很好,除了值更新的时候,在自定义渲染器中设置的数字格式不再像格式化单元格(我放弃$提交之后的编辑提交)。 即使在初始显示数据之后,这个渲染器是否应该渲染单元格? 我曾尝试使用以下运气: ((AbstractTableModel) table.getModel()).fireTableDataChanged(); 我希望这将迫使表重新validation和重新绘制使用自定义渲染器来渲染新值的单元格,但是这不幸的是没有工作… 我错过了什么…显然,但是什么?