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

在JTable中添加JSpinner时获取非法参数异常

是由于JTable对于编辑器组件的使用存在一定限制导致的。JTable是Swing中用于展示表格数据的组件,它可以支持对表格中的单元格进行编辑。但是,JTable对于每个单元格的编辑器组件类型是有限制的,不能直接将JSpinner添加为编辑器组件。

要解决这个问题,可以通过自定义TableCellEditor来实现,在编辑器中使用JSpinner来获取用户输入。以下是解决方案的步骤:

  1. 创建一个继承自DefaultCellEditor的自定义TableCellEditor类。在构造函数中,将JSpinner作为编辑器组件传入,例如:
代码语言:txt
复制
class SpinnerEditor extends DefaultCellEditor {
    public SpinnerEditor(JSpinner spinner) {
        super(spinner);
    }
}
  1. 在JTable中使用自定义的TableCellEditor来设置JSpinner作为指定列的编辑器。例如,在第2列中使用JSpinner作为编辑器:
代码语言:txt
复制
JSpinner spinner = new JSpinner();
table.getColumnModel().getColumn(1).setCellEditor(new SpinnerEditor(spinner));

通过以上步骤,就可以在JTable中的指定列使用JSpinner作为编辑器。当用户点击该列的单元格时,JSpinner将会显示,并且可以通过JSpinner来编辑单元格的值。

需要注意的是,以上解决方案中并未涉及到具体的云计算相关内容。云计算是一种通过网络提供计算资源的模式,与JTable中添加JSpinner时获取非法参数异常没有直接关联。若您需要了解更多关于云计算的信息,可以参考腾讯云提供的相关产品和服务,如腾讯云云服务器、对象存储等。具体产品和服务介绍可以参考腾讯云官方网站。

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

相关·内容

Java Swing用户界面组件:复选框+ 滑块+组合框+边界+单选按钮

选择组件 前面已经讲述了如何获取用户输入的文本。但是在很多情况下,可能更加愿意给用户几种选择而不是让用户在文本组件中输入数据。给一组按钮或者一列选项让用户做出选择。(这样也免去了检查错误的麻烦。)...在Swing中实现单选按钮组非常简单。为单选按钮组构造一个ButtonGroup类型的对象。 然后,把JRadioButton类型的对象添加到按钮组中。...当用户从组合框中选择一个选项时,组合框就会产生一个动作事件。为了判断哪个选项被选择,可以在事件参数上调用getSource方法来得到发送事件的组合框的一个引用。...JSpinner组件 JSpinner是带有两个小按钮的文本域。当点击它时,可以增加或减少文本域的值(见图9-20)。...如果该值不可接受,则抛出IllegalArgumentException异常。当覆盖这个方法时,在设置新值之后应该调用fireStateChanged。

7.2K10

java winform开发之JTable全攻略

的行添加标识,如行id等;4)怎样在JTable中动态添加新行;     1)JTable的基本用法: 我用的IDE是NetBeans,由于也是简单做几个页面的客户端,主要还是Web开发的,所以暂时不打算深究...要传入两个Vector的实例,第一个是保存数据的Vector,第二个参数是保存列头信息的Vector,在 示例中的dataVector是通过遍历一个list对象而动态填充内容的,在实例化并初始化好Vector...2)怎样添加行点击事件 首先,在JTable的设计视图中先选中JTable,然后右击,在事件的弹出菜单中依次选中"mouse-click”就可以捕捉表格的点击事件了,在这个事件监听方法中,会传入一个java.awt.event.MouseEvent...添加行标识 我们知道,JTable的每一个单元格,要求的值类型是一个Object的实例,也就是说,只要是一个对象就可以了,这个机制,给了我们非常大的发挥空间,我们可以在一个单元格中存放任意类型的对象,...4)怎样在JTable中动态添加新行 其实这个问题非常简单,只要根据列模型生成相应的行对象,然后通过调用JTable的model对象的addRow方法就ok了,由于过于简单,所以直接贴代码来说明问题:

1.2K30
  • Java Swing JTable

    请注意,如果希望在独立视图中(在JScrollPane外部)使用JTable并希望显示标头,则可以使用getTableHeader()获取它并单独显示它。...使用情况的完整示例,涵盖了如何使用JTable提供从数据库获取的数据的可编辑视图以及如何修改显示中的列。...添加表格到容器中有两种方式: 添加到普通的中间容器中,此时添加的jTable只是表格的行内容,表头(jTable.getTableHeader())需要额外单独添加。...此添加方式适合表格行数确定,数据量较小,能一次性显示完的表格; 添加到JScrollPane滚动容器中,此添加方式不需要额外添加表头,jTable添加到jScrollPane中后,表头自动添加到滚动容器的顶部...,并支持行内容的滚动(滚动行内容时,表头会始终在顶部显示)。

    5.1K10

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

    2、先将JTable加入jscrollpane(滚动条)中,然后在将滚动条加入到对应的控件中(Jpanel或者是Jframe).java swing 开发中加入滚动条是很常见的操作,所以这种方式的加入表格还是很推荐的...然后在getValueAt获取指定行数的list的指定内容就可以填充到表格上了。...其他的方法参数和他一样。通过上面就可以轻松实现JTable的CURD操作。...的方法是JTable决定显示类型的主要依据,源码中返回的默认是object.class,这就意味着我们在jtable是true或false或其他类,在这里都会返回object.class,那么jtable...),如果不在数据中添加那么我们的getClass方法就起不到作用,这个用到了下面的知识来解决JTable渲染和编辑这种呢其实就是上面的getClass底层的实现方式,JTable中源码我们上面可以看出JTable

    40010

    如何在Java中使用Table

    在Java中,开发人员可以使用JTable方法在其应用程序中创建表。JTable是从JComponent类继承的Swing组件。 如何在Java中创建表 要创建表,需要创建JTable类的实例。...您需要在其构造函数中为要构造的表提供两个参数(row和column),如以下示例代码段所示: JTable table = new JTable (row, column); row和column的值可以由两个整数值组成...此外,在向用户演示时,所有数据都被视为字符串。 另一个值得关注的问题是,如果您在数据库对象中查询特定值,则必须将所有值复制到数组或向量中。 为了避免这些问题,您可以使用模型创建表格。...(2).setPreferredWidth(200); 小结 在本编程教程中,程序员学习了如何使用JTable或表模型在Java中创建表。...上面显示的代码示例将表直接添加到JFrame容器中。但是,您可以将表添加到滚动窗格中,这样当数据超出容器时,用户可以轻松浏览数据。

    2.2K40

    java.awt.swing菜单组件

    在应用系统开发中,菜单组件是经常使用的组件,菜单组件包括下拉式菜单和弹出式菜单。下拉式菜单包含若干个菜单项,每个菜单项在用户单击时引发一个动作,菜单可以看做一组层次化管理的命令集合。...12.3.1 JMenu 在Java中实现下拉式菜单,可以使用JMenu菜单组件。...例12-13运行结果 图12.15中,运行程序先创建了JFrame窗体,然后创建菜单栏、菜单、菜单项,调用setJMenuBar(JMenuBar menuBar)方法将菜单栏添加进窗体,在“退出”菜单项中添加事件监听...例12-14中,先创建了JFrame窗体,然后创建菜单、菜单项,在“退出”的菜单项中添加事件监听,点击“退出”窗体就会关闭,最后为JFrame窗体添加鼠标点击事件监听器,实现右键弹出菜单的效果。...例12-15运行结果 图12.17中,程序运行先创建了JFrame窗体,然后定义了表格标题和数据的两个数组,最后创建JTable时将两个数组以参数传入,利用JTable类成功展现了一个表格。

    13910

    java超市仓库管理系统(超市条形码管理系统)

    JScrollPanel(内嵌JTable),用来显示所有商品的信息;添加两个JLabel用于显示查询提示信息;添加JTextField用于输入商品商品名称;添加2个JButton,分别用来实现商品查询及添加商品...图1 2、在“商品名称”对应的JTextField中输入商品名称,单击“查询”:如果存在该商品,则显示如图2所示的窗体;若输入的名称不存在,则弹出“没找到该商品!”的对话框。...图2 3、单击“添加商品”按钮,弹出如图3所示的窗体,此时必须输入所有商品信息, 否则将弹出如图4所示的对话框;当商品信息输入完毕,单击“确定”按钮,实现商品的添加, 在弹出如图5所示的对话框后,释放窗体...JPanel中的控件时,必须设置其大小,当然JPanel对象亦然,否则很有可能不能正常显示。...public void actionPerformed(ActionEvent arg0) { dispose(); } }); } } 特别说明: 项目中有一处代码错误,导致添加商品中的价格会获取到数量

    3.5K20

    java swing 添加 jcheckbox复选框

    小贴士:使用setLayout设置布局,参数传递null; 讨论一下怎样在窗体的表格中显示复选框。即实现如下效果: ? 小贴士二:使用add方法向控件添加内容控件。...而一般情况使用JTable(Vector rowData,Vector columnNames)       在Java方法中,如果参数需要传递接口,可以在调用方法时传递一个(匿名)对象,该对象是一个不具名的类的实例...比如上面的例子JTable(TableModel dm),这是JTable的构造方法,需要的是一个TableModel接口类型的参数(这里只是举例,实际运用比较复杂),我们可以使用如下写法:JTable...在详细说明之前先解释一下JTable的显示原理:       首先是数据来源,您使用JTable的构造方法,大部分重载中参数即包含了数据,比如JTable(VectorrowData, Vector columnNames...return false; 55 55 } 56 56 }); 57 57 58 58 // 开始向表格中添加复选框

    3.3K00

    图书管理系统代码 4SearchFrame (…

    ("按编号",true); Radio_name   = new JRadioButton("按书名"); Radio_author = new JRadioButton("按作者"); // 将按钮添加到按钮组中...int m = Integer.parseInt(textField.getText()); book_search =(Book)obo.readObject();//先读取第一个对象 // 如果文本框中输入的文字出现在某个对象中执行以下操作...Radio_author.isSelected()){ int m=0; do{ if(m<=n){ book_search =(Book)obo.readObject();//先读取第一个对象 // 如果文本框中输入的文字出现在某个对象中执行以下操作....printStackTrace(); }catch(FileNotFoundException e6) { } catch (IOException e2) { // 当所选择的分类没有一个书籍对象时  ...BorderLayout.SOUTH); //设置面板布局 centerPanel.setLayout(new BorderLayout()); southPanel.setLayout(new FlowLayout()); // 获取父类传入的二维表格并添加入窗体

    1.2K20

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

    蓝三种滑块、然后当我们拖动滑块使三种颜色的RGB值发生改变时,利用ChangeListener对事件进行监听,获取到三种颜色对应的RGB值,并且在窗体中将对应得到的颜色显示出来即可。...,我们用到了JSlider控件,也就是滑块控件,在该控件后面对应的三个参数分别是滑块的最小值,滑块的最大值,滑块初始时的默认位置,如代表红色RGB值的滑块,最小值是0,最大值是255,当程序运行时滑块默认处于的位置是...但是现在我们拖动滑块,在颜色显示区域是没有变化的,因为我们还没有给控件添加相应的事件监听。...同时,继承ChangeListener 这个接口的类(监听者)需要重写stateChanged(ChangeEvent e1) 方法,在该方法中对事件进行处理。...在该项目的stateChanged(ChangeEvent e1) 方法中,我们需要获取到三种滑块的RGB值,然后将对应的数值和颜色在窗体进行显示: @Override public void stateChanged

    2.4K20

    高级Swing 组件

    "; } 输出结果,如下图13.1 ​列表模型​ 上面介绍了使用列表组件的最常见的方法,这些方法是: n 指定一组在列表中显示的固定的字符串 n 添加一个滚动条 n...参数:list 要绘制其单元格的列表 item 要绘制的项目 index 项目存放在列表模型中时使用的索引 isSelected * 如果设定的单元格被选定,则返回true hasFocus 如果设定的单元格拥有该焦点...如果你的树实际上可以进行节点的添加和删除,那么你只需要考虑如何触发这些事件。在示例代码中,我们将要讲述如何触发一个事件,也就是如何用一个新对象来取代根节点。...它能够计算出单元格的值,或者从别的某个地方获取这些值。 在本节中,我们将要介绍另一个非常有用的技术,即过滤器模型(filter model),它可以用于显示来自另一个表格的,采用另一种格式的信息。...当JTable需要查看某个值时,过滤器模型便计算实际的行索引,并且从模型中获取该值。

    6910

    Java JDK 环境搭建

    当我们没有配置 jdk 的环境变量时,在 jdk/bin 目录外是运行不了 javac.exe (java 编译器) 和 java.exe (java 解释器) 的。...二、环境变量全局识别的原理 当在命令行中执行的程序不存在时,Windows 系统会在本地已有的一个名为 path 的环境变量中查找路径列表中是否存在目标程序。...若不用 JAVA_HOME 这个名字当参数名,那么当这些软件需要检索 JAVA_HOME 时,就需要先去手动修改相应的配置文件,才能使用这些软件,并且即便修改后也有发生故障的可能性,何必呢?...)(.jar)文件所在的位置,就如在引入一个类时:import javax.swing.JTable 这句话是告诉编译器要引入 javax.swing 这个包下的 JTable 类,而 classpath...(当前路径) 变量名:Path 变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 注意:在 Windows10 中,Path 变量里是分条显示的,我们需要分开添加,否则无法识别

    47520

    我肚子里可能有一瓶代码,但肯定没有一滴墨水

    最近在忙着Java课设和复习,没啥时间更新文章,所以对每个关注 Tom的小院 的大家伙说个sorry 今天呢,就说两件事: 第一件标题 第二件是课设的小知识点 (一) 先说这个标题,就是在我24小时肝完课设...取到多条数据之后 不知道如何添加到JTable中 就是现实多线数据 最后经过多方的努力 和Hony哥的指导下 用了一个叫做ArrayList的东西 实现了展示数据的功能 那么ArrayList是个啥呢...也就是说这个数组比String数组好用 因为它不用设置长度 还可以自己增加长度 所以,我在写课设时就使用了这个ArrayList 上图是我程序的代码,实现了给JTbale添加数据 其实我现在中介一下...data这个二维String数组的 第i行 然后在加到JTable中 通过: table.setModel(new DefaultTableModel(data,columnName)); 就可以实现给...JTable添加数据库的数据了 所以在这,感谢Hony哥的思路 也感谢老师最后的验收 但是,oh,我还要写报告- 可我的肚子里没有一滴墨水啊 最后让我们用James的Taco Tuuuuuesday

    31030
    领券