From 42695915eef2e331c1647741587af94bdde45490 Mon Sep 17 00:00:00 2001 From: Phodal Huang Date: Sat, 14 Sep 2024 09:56:02 +0800 Subject: [PATCH] refactor(kotlin): simplify IconButtonTableCellEditor class initialization #86 --- .../marketplace/IconButtonTableCellEditor.kt | 22 +++++-------------- .../IconButtonTableCellRenderer.kt | 2 +- 2 files changed, 7 insertions(+), 17 deletions(-) diff --git a/src/main/kotlin/com/phodal/shire/marketplace/IconButtonTableCellEditor.kt b/src/main/kotlin/com/phodal/shire/marketplace/IconButtonTableCellEditor.kt index 287044f8e..ca2245523 100644 --- a/src/main/kotlin/com/phodal/shire/marketplace/IconButtonTableCellEditor.kt +++ b/src/main/kotlin/com/phodal/shire/marketplace/IconButtonTableCellEditor.kt @@ -23,22 +23,12 @@ import javax.swing.JTable import javax.swing.event.ChangeEvent import javax.swing.table.TableCellEditor -open class IconButtonTableCellEditor protected constructor( - value: Any, - icon: Icon, - tooltipText: String, -) : - AbstractCellEditor(), TableCellEditor { - protected val myButton: IconButton - protected var myValue: Any? - - init { - myButton = IconButton(icon) - - myButton.setOpaque(true) - myButton.setToolTipText(tooltipText) - - myValue = value +open class IconButtonTableCellEditor(value: Any, icon: Icon, tooltipText: String) : AbstractCellEditor(), + TableCellEditor { + protected var myValue: Any = value + protected val myButton: IconButton = IconButton(icon).apply { + setOpaque(true) + setToolTipText(tooltipText) } @get:VisibleForTesting diff --git a/src/main/kotlin/com/phodal/shire/marketplace/IconButtonTableCellRenderer.kt b/src/main/kotlin/com/phodal/shire/marketplace/IconButtonTableCellRenderer.kt index 3dc7ee219..5a2dab00b 100644 --- a/src/main/kotlin/com/phodal/shire/marketplace/IconButtonTableCellRenderer.kt +++ b/src/main/kotlin/com/phodal/shire/marketplace/IconButtonTableCellRenderer.kt @@ -166,7 +166,7 @@ interface IconTableCell { fun setIcon(icon: Icon?) } -class IconButton internal constructor(defaultIcon: Icon) : JButton(defaultIcon), IconTableCell { +class IconButton(defaultIcon: Icon) : JButton(defaultIcon), IconTableCell { private var myDefaultIcon: Icon init {