1

Javaの場合、解決策は次のとおり です。Swing JavaでJTableの行にボタンを追加する方法(行ではなく特定の列にボタンを配置する必要があります)。

それを Scala に変換するとき、テーブル列の新しいレンダラーの設定に問題があります。列の getter メソッドはなく、列モデルの getter メソッドはありません。少なくとも何も表示されません: Table API

私はこのようなものが必要です:

table.getColumn(...

また

table.getColumnModel(...

私のButtonRendererを注入します。

Swingテーブルでボタン付きの列を設定するには?

更新 1

Scala Swing テーブルには、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 で) 書き直して、テーブルにボタンを挿入しました。

4

0 に答える 0