【问题标题】:JButton in JTable doesnt display animation when clickedJTable中的JButton单击时不显示动画
【发布时间】:2013-01-20 20:09:30
【问题描述】:

我已经使用本指南 http://www.cordinc.com/blog/2010/01/jbuttons-in-a-jtable.html

所以还有一个小问题。当我点击按钮时,触发事件并执行方法。按钮动画不起作用,不提供视觉反馈。 我猜是因为要重新绘制 JTable,您需要调用模型 fireTableDataChanged() 方法。

【问题讨论】:

  • 代码在我链接的文章中。按钮按下的动画在那里不起作用。
  • 您实际遇到的问题与您使用的示例从未真正“点击”按钮这一事实有关,它作弊,恕我直言,非常糟糕。表格使用“橡皮图章”的方法来渲染其单元格内容,也就是说,内容不是实际的组件,而只是在它们上面绘制了外观,它们没有自己的生命。
  • 有没有办法让它们成为真正的组件?
  • 是的,实现TableCellEditor,如图here

标签: java swing jtable jbutton tablecelleditor


【解决方案1】:

Table Button Column 显示了另一种方法。

【讨论】:

  • 这是更灵活的解决方案;有一个相关的例子here
【解决方案2】:

example cited 不太令人满意,因为TableCellRenderer 显示 JButton,但MouseListener 忽略了按钮的ButtonModel。实现TableCellEditor,如here 所示,是一种更好的方法。为了动画方便,您可能需要查看DefaultCellEditor,显示为hereJComboBox 有一个条目。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-31
    • 1970-01-01
    • 2013-02-23
    • 2013-07-09
    • 2012-04-01
    • 2021-10-03
    相关资源
    最近更新 更多