- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 stackoverflow 中找到了一段代码,它允许表有一个自定义单元格编辑器作为 JTextField
。
我一直在阅读一些有关单元格编辑器的文章,并且了解每个抽象方法的一些行为。
class tableText extends AbstractCellEditor implements TableCellEditor {
JComponent component = new JTextField();
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected,int rowIndex, int vColIndex) {
((JTextField) component).setText((String) value);
return component;
}
public Object getCellEditorValue() {
return ((JTextField) component).getText();
}
}
当我想编辑表格中的单元格但我想向其中添加一些代码但我不确定将它们放在哪里时,此代码允许我添加一个JTextField
。
我想添加的行为是这样的:
当单击单元格并出现 JTextField
时,如果用户按下数字键,它将用新值替换旧值。
如果单元格的值留空,则将保留原始值。
我知道如何制作这些代码,但我不知道将它们放在哪里。
有人可以指导我吗?
最佳答案
If the user pressed a numeric key, it will replace the old value with a new one.
如图here ,您应该使用带有 JTextField
的 DefaultCellEditor
作为单元格编辑器。重写表格的 editCellAt()
方法并选择编辑器的文本,以便在用户键入时立即替换旧值。
final Component editor = getEditorComponent();
…
((JTextComponent) editor).selectAll();
如有必要,请添加 DocumentListener
检查各个击键或 DocumentFilter
强制输入数字。
If the cell's value was left blank, the original value will be retained.
按Escape键取消编辑并恢复原始值。
关于java - TableCellEditor:按下按键清除原始文本;如果没有给出输入则保留值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37873718/
我在编辑单元格时遇到问题,我会画图,因为我的英语不是很好。 我添加了一个TableCellEditor(扩展了一个DefaultCellEditor,我知道这不是最好的,但代码不是我的)。当我输入字母
我试图在每一行的末尾添加按钮,到目前为止我已经使用 cellRenderer 来做到这一点。并且我已经成功地在每一行中显示按钮,就像在快照中一样。 但是当我单击按钮时,没有任何操作发生。我想在单击按钮
我正在编写一个带有自定义单元格编辑器的JTable,该编辑器会打开一个对话框以允许用户在第二个表中编辑更多值。问题是,第二个表中的更改没有反射(reflect)在第一个表中,并且基本上丢失了。我使用了
所以我有很多表格和很多单元格编辑器,里面有很多东西。我想我应该重用它们,而不是每次都执行 new() ,因为整个事情都设置了 getTableCellEditorComponent() 但仍然,几乎每
我有一个 JTable。 JTable 中的一列分配有一个扩展的 TableCellEditor,用于显示扩展的 JComboBox。 有一个包含 100 个 String 对象的固定列表用于填充组合
我有一个带有自定义 TableCellRenderer 和自定义 TableCellEditor 的 JTable。默认情况下,第一次单击表格行会从渲染器切换到编辑器,第二次单击选择该行。 有什么方法
所以我有自定义的 CellEditors 和 CellRenderers,尽管我正在这样做 component.setForeground(isSelected ? table.getSelectio
我在 stackoverflow 中找到了一段代码,它允许表有一个自定义单元格编辑器作为 JTextField。 我一直在阅读一些有关单元格编辑器的文章,并且了解每个抽象方法的一些行为。 class
在下面的示例中,我有一个 JTable、一个 JList 和两个 JButton(添加和删除)。列表中有 6 个项目(字符串),当单击“添加”按钮时,所选值将添加到表中。 表中的字符串使用自定义呈现器
我遇到了一个奇怪的错误。我的歌曲列表位于 JFrame 的右侧。当我在任何项目上单击一次时,它会执行我想要的操作:将颜色设置为灰色。但是双击它会显示我的自定义表格单元格的类描述符。 当我点击一次(正确
我已经左对齐我的单元格渲染器,但我如何左对齐我的单元格编辑器?当我编辑其中一个单元格时会发生这种情况 import java.awt.BorderLayout; import javax.swing.
我尝试实现一个包含一些字段和删除按钮的 TableCellEditor。它运行良好,但当行被删除时,被删除单元格中的内容(使用 TableCellEditor 呈现)未更新。 当删除行时,我尝试在模型
我有一张 table 。该表更新数据库的更改。一列由该表中的 JComboBox 编辑。单击该列中的任何单元格都会触发 tableChanged 事件。但是,需要在选择 JComboBox 的项目后触
TableCellEditor 中的 JComboBox 记住不同行甚至不同TableModels 中最后选择的值。例如,在一行上选择一个值,然后转到另一行,开始单元格编辑,JComboBox 会将上
我有一个 TableCellEditor ,它重写 stopCellEditing 来验证内容。作为此验证的一部分,我想与表进行交互。有没有办法确定我们正在编辑哪个表?我认为它会是 getParent
我制作了一个显示 JPanel 的自定义 TableCellRenderer。当 JPanel 包含交互式元素时,我希望它们也能工作,所以我制作了一个自定义 TableCellEditor。它可以工作
我是一名软件开发学徒,必须为我的公司编写图形项目特定的配置编辑器。我使用 Apache POI 从项目的配置 excel 文件中加载数据,并将数据包装到 ConfigValue 对象中。对于不同的 C
我在表格单元格中使用自定义 TableCellRenderer 和多个 JFormattedTextField。我使用与 TableCellEditor 相同的组件。现在我需要知道用户点击了什么 JF
MyTableCellEditor 的目的是使 JTable 单元格的行为类似于 Excel 单元格,IOW,单击单元格后输入值会覆盖而不是附加到现有值。我没想到下面的代码在第一遍就可以工作,但我确实
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 9 年前。 Improve this ques
我是一名优秀的程序员,十分优秀!