首页
学习
活动
专区
工具
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.1K10

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后,表头自动添加到滚动容器的顶部...,并支持行内容的滚动(滚动行内容,表头会始终顶部显示)。

    5K10

    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

    33310

    如何在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.1K40

    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

    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 变量里是分条显示的,我们需要分开添加,否则无法识别

    46920

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

    最近在忙着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

    30630

    Java面试系列9

    java的保留字,现在没有java中使用。 ✎二、必须要知道的运行时异常 ArithmeticException 是出现异常的运算条件,抛出此异常。...HeadlessException 不支持键盘、显示器或鼠标的环境调用与键盘、显示器或鼠标有关的代码,被抛出的异常。...IllegalFormatException 当格式字符串包含非法语法,或者包含与给定参数不兼容的格式说明符,将抛出未经检查的异常。...IncompleteAnnotationException 若某个注释在编译(或序列化)后将某个注释类型添加到其类型定义,而程序试图该注释类型的元素,抛出此异常。...KeyAlreadyExistsException 当添加到表格数据 实例的行索引已用于引用此表格数据 实例的另一行,抛出此运行时异常

    2K40
    领券