vito
10 months ago
4 changed files with 103 additions and 12 deletions
@ -0,0 +1,77 @@ |
|||||||
|
package com.fr.design.gui.storybook.components; |
||||||
|
|
||||||
|
import com.fine.swing.ui.layout.Column; |
||||||
|
import com.fine.theme.light.ui.FineRoundBorder; |
||||||
|
import com.fine.theme.utils.FineUIUtils; |
||||||
|
import com.fr.design.gui.icontainer.UIScrollPane; |
||||||
|
import com.fr.design.gui.ilable.UILabel; |
||||||
|
import com.fr.design.gui.storybook.StoryBoard; |
||||||
|
|
||||||
|
import javax.swing.JComponent; |
||||||
|
import javax.swing.JPanel; |
||||||
|
import javax.swing.ScrollPaneConstants; |
||||||
|
import java.awt.Dimension; |
||||||
|
import java.util.Collections; |
||||||
|
|
||||||
|
import static com.fine.swing.ui.layout.Layouts.cell; |
||||||
|
import static com.fine.swing.ui.layout.Layouts.column; |
||||||
|
import static com.fine.swing.ui.layout.Layouts.row; |
||||||
|
|
||||||
|
/** |
||||||
|
* 滚动面板 |
||||||
|
* |
||||||
|
* @author Levy.Xie |
||||||
|
* @since 11.0 |
||||||
|
* Created on 2024/01/25 |
||||||
|
*/ |
||||||
|
public class UIScrollPaneStoryBoard extends StoryBoard { |
||||||
|
public UIScrollPaneStoryBoard() { |
||||||
|
super("滚动面板"); |
||||||
|
add( |
||||||
|
row(20, |
||||||
|
column( |
||||||
|
cell(new UILabel("滚动条常驻显示")).with(this::h2), |
||||||
|
cell(new UILabel("水平/纵向")).with(this::h2), |
||||||
|
cell(new UIScrollPane(createMultiLabelPane())).with(this::setFixSize), |
||||||
|
cell(new UILabel("水平")).with(this::h3), |
||||||
|
cell(new UIScrollPane(createMultiLabelPane(), |
||||||
|
ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED)) |
||||||
|
.with(this::setFixSize), |
||||||
|
cell(new UILabel("纵向")).with(this::h3), |
||||||
|
cell(new UIScrollPane(createMultiLabelPane(), |
||||||
|
ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER)) |
||||||
|
.with(this::setFixSize) |
||||||
|
).weight(1), |
||||||
|
|
||||||
|
column( |
||||||
|
cell(new UILabel("滚动条悬浮显示")).with(this::h2), |
||||||
|
cell(new UILabel("水平/纵向")).with(this::h3), |
||||||
|
cell(FineUIUtils.createCollapsibleScrollBarLayer(createMultiLabelPane())).with(it -> setFixSize(it.getView())), |
||||||
|
cell(new UILabel("水平")).with(this::h3), |
||||||
|
cell(FineUIUtils.createCollapsibleScrollBarLayer(createMultiLabelPane(), |
||||||
|
ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED |
||||||
|
)).with(it -> setFixSize(it.getView())), |
||||||
|
cell(new UILabel("纵向")).with(this::h3), |
||||||
|
cell(FineUIUtils.createCollapsibleScrollBarLayer(createMultiLabelPane(), |
||||||
|
ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER |
||||||
|
)).with(it -> setFixSize(it.getView()) |
||||||
|
) |
||||||
|
).weight(1) |
||||||
|
) |
||||||
|
); |
||||||
|
} |
||||||
|
|
||||||
|
private JPanel createMultiLabelPane() { |
||||||
|
Column column = new Column(); |
||||||
|
for (int i = 0; i < 10; i++) { |
||||||
|
column.add(new UILabel(String.join(" ", Collections.nCopies(20, "test")))); |
||||||
|
} |
||||||
|
return column; |
||||||
|
} |
||||||
|
|
||||||
|
private void setFixSize(JComponent component) { |
||||||
|
component.setPreferredSize(new Dimension(component.getWidth(), 100)); |
||||||
|
component.setBorder(new FineRoundBorder()); |
||||||
|
} |
||||||
|
|
||||||
|
} |
Loading…
Reference in new issue