1

我有一个 JTable,其中 1 列每个单元格包含 3 个单选按钮

mgrdData.getColumnModel().getColumn(intCol).setCellRenderer(new RadioButtonRenderer());
RadioButtonEditor butEdit = new RadioButtonEditor(new JCheckBox());
mgrdData.getColumnModel().getColumn(intCol).setCellEditor(butEdit);

当显示单选按钮并选择正确的单选按钮时,这可以正常工作。

但是单选按钮太大而无法完全可见,所以我想降低单选按钮的高度。

我尝试更改字体大小以及 .setSize(),但这对单选按钮的高度没有任何影响。

经过大量搜索,我能找到的只有以下内容:

btnVA.putClientProperty("JComponent.sizeVariant","mini");
btnUIT.putClientProperty("JComponent.sizeVariant","mini");
btnAAN.putClientProperty("JComponent.sizeVariant","mini");

其中 btnVA、btnUIT 和 btnAAN 是我的 RadioButtonRenderer 中的单选按钮。

如果您想查看更多代码,请告诉我,我将对其进行编辑。

我应该添加什么特别的东西来使单选按钮应用这个 ClientProperty?

4

2 回答 2

1

试试 setPreferredSize() // 很确定这是语法。

方法,看看是否有帮助。记得我班上有人遇到这个问题。

于 2013-02-06T15:12:02.690 回答
0

我忽略了这段代码需要 Nimbus LookAndFeel。

为了更轻松地使用各种 LookAndFeels 进行测试,我创建了一个函数,我在 Applet 的 init() 中调用它:

private void setLaF()
{
  try
  {
    for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels())
    {
      if ("Nimbus".equals(info.getName()))
      {
        UIManager.setLookAndFeel(info.getClassName());
        break;
      }
    }
  } catch (Exception e)
  {
      // If Nimbus is not available, you can set the GUI to another look and feel.
  }
}

调用此函数后,单选按钮的行为,并相应地改变它们的高度

于 2013-02-06T15:19:55.873 回答