JTable中的日期时间选择器

时间:2010-08-25 04:09:22

标签: java swing datetime date jtable

是否可以将DateTimePicker添加到JTable Cell。应该使用日期和时间更新特定列。是否可以将这样的组件添加到JTable

6 个答案:

答案 0 :(得分:3)

答案 1 :(得分:2)

尝试将FLib-JCalendar组件用作JTable中的CellEditor (并在此处发布工作示例,如果你使它工作)

答案 2 :(得分:2)

是的,但您需要同时实施TableCellRendererTableCellEditor。正如@Jens Schauder所建议的,tutorial可能会有所帮助。您还可以使用JCheckBox来查看基于tutorialexample

答案 3 :(得分:2)

LGoodDatePicker库包含三个 TableEditor 类。这些类允许程序员将DatePicker,TimePicker或DateTimePicker添加到Swing JTable(或SwingX JXTable)的单元格中。

公平披露:我是主要开发者。

拾取器类也可以添加到普通的秋千面板或其他摆动容器中。

以下是如何将DateTimePicker添加到JTable的示例:

// Create a table.
JTable table = new JTable(new DemoTableModel());

// Add the DateTimeTableEditor as the default editor and renderer for
// the LocalDateTime data type.
table.setDefaultEditor(LocalDateTime.class, new DateTimeTableEditor());
table.setDefaultRenderer(LocalDateTime.class, new DateTimeTableEditor());

// Explicitly set the default editor and renderer for column index 0.
TableColumn column = table.getColumnModel().getColumn(0);
column.setCellEditor(table.getDefaultEditor(LocalDateTime.class));
column.setCellRenderer(table.getDefaultRenderer(LocalDateTime.class));

我已经在表编辑器演示,选择器组件和完整演示下面粘贴了截图。请注意,该库包含表编辑器的单独演示。它位于此文件夹下的Repository:" LGoodDatePicker / Project / src / main / java / com / github / lgooddatepicker / demo / TableEditorsDemo.java"。

可以从项目Release Page将库安装到Java项目中。

项目主页位于Github上:
https://github.com/LGoodDatePicker/LGoodDatePicker

Table Editors Demo screenshot

Date and TimePicker screenshots

Full Demo screenshot

答案 4 :(得分:2)

只需使用此代码在第0列中设置DatePicker:

    TableColumn dateColumn = YOURTABLE.getColumnModel().getColumn(0);
    dateColumn.setCellEditor(new DatePickerCellEditor());

答案 5 :(得分:0)

通过使用Jens链接的前提并将该逻辑应用于下面的链接,您可以将日期时间选择器添加到JTable中,只需要小心,将JCheckbox,JCombobox和日期时间选择器组合到JTable中焦点得到一个有点凌乱,但我相信它可以用一个专注的听众来解决,它只需要一些时间来实现。

我正在为这样一个表格渲染器工作,并将把它全部包含在内,我将在网上发布它。

链接:date and time picker in JAVA