Levy.Xie-解安森
11 months ago
14 changed files with 362 additions and 238 deletions
@ -0,0 +1,37 @@
|
||||
package com.fine.theme.light.ui; |
||||
|
||||
import com.fine.theme.icon.LazyIcon; |
||||
import com.formdev.flatlaf.ui.FlatCheckBoxUI; |
||||
|
||||
import javax.swing.AbstractButton; |
||||
import javax.swing.JComponent; |
||||
import javax.swing.plaf.ComponentUI; |
||||
|
||||
/** |
||||
* 提供 {@link javax.swing.JCheckBox} 的UI类 |
||||
* |
||||
* @author Levy.Xie |
||||
* @since 11.0 |
||||
* Created on 2023/12/14 |
||||
*/ |
||||
public class FineCheckBoxUI extends FlatCheckBoxUI { |
||||
|
||||
public static ComponentUI createUI(JComponent c) { |
||||
return new FineCheckBoxUI(false); |
||||
} |
||||
|
||||
protected FineCheckBoxUI(boolean shared) { |
||||
super(shared); |
||||
} |
||||
|
||||
@Override |
||||
public void installDefaults(AbstractButton b) { |
||||
super.installDefaults(b); |
||||
b.setIcon(new LazyIcon("checkbox_unchecked")); |
||||
b.setSelectedIcon(new LazyIcon("checkbox_checked")); |
||||
b.setRolloverIcon(new LazyIcon("checkbox_hovered")); |
||||
b.setDisabledIcon(new LazyIcon("checkbox_unchecked").disabled()); |
||||
b.setDisabledSelectedIcon(new LazyIcon("checkbox_checked").disabled()); |
||||
} |
||||
|
||||
} |
@ -0,0 +1,68 @@
|
||||
package com.fr.design.gui.storybook; |
||||
|
||||
import com.fine.theme.icon.LazyIcon; |
||||
import com.fr.design.gui.ibutton.UIButtonGroup; |
||||
import com.fr.design.gui.ibutton.UITabGroup; |
||||
import com.fr.design.gui.ilable.UILabel; |
||||
import com.fr.design.mainframe.theme.edit.ui.TabbedPane; |
||||
import com.fr.stable.ArrayUtils; |
||||
|
||||
|
||||
import javax.swing.*; |
||||
|
||||
import static com.fine.swing.ui.layout.Layouts.*; |
||||
|
||||
/** |
||||
* Tab按钮组 |
||||
* |
||||
* @author Levy.Xie |
||||
* @since 11.0 |
||||
* Created on 2023/12/14 |
||||
*/ |
||||
public class ButtonTabStoryBoard extends StoryBoard { |
||||
public ButtonTabStoryBoard() { |
||||
super("切换按钮组"); |
||||
add( |
||||
cell(new UILabel("单行文字按钮")).with(it -> it.setFont(labelFont.deriveFont(14f))), |
||||
cell(new UIButtonGroup<>(new String[]{"按钮1", "按钮2", "按钮3"})), |
||||
cell(new UILabel("单行图标按钮")).with(it -> it.setFont(labelFont.deriveFont(14f))), |
||||
cell(new UIButtonGroup<>(iconArray())), |
||||
cell(new UILabel("选中切换图标按钮")).with(it -> it.setFont(labelFont.deriveFont(14f))), |
||||
cell(new UIButtonGroup<>(iconArrayWithWhite())), |
||||
cell(new UILabel("多行按钮-偶数场景-6按钮")).with(it -> it.setFont(labelFont.deriveFont(14f))), |
||||
cell(new UITabGroup(sixTextArray())), |
||||
cell(new UILabel("多行按钮-奇数场景-5按钮")).with(it -> it.setFont(labelFont.deriveFont(14f))), |
||||
cell(new UITabGroup(fiveTextArray())), |
||||
cell(new UILabel("多行按钮-奇数场景-7按钮")).with(it -> it.setFont(labelFont.deriveFont(14f))), |
||||
cell(new UITabGroup(sevenTextArray())), |
||||
flex() |
||||
); |
||||
} |
||||
|
||||
private static Icon[] iconArray() { |
||||
return ArrayUtils.toArray( |
||||
new LazyIcon("edit"), |
||||
new LazyIcon("preview"), |
||||
new LazyIcon("connection") |
||||
); |
||||
} |
||||
|
||||
private Icon[][] iconArrayWithWhite() { |
||||
return ArrayUtils.toArray( |
||||
ArrayUtils.toArray(new LazyIcon("edit"), new LazyIcon("copy")), |
||||
ArrayUtils.toArray(new LazyIcon("preview"), new LazyIcon("save")) |
||||
); |
||||
} |
||||
|
||||
private String[] fiveTextArray() { |
||||
return ArrayUtils.toArray("按钮1", "按钮2", "按钮3", "按钮4", "按钮5"); |
||||
} |
||||
|
||||
private String[] sevenTextArray() { |
||||
return ArrayUtils.toArray("按钮1", "按钮2", "按钮3", "按钮4", "按钮5", "按钮6", "按钮7"); |
||||
} |
||||
|
||||
private String[] sixTextArray() { |
||||
return ArrayUtils.toArray("按钮1", "按钮2", "按钮3", "按钮4", "按钮5", "按钮6"); |
||||
} |
||||
} |
@ -0,0 +1,58 @@
|
||||
package com.fr.design.gui.storybook; |
||||
|
||||
|
||||
import com.fr.design.gui.icheckbox.UICheckBox; |
||||
import com.fr.design.gui.ilable.UILabel; |
||||
|
||||
import java.awt.*; |
||||
|
||||
import static com.fine.swing.ui.layout.Layouts.*; |
||||
import static com.fine.swing.ui.layout.Layouts.row; |
||||
|
||||
/** |
||||
* 复选按钮 |
||||
* |
||||
* @author Levy.Xie |
||||
* @since 11.0 |
||||
* Created on 2023/12/14 |
||||
*/ |
||||
public class CheckBoxStoryBoard extends StoryBoard { |
||||
|
||||
public CheckBoxStoryBoard() { |
||||
super("复选按钮"); |
||||
add( |
||||
cell(new UILabel("水平布局")).with(it -> it.setFont(labelFont.deriveFont(14f))), |
||||
row(10, |
||||
cell(new UICheckBox("测试1")), |
||||
cell(new UICheckBox("测试2")), |
||||
cell(new UICheckBox("测试3")) |
||||
), |
||||
fix(5), |
||||
cell(new UILabel("垂直布局")).with(it -> it.setFont(labelFont.deriveFont(14f))), |
||||
column(5, |
||||
cell(new UICheckBox("测试1")), |
||||
cell(new UICheckBox("测试2")), |
||||
cell(new UICheckBox("测试3")) |
||||
), |
||||
fix(5), |
||||
cell(new UILabel("禁用状态")).with(it -> it.setFont(labelFont.deriveFont(14f))), |
||||
row(10, |
||||
cell(getDisabledStatus(new UICheckBox("测试"))), |
||||
cell(getDisabledSelectedStatus(new UICheckBox("测试"))) |
||||
), |
||||
flex() |
||||
); |
||||
} |
||||
|
||||
private Component getDisabledStatus(UICheckBox c) { |
||||
c.setEnabled(false); |
||||
return c; |
||||
} |
||||
|
||||
private Component getDisabledSelectedStatus(UICheckBox c) { |
||||
c.setSelected(true); |
||||
c.setEnabled(false); |
||||
return c; |
||||
} |
||||
|
||||
} |
@ -0,0 +1,43 @@
|
||||
package com.fr.design.gui.storybook; |
||||
|
||||
import com.fr.design.gui.icombobox.UIComboBox; |
||||
import com.fr.design.gui.ilable.UILabel; |
||||
import com.fr.stable.ArrayUtils; |
||||
|
||||
import java.awt.*; |
||||
|
||||
import static com.fine.swing.ui.layout.Layouts.cell; |
||||
import static com.fine.swing.ui.layout.Layouts.flex; |
||||
|
||||
/** |
||||
* 下拉选择框 |
||||
* |
||||
* @author Levy.Xie |
||||
* @since 11.0 |
||||
* Created on 2023/12/14 |
||||
*/ |
||||
public class ComboBoxStoryBoard extends StoryBoard { |
||||
|
||||
public ComboBoxStoryBoard() { |
||||
super("下拉选择框"); |
||||
|
||||
add( |
||||
cell(new UILabel("普通状态")).with(it -> it.setFont(labelFont.deriveFont(14f))), |
||||
cell(new UIComboBox( |
||||
ArrayUtils.toArray("测试1", "测试2", "测试3", "测试4") |
||||
)), |
||||
cell(new UILabel("禁用状态")).with(it -> it.setFont(labelFont.deriveFont(14f))), |
||||
cell(getDisabledStatus()), |
||||
flex() |
||||
); |
||||
} |
||||
|
||||
private Component getDisabledStatus() { |
||||
UIComboBox box = new UIComboBox( |
||||
ArrayUtils.toArray("测试1", "测试2", "测试3", "测试4") |
||||
); |
||||
box.setEnabled(false); |
||||
return box; |
||||
} |
||||
|
||||
} |
Loading…
Reference in new issue