首页
学习
活动
专区
工具
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 Swing JTable

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

4.9K10

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.1K40

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

17910

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:未设置模型。

13310

值得练手的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.3K20

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

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

1K10

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>

10310

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.7K31

eclipse swing开发_学生教务系统登录

系统展示 1.登录页面 2.学生端-主页面 3.学生端-课程选择 4.学生端-查看已选课程 5.学生端-修改密码 6.学生端-学生信息查询 7.管理员-主页面 8.管理员-查看选课情况 9.管理员-添加课程...登录页面 2.学生端-主页面 3.学生端-课程选择 4.学生端-查看已选课程 5.学生端-修改密码 6.学生端-学生信息查询 7.管理员-主页面 8.管理员-查看选课情况 9.管理员-添加课程...; this.resetValue(); } else { JOptionPane.showMessageDialog(this, "课程添加失败!")...; } } catch (Exception e) { e.printStackTrace(); JOptionPane.showMessageDialog(this, "课程添加失败!")...发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

2.5K40
领券