在JRuby中将表添加到JPanel

时间:2014-12-16 19:33:29

标签: jpanel jruby

我试图把表格放在JPanel中,这是一段代码:

innerPane = JPanel.new(BorderLayout.new)
tab = javax.swing.table.DefaultTableModel.new
tab.add_column("id")
tab.add_column("something")
tab.add_row(["1","bla"].to_java)
tab.add_row(["2","bla bla"].to_java)
innerPane.add(tab, BorderLayout::CENTER)

在最后一行(innerPane.add)我收到此错误:

no method "add" for arguments (javax.swing.table.DefaultTableModel)

如果不是这样的话,如何将表添加到面板?

1 个答案:

答案 0 :(得分:0)

DefaultTableModel没有可视显示组件,需要属于JTable

JTable本身用于显示模型提供的数据。可以在不影响模型的情况下更改JTable视图。对模型的任何更改都会影响JTable。

我不知道Jruby部分,但在Java中:

JTable table = new JTable(tab); //instantiate a JTable widget to a model tab

然后,您可以使用提供的代码添加JTable Swing组件

innerPane.add(table, BorderLayout::CENTER)

JTable Docs for methods