如何将按钮放入Scala中的Swing表?

时间:2011-10-26 19:23:37

标签: swing button renderer

对于Java,解决方案在这里: How to add button in a row of JTable in Swing java(我需要将按钮放在给定的列中,而不是一行)。

将其翻译成Scala时,我遇到了为表格列设置新渲染器的问题。列没有getter方法,列模型没有getter方法。至少我没有看到任何:Table API

我需要这样的东西:

table.getColumn(...

table.getColumnModel(...

注入我的ButtonRenderer。

如何使用包含Swing表的按钮设置列?

更新1

Scala Swing Table具有 peer 字段,即Java JTable。我能够设置渲染器,但现在还有另一个问题 - 渲染器未使用。

渲染

class ButtonRenderer extends javax.swing.JButton with  TableCellRenderer
{
  def getTableCellRendererComponent(table : javax.swing.JTable, 
                                   value : java.lang.Object,
                                   isSelected : Boolean, 
                                   hasFocus : Boolean, 
                                   row : Int, 
                                   column : Int) : java.awt.Component =
  {
    setText("it works");
    return this;
  }
}

设置渲染器

my_table.peer.getColumnModel().getColumn(3).setCellRenderer(new ButtonRenderer());

更新2

Scala Swing可能有问题,我将GUI部分重写为Java Swing(在Scala中),并将按钮插入到表中。

0 个答案:

没有答案