首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何为JTable列添加JXDatepicker

为JTable列添加JXDatepicker,可以通过以下步骤实现:

  1. 首先,需要导入JXDatePicker相关的库,可以通过以下命令下载:
代码语言:txt
复制
import org.jdesktop.swingx.JXDatePicker;
  1. 创建一个自定义的JXDatePickerTableCellEditor类,继承自AbstractCellEditor,实现TableCellEditor接口:
代码语言:java
复制
public class JXDatePickerTableCellEditor extends AbstractCellEditor implements TableCellEditor {
    private JXDatePicker datePicker;

    public JXDatePickerTableCellEditor() {
        datePicker = new JXDatePicker();
    }

    @Override
    public Object getCellEditorValue() {
        return datePicker.getDate();
    }

    @Override
    public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
        datePicker.setDate((Date) value);
        return datePicker;
    }
}
  1. 在JTable的初始化过程中,为需要添加JXDatePicker的列设置自定义的JXDatePickerTableCellEditor:
代码语言:java
复制
TableColumn dateColumn = table.getColumnModel().getColumn(columnIndex);
dateColumn.setCellEditor(new JXDatePickerTableCellEditor());
  1. 为了在JTable中显示日期,需要创建一个自定义的JXDatePickerTableCellRenderer类,继承自DefaultTableCellRenderer:
代码语言:java
复制
public class JXDatePickerTableCellRenderer extends DefaultTableCellRenderer {
    private JXDatePicker datePicker;

    public JXDatePickerTableCellRenderer() {
        datePicker = new JXDatePicker();
    }

    @Override
    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
        datePicker.setDate((Date) value);
        return datePicker;
    }
}
  1. 在JTable的初始化过程中,为需要添加JXDatePicker的列设置自定义的JXDatePickerTableCellRenderer:
代码语言:java
复制
TableColumn dateColumn = table.getColumnModel().getColumn(columnIndex);
dateColumn.setCellRenderer(new JXDatePickerTableCellRenderer());

通过以上步骤,就可以在JTable中为指定的列添加JXDatePicker组件,实现日期的选择和显示。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

java winform开发之JTable全攻略

这两天在研究JTable的使用,也有一些收获,所以在这里跟大家分享交流一下,下面的内容将包括:1)JTable的基本用法;2)怎样为JTable添加行点击响应事件,双击后打开窗口;3)怎样为JTable...的行添加标识,如行id等;4)怎样在JTable中动态添加新行;     1)JTable的基本用法: 我用的IDE是NetBeans,由于也是简单做几个页面的客户端,主要还是Web开发的,所以暂时不打算深究...我的习惯是在frame的构造方法来完成,其实通过查API可以得知,JTable支持多种构造方法,而我认为动态生成数据来说,用Vector对象的形式来生成列头配置及数据配置是比较简单直观的方法,下面来看个例子...2)怎样添加行点击事件 首先,在JTable的设计视图中先选中JTable,然后右击,在事件的弹出菜单中依次选中"mouse-click”就可以捕捉表格的点击事件了,在这个事件监听方法中,会传入一个java.awt.event.MouseEvent...4)怎样在JTable中动态添加新行 其实这个问题非常简单,只要根据列模型生成相应的行对象,然后通过调用JTable的model对象的addRow方法就ok了,由于过于简单,所以直接贴代码来说明问题:

1.2K30

java.awt.swing菜单组件

12.3.1 JTable 表格也是Swing GUI编程中常用的组件,表格是一个由行、列组成的二维显示区域,Swing的JTable提供了对表格的支持,通过使用JTable创建表格是非常容易的,它的构造方法如表...JTable类的构造方法 构造方法 功能描述 public JTable() 构造一个默认的JTable,使用默认的数据模型、默认的列模型和默认的选择模型对其进行初始化。...public JTable(TableModel dm, TableColumnModel cm) 构造一个 JTable,使用数据模型 dm、列模型 cm 和默认的选择模型对其进行初始化。...表12.16列举了JTable类的构造方法,它在创建的时候,可以把一个二维数据包装成一个表格,这个二维数据既可以是一个二维数组,也可以是集合元素为Vector的Vector对象,为了给表格每列设置列标题...,还需要传入一个一维数据作为列标题,接下来通过一个案例来演示JTable类的使用,如例12-15所示。

13910
  • Java Swing JTable

    默认情况下,列可能会在JTable中重新排列,以使视图的列以与模型中的列不同的顺序出现。这一点根本不影响模型的实现:对列进行重新排序时,JTable在内部维护列的新顺序并在查询模型之前转换其列索引。...添加表格到容器中有两种方式: 添加到普通的中间容器中,此时添加的jTable只是表格的行内容,表头(jTable.getTableHeader())需要额外单独添加。...此添加方式适合表格行数确定,数据量较小,能一次性显示完的表格; 添加到JScrollPane滚动容器中,此添加方式不需要额外添加表头,jTable添加到jScrollPane中后,表头自动添加到滚动容器的顶部...构造方法 创建空表格,后续再添加相应数据 JTable() 创建指定行列数的空表格,表头名称默认使用大写字母(A, B, C …)依次表示 JTable(int numRows, int numColumns...再把滚动面板添加到其他容器中显示 ? TableModel TableModel 接口指定了 JTable 用于询问表格式数据模型的方法。

    5.1K10

    java swing 添加 jcheckbox复选框

    小贴士二:使用add方法向控件添加内容控件。 ①首先我们需要面板(JPanel)或其他容器控件承载表格(JTable),值得一提的是:由于窗体本身就是容器型控件,您可以考虑将表格单个地放置在窗体上。...②然后我们需要将表格对象创建出来并放入该容器控件,(如JDK_API_1_6_zh_CN.CHM)创建表格控件。...比如上面的例子JTable(TableModel dm),这是JTable的构造方法,需要的是一个TableModel接口类型的参数(这里只是举例,实际运用比较复杂),我们可以使用如下写法:JTable...new MyTableModel:TableModel(){}也就是说大家可以想象成(new TableModel(){})是在声明一个匿名对象,它属于一个不具名的类(如MyTableModel),该类实现了...return false; 55 55 } 56 56 }); 57 57 58 58 // 开始向表格中添加复选框

    3.3K00

    如何在Java中使用Table

    在Java中,表用于将数据排列成列和行。列是表中水平排列的空间,而行是表中垂直排列的空间。列和行之间的交点称为单元格,用于保存单条数据。...,如下所示: JTable table = new JTable (5,3); 上面的语句创建了一个包含5行3列的表。...如何在Java中管理列宽和列高 如果要设置行的高度,可以使用setRowHeight()方法。...要设置列的宽度,可以使用setPreferredWidth()方法。首先,需要创建TableColumnModel类型的列模型。然后,您可以获得所需的特定列,然后设置其首选宽度。...上面显示的代码示例将表直接添加到JFrame容器中。但是,您可以将表添加到滚动窗格中,这样当数据超出容器时,用户可以轻松浏览数据。

    2.2K40

    java swing项目桌面软件还是蛮香的,至少有了我自己的桌面软件|Java 开发实战

    今天看了看自己的java swing的程序,感觉写的还不错,但是发现现在遇到一个瓶颈问题,就是jtable的使用,由于一开始概念不理解现在jtable得重新写,之前我吧数据放在jtable上了,但是真正开发的...下面就Jtable的使用,好好整理了一番,途中参考的文章我都会放在下面列出,读者可以自己参考**JTable结构梳理JTable=TableHeader+TableColumn顾名思义我们知道表格是由表头和表列组成的...//表格的列,需要用户自己设定好private int column;//待加载的数据 数据每行的列数和上面要统一好private List list;public MyTableModel...return getValueAt(0, c).getClass();这样我们就可以显示一些其他的控件了,还有一些比如每行都需要一行按钮来实现修改改行的功能,这些按钮正常我们不需要再数据中添加(避免数据过于庞大...),如果不在数据中添加那么我们的getClass方法就起不到作用,这个用到了下面的知识来解决JTable渲染和编辑这种呢其实就是上面的getClass底层的实现方式,JTable中源码我们上面可以看出JTable

    40010

    Java一分钟之-Swing组件:JTable, JTree, JTextArea

    Java Swing 提供了丰富的组件库,其中JTable、JTree和JTextArea用于展示数据和用户输入。本文将深入浅出地介绍这些组件,常见问题,易错点以及如何避免,同时提供代码示例。 1....JTable JTable用于展示二维数据,如表格形式的数据。它可以从数组、列表或模型中获取数据。...如果没有设置数据源,JTable将为空。 避免方法:使用DefaultTableModel或自定义模型设置数据源。 问题2:滚动面板缺失。...大表格可能超出窗口大小,需要添加JScrollPane。 避免方法:使用JScrollPane包裹JTable。 2. JTree JTree用于展示层次结构的数据,如文件系统或组织结构。...如果未添加子节点,JTree将为空。 避免方法:使用DefaultMutableTreeNode创建树结构,并设置到DefaultTreeModel。 问题2:未设置模型。

    18710

    值得练手的JavaGUI项目——色彩调节器的实现【附完整源码】

    首先是设置调色器窗体和字体,并且根据我们的需要将窗体进行简单的面板布局,在这里我们可以将窗体划分为一行三列,即:第一列摆放三种滑块、第二列显示三种颜色的RGB值、第三列显示当前得到的颜色。...); jp_slide.add(js_blue); 在进行滑块的设置中,我们用到了JSlider控件,也就是滑块控件,在该控件后面对应的三个参数分别是滑块的最小值,滑块的最大值,滑块初始时的默认位置,如代表红色...但是现在我们拖动滑块,在颜色显示区域是没有变化的,因为我们还没有给控件添加相应的事件监听。...Integer.toString(b)); //将对应的颜色进行显示 colorLB.setBackground(new Color(r, g, b)); } 同时在滑块控件上,我们也需要对三种滑块添加监听事件...; import javax.swing.event.ChangeListener; //定义Toning_device类继承窗体类,并且实现接口ChangeListener 监控组件的值发生改变,如滑块的值

    2.4K20

    高级Swing 组件

    例如,调用下面这个方法,就可以将一个新节点作为选定的节点的最后一个子节点添加树,并且将添加的情况通知树视图。...该树将把自己作为一个TreeModelListener添加给树模型。...请运行示例代码中的程序,双击列标题中的一个。你将能够看到表格的各个行是如何被从新安排的,从而可以列的项目进行排序。 但是,我们并没有对数据表格模型中的各个行进行物理上的从新安排。...然后,必须将表格列转换成表格模型的列,如果用户将表格列随意移动的话,那么表格与表格模型的列是不同的。一旦你知道表格模型的列,你就可以对表格行进行排序。...如果你定义了你的表格模型的下面这个方法: ClassgetColumnClass (int columnIndex) 以便返回用于描述列类型的类,那么JTable类就会为该类选折一个相应的绘制器。

    6910

    JTable怎样控制某一列、某一单元格允许或不允许被编辑

    网上有很多关于怎样实现JTable不能被编辑的文章,因为如果不设置的话,双击单元格就会将单元格的内容读入一个默认的编辑器里,很多时候我们并不希望这样的事情发生,所以必须do something来阻止它。...false; } }; 没什么神秘的,就是重写DefaultTableModel的方法isCellEditable方法,但更多的情况下,我们是需要指定表格中某一列或若干列允许被编辑...,如商品列表中的数量,价格等等,这样又如何去实现呢?    ...其实仔细观察一下,这个isCellEditable方法会传两个参数进来,明眼人一看就知道,这分别是单元格的行和列索引,所以,根据这个row和column来控制返回true或false,我们的愿望就能实现了...下面是几个例子,要学会举一反三噢: 1、只允许表格的第三列被编辑 public boolean isCellEditable(int row,int column){ if(column ==

    1.2K10

    java swing 实现数据库的增删查改

    最近一个实习生问我,swing好难啊,就是jtable的增删查改都做不出来了,我也好久没有做了,各种文档,各种查找,各种百度终于是完成了一个小的项目,也就是所说的增删除查改。不废话了,上代码。...修改,删除面板 package ui; import java.awt.BorderLayout; public class QueryPanel extends JPanel { private JTable...JScrollPane scrollPane = new JScrollPane(); add(scrollPane, BorderLayout.CENTER); table = new JTable...; // 创建一个使用下拉框代替编辑框的单元格对象 DefaultCellEditor dept = new DefaultCellEditor(cob); // 获取表格的列model...对象 TableColumnModel col = table.getColumnModel(); // 获取部门的列,设置这个列为下拉框列类型 col.getColumn(

    2.8K31

    MySQL 之 JSON 支持(三)—— JSON 函数

    如果文档中不存在的路径标识以下类型的值之一,则该路径的路径值对会将该值添加到文档中: 现有对象中不存在成员。成员将添加到对象中,并与新值相关联。 超过现有数组末尾的位置。数组将使用新值进行扩展。...下例中创建一个包含 JSON 列的表,然后插入一行包含 JSON 对象: mysql> CREATE TABLE jtable (jcol JSON); Query OK, 0 rows affected...为了说明此函数与 JSON 列一起使用时的行为,创建一个名为 jtable 的表,其中包含 JSON 列 jcol,在表中插入一个 JSON 值,然后使用 JSON_STORAGE_SIZE() 获取该列使用的存储空间...这里还使用 JSON_STORAGE_FREE() 检查了该列的任何部分更新之前所释放的空间大小;由于尚未执行任何更新,因此如预期的那样是 0。...无法部分更新时,会将值直接分配给 JSON 列;在这样的更新之后,JSON_STORAGE_SIZE() 始终显示用于新设置值的存储大小: mysql> UPDATE jtable mysql>

    79010
    领券