diff --git a/src/main/java/club/bigtian/mf/plugin/core/render/MethodComboBoxRenderer.java b/src/main/java/club/bigtian/mf/plugin/core/render/MethodComboBoxRenderer.java new file mode 100644 index 0000000000000000000000000000000000000000..2e12ab067ca39943ad18029f9ee81fbd99c11384 --- /dev/null +++ b/src/main/java/club/bigtian/mf/plugin/core/render/MethodComboBoxRenderer.java @@ -0,0 +1,45 @@ +package club.bigtian.mf.plugin.core.render; + +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; + +import javax.swing.*; +import javax.swing.border.EmptyBorder; +import java.awt.*; + +public class MethodComboBoxRenderer extends JLabel implements ListCellRenderer { + private JLabel rowEndLabel; + private JLabel label; + + public MethodComboBoxRenderer() { + setOpaque(true); + setLayout(new BorderLayout()); + label = new JLabel(); + label.setPreferredSize(new Dimension(130, label.getHeight())); + rowEndLabel = new JLabel(); + rowEndLabel.setForeground(Color.GRAY); + add(label, BorderLayout.WEST); + add(rowEndLabel, BorderLayout.EAST); + rowEndLabel.setBorder(new EmptyBorder(0, 0, 0, 50)); + rowEndLabel.setPreferredSize(new Dimension(130, rowEndLabel.getHeight())); + } + + + @Override + public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { + if (ObjectUtil.isNull(value)) { + return this; + } + String valueString = value.toString(); + label.setText(StrUtil.subBefore(valueString, "(", false)); + rowEndLabel.setText(StrUtil.subBetween(valueString, "(", ")")); + if (isSelected) { + setBackground(list.getSelectionBackground()); + setForeground(list.getSelectionForeground()); + } else { + setBackground(list.getBackground()); + setForeground(list.getForeground()); + } + return this; + } +} \ No newline at end of file diff --git a/src/main/java/club/bigtian/mf/plugin/windows/ReturnInfoDialog.java b/src/main/java/club/bigtian/mf/plugin/windows/ReturnInfoDialog.java index e85c3644eed9366c812d99d678fff4f959ee3bab..54468b4fe6986d051171ab99828fece3c1f22cbb 100644 --- a/src/main/java/club/bigtian/mf/plugin/windows/ReturnInfoDialog.java +++ b/src/main/java/club/bigtian/mf/plugin/windows/ReturnInfoDialog.java @@ -4,6 +4,7 @@ import club.bigtian.mf.plugin.core.Template; import club.bigtian.mf.plugin.core.config.MybatisFlexConfig; import club.bigtian.mf.plugin.core.constant.MybatisFlexConstant; import club.bigtian.mf.plugin.core.persistent.MybatisFlexPluginConfigData; +import club.bigtian.mf.plugin.core.render.MethodComboBoxRenderer; import club.bigtian.mf.plugin.core.util.DialogUtil; import club.bigtian.mf.plugin.core.util.ProjectUtils; import club.bigtian.mf.plugin.core.util.TreeClassChooser; @@ -18,8 +19,6 @@ import com.intellij.psi.PsiParameter; import com.intellij.psi.search.GlobalSearchScope; import javax.swing.*; -import javax.swing.border.EmptyBorder; -import java.awt.*; import java.awt.event.*; import java.util.Arrays; import java.util.HashMap; @@ -59,7 +58,7 @@ public class ReturnInfoDialog extends JDialog { onCancel(); } }); - methodComBox.setRenderer(new CustomComboBoxRenderer()); + methodComBox.setRenderer(new MethodComboBoxRenderer()); methodComBox.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { @@ -174,39 +173,3 @@ public class ReturnInfoDialog extends JDialog { } } -class CustomComboBoxRenderer extends JLabel implements ListCellRenderer { - private JLabel rowEndLabel; - private JLabel label; - - public CustomComboBoxRenderer() { - setOpaque(true); - setLayout(new BorderLayout()); - label = new JLabel(); - label.setPreferredSize(new Dimension(130, label.getHeight())); - rowEndLabel = new JLabel(); - rowEndLabel.setForeground(Color.GRAY); - add(label, BorderLayout.WEST); - add(rowEndLabel, BorderLayout.EAST); - rowEndLabel.setBorder(new EmptyBorder(0, 0, 0, 50)); - rowEndLabel.setPreferredSize(new Dimension(130, rowEndLabel.getHeight())); - } - - - @Override - public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { - if (ObjectUtil.isNull(value)) { - return this; - } - String valueString = value.toString(); - label.setText(StrUtil.subBefore(valueString, "(", false)); - rowEndLabel.setText(StrUtil.subBetween(valueString, "(", ")")); - if (isSelected) { - setBackground(list.getSelectionBackground()); - setForeground(list.getSelectionForeground()); - } else { - setBackground(list.getBackground()); - setForeground(list.getForeground()); - } - return this; - } -} \ No newline at end of file diff --git a/src/main/resources/META-INF/pluginIcon.svg b/src/main/resources/META-INF/pluginIcon.svg index c9925a6817e0d0f1d453c22fd12efb8ff1ce6797..db3dd07353df48f5d00eb76482c2c49182bb43a1 100755 --- a/src/main/resources/META-INF/pluginIcon.svg +++ b/src/main/resources/META-INF/pluginIcon.svg @@ -18,14 +18,14 @@ - + - - + +