JRuby和Swing DefaultTableModel(“没有参数匹配[…]的构造函数”)
我使用JRuby中的Swing,并尝试使用TableModel作为输入设置JTable。JRuby和Swing DefaultTableModel(“没有参数匹配[…]的构造函数”),swing,jruby,Swing,Jruby,我使用JRuby中的Swing,并尝试使用TableModel作为输入设置JTable。 表_标题看起来像这样:[“bla”、“narf”、“poit”] 表_数据看起来像这样:[“一”、“二”],[“测试,测试”],[“你好”,“世界”]] my\u model=javax.swing.table.DefaultTableModel.new(表数据、表标题) 导致 C:/jruby/lib/ruby/site\u ruby/shared/builtin/javasupport/java.rb:
表_标题看起来像这样:[“bla”、“narf”、“poit”]
表_数据看起来像这样:[“一”、“二”],[“测试,测试”],[“你好”,“世界”]]
my\u model=javax.swing.table.DefaultTableModel.new(表数据、表标题)
导致
C:/jruby/lib/ruby/site\u ruby/shared/builtin/javasupport/java.rb:51:in
`新“:没有带参数的构造函数
匹配[class org.jruby.RubyArray,
对象上的类org.jruby.RubyArray]
(名称错误)
my\u model=javax.swing.table.DefaultTableModel.new(table\u data.to\u java,table\u headers.to\u java)
导致
C:/jruby/lib/ruby/site\u ruby/shared/builtin/javasupport/java.rb:51:没有参数匹配的构造函数
[课堂
org.jruby.java.proxies.ArrayJavaProxy,
班
org.jruby.java.proxies.ArrayJavaProxy]
在对象上(名称错误)
知道如何解决这个问题吗?另外:难道没有一种“简单”的方法来简单地创建表和设置字段吗?
(例如:
bla=SomeTable.new(5,5)
bla[2][1]=“已编辑”
)
p、 正如您可能从错误消息中看到的,我必须使用windows,我以前在类中见过这种情况,这些类有多个具有相似参数数量(但类型不同)的构造函数。JRuby有时很难选择要命中哪个构造函数(重载方法也是如此)。在这种情况下很容易看出原因:一些构造函数接受Object[] 幸运的是,您可以在实例化后添加列和数据:
m = javax.swing.table.DefaultTableModel.new
m.add_column("id")
m.add_column("name")
m.add_row(["1", "jimmy"].to_java)
m.add_row(["2", "robert"].to_java)
…等等
另外:是否有一种“简单”的方法来简单地创建表和设置字段
您可以创建自己的包装器,或者查看或是否有任何方法可以实际添加数据“列”。我似乎无法向add_column命令添加超过1条数据:(看起来行是一阶的,列是二阶的,这对我来说很有意义(否则会让人困惑)。你想做什么?