当前位置: 首页 > 面试题库 >

具有复杂编辑器的JTable

终翔
2023-03-14
问题内容

我有许多JTable的自定义编辑器,可以说是缺乏可用性,尤其是在使用键盘进行编辑方面的可用性。

这样做的主要原因是,我的编辑器总是以类似(尽管通常更复杂)的情况创建:

@Override
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
  JPanel container = new JPanel();
  container.setLayout(new BorderLayout());
  container.add(field, BorderLayout.CENTER);
  field.setText((String) value);
  container.add(new JButton("..."), BorderLayout.EAST);
  return container;
}

IE面板内部有多个组件。实际的文本编辑器是作为编辑器返回的组件的后代。因此,除了呈现问题之外,据我所知,JTable集中了getTableCellEditorComponent方法返回的组件,因此当您按下突出显示单元格的按键时,它将焦点和按键传递给面板,认为是编辑器。
无论如何,我可以告知JTable“真正的”编辑器是JTextfield吗?requestFocusInWindow在正确的组件上添加hacky
是不够的,因为按键不会继续传递。


问题答案:

在此处和此处查看一些相关文章。

另一个关于JTable编辑的好文章。



 类似资料:
  • 我使用Spring JPA规范来创建标准查询。我的代码如下所示: 我被告知这是一种糟糕的方法,我应该使用投影(DTO)从数据库中读取,因为创建实体并在之后映射它们很昂贵。问题是我不知道如何将规范与DTO相结合。要使用包含嵌套 DTO 和大量属性的复杂 DTO 来管理复杂和动态查询(来自用户输入的筛选器等)的最佳方式是什么?

  • 问题内容: 我有4个不同的表: table_price_product(包含与产品及其价格有关的信息) table_price_list(包含与价目表相关的信息) prices_per_client(包含与给定特定产品的不同客户的价格相关的信息) 客户(包含与客户相关的信息) 这是我的SQL FIDDLE:LINK 我懂了: 现在,我想在一个查询中获得与产品和客户有关的所有数据,分别用CLASS

  • 我有2个实体(这只是一个简化的例子,不是真正的实体): 当我尝试使用order By编写查询时,Hibernate崩溃: 原因:java.sql.SqlSyntaxerRoreXception:ORA-01791:不是选定的表达式

  • 我正在用查询构建一个存储库,该查询使用一个复杂的类型参数进行筛选,如下所示: 类是一个简单的POJO: null 谢了!

  • 我试图使用和实现以下缓存逻辑: 如果过期时间已经过去,条件(需要计算和I/O)被评估为TRUE,然后强制获取数据并更新缓存。 如果过期时间已经过去,条件(需要计算和I/O)被计算为FALSE,那么不要使缓存数据无效,并从缓存中检索值。 如果过期时间未过,则从缓存中检索该值。 我按照这个指南工作:https://www.baeldung.com/spring-boot-caffeine-cache