在遵循文档之后,我正在使用Java8:HowtoUseTables-UsinganEditortoValidateUser-EnteredText我想在编辑JTable中的列时设置专门的格式化程序.此列包含java.time.LocalTime实例。JTabletable;...table.setDefaultEditor(LocalTime.class,newLocalTimeEditor());其中LocalTimeEditor定义为(暂定):publicclassLocalTimeEditorextendsDefaultCellEditor{JFormattedTextField
我在我的应用程序中使用JTable,并希望有2行标题,类似于:这甚至可能吗,还是我必须做其他事情?如果是这样,什么?使用Supertitle-titleA,SuperTitle-titleB会占用太多空间并使信息冗余。 最佳答案 我们在上一个项目中有相同的要求。我发现的是GroupableTableHeaderonjava2s.com的实现.然而,我对它做了一点拉皮条,虽然我不记得具体是什么。下面是这三个类的实现以及我们如何使用它们。列组.javaimportjava.awt.Component;importjava.awt.Dim
我需要在JScrollPane中创建一个具有可调整列大小的JTable(当用户增加列宽时-出现水平滚动条)。为此,我使用了table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);。此外,当视口(viewport)足够宽以包含整个表格时-列应拉伸(stretch)以填充视口(viewport)宽度。为此,我重写了JTable类的getScrollableTracksViewportWidth()方法,如下所示:@OverridepublicbooleangetScrollableTracksViewportWidth(){returngetPref
我在JScrollPane的视口(viewport)中使用第二个JTable来为主表构建RowHeader。主表上的DragAndDrop被禁用。在行标题表上启用DnD。如果用户开始拖动行标题,我想将绘制的行标题下垂线(图像中的黑线)延伸到主表(如图像中的绿线)上。有人对我有什么建议吗?这是SSCCE:importjava.awt.Component;importjava.awt.EventQueue;importjava.awt.Font;importjava.awt.datatransfer.StringSelection;importjava.awt.datatransfer.T
我搜索了很多并得到了这个问题的一些答案。但其中很多都提到了给出404错误的链接。我想制作这样的表格:Java中有这方面的方法吗? 最佳答案 MultiSpanCellTableExample演示如何通过创建自定义TableUI来合并单元格。此示例中似乎存在导致StackOverflowError的问题,至少在Java6中是这样。要解决此问题,请在AttributiveCellTableModel.setDataVector()中替换:setColumnIdentifiers(columnNames);与:this.columnIde
我有一个JTable,如下所示。因此,当JTable仍处于编辑模式时(键盘光标在Dividend列闪烁),直接单击“确定”不会将数据提交到表模型中。单击“确定”仅关闭对话框。我需要明确地按ENTER键,以便将数据提交到表模型中。当JTable仍处于编辑模式时,在关闭对话框之前,有什么方法可以告诉JTable说“嘿,是时候将更改提交到模型中了”这个对话框的源码如下DialogBoxSourceCode.请查看jButton1ActionPerformed以了解按下OK时执行的代码。 最佳答案 我不确定它是否有效(如果有SCCE就好了)
我正在制作一个表格,表格下方有一个文本字段,您可以在其中输入一个词来过滤表格。它有效,但我想做的是能够用输入的单词过滤它,但忽略单词的大小写。有没有一种方法可以在不创建自定义RowFilter的情况下完成此操作?您可以运行这个SCCEE看看我在说什么。我希望能够输入usa,它会过滤USA。importjava.awt.BorderLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JApplet;importjavax.swing.JButton;im
使用下面的示例代码:Stringcolumn_names[]={"SerialNumber","MedicineName","Dose","Frequency"};table_model=newDefaultTableModel(column_names,3);table=newJTable(table_model);我们想用上面的代码在column_names中设置带有列名称的标题,但它不起作用。尽管正在创建表,但标题不可见。 最佳答案 为了能够看到标题,您应该将表格放在JScrollPane中。panel.add(newJScr
我有一个使用DefaultTableModel的JTable,我允许在用户单击列标题时进行排序。但是,当用户单击具有整数类型数据的列的标题时,它不会正确排序。看起来它是按String而不是整数类型排序。这是我实际将数据添加到表中的代码部分:DefaultTableModelaModel=(DefaultTableModel)mainView.logEntryTable.getModel();ResultSetMetaDatarsmd;try{mainView.logEntriesTableModel.setRowCount(0);rsmd=rs.getMetaData();intcol
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭10年前。我想从JTable中删除一些行。我该怎么做?