Browse Source

主要修改:

1.FRGUIPanelFactory中增加了一种垂直布局,水平居左,竖直顶对齐,用以满足bug提出者的需求
2.对VerticalFlowLayout中一些注释错误(原本的注释中是左对齐居中对齐和右对齐,命名却为top,center和bottom,经过调试发现这几个变量实则代表了竖直方向上的顶对齐,居中对齐和底对齐)和命名错误(dealWith写成了dialWith)进行了修改
3.为VerticalFlowLayout中重写的几个方法添加了@Override注解
feature/big-screen
Yvan 4 years ago
parent
commit
9fa7771d6e
  1. 6
      designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java
  2. 16
      designer-base/src/main/java/com/fr/design/layout/FRGUIPaneFactory.java
  3. 31
      designer-base/src/main/java/com/fr/design/layout/VerticalFlowLayout.java

6
designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java

@ -256,7 +256,7 @@ public class PreferencePane extends BasicPane {
} }
private void createVcsSettingPane(JPanel generalPane) { private void createVcsSettingPane(JPanel generalPane) {
JPanel vcsPane = FRGUIPaneFactory.createVerticalTitledBorderPane(i18nText("Fine-Design_Vcs_Title")); JPanel vcsPane = FRGUIPaneFactory.createTopVerticalTitledBorderPane(i18nText("Fine-Design_Vcs_Title"));
generalPane.add(vcsPane); generalPane.add(vcsPane);
remindVcsLabel = new UILabel(i18nText("Fine-Design_Vcs_Remind")); remindVcsLabel = new UILabel(i18nText("Fine-Design_Vcs_Remind"));
remindVcsLabel.setVisible(!VcsHelper.getInstance().needInit()); remindVcsLabel.setVisible(!VcsHelper.getInstance().needInit());
@ -449,10 +449,6 @@ public class PreferencePane extends BasicPane {
JPanel colorSettingPane = FRGUIPaneFactory.createTitledBorderPane(i18nText("Fine-Design_Basic_Preference_Setting_Colors")); JPanel colorSettingPane = FRGUIPaneFactory.createTitledBorderPane(i18nText("Fine-Design_Basic_Preference_Setting_Colors"));
generalPane.add(colorSettingPane); generalPane.add(colorSettingPane);
new UILabel(i18nText("Fine-Design_Basic_Preference_Grid_Line_Color"));
new UILabel(i18nText("Fine-Design_Basic_Preference_Pagination_Line_Color"));
gridLineColorTBButton = new UIColorButton(IOUtils.readIcon("/com/fr/design/images/gui/color/foreground.png")); gridLineColorTBButton = new UIColorButton(IOUtils.readIcon("/com/fr/design/images/gui/color/foreground.png"));
gridLineColorTBButton.setEnabled(this.isEnabled()); gridLineColorTBButton.setEnabled(this.isEnabled());

16
designer-base/src/main/java/com/fr/design/layout/FRGUIPaneFactory.java

@ -168,6 +168,22 @@ public class FRGUIPaneFactory {
return jp; return jp;
} }
/**
* 创建一个带标题边框面板垂直居左布局组件顶对齐
*
* @param string 边框标题
* @return JPanel对象
*/
public static JPanel createTopVerticalTitledBorderPane(String string) {
JPanel jp = new JPanel();
UITitledBorder explainBorder = UITitledBorder.createBorderWithTitle(string);
jp.setBorder(explainBorder);
VerticalFlowLayout layout = new VerticalFlowLayout(VerticalFlowLayout.TOP);
layout.setAlignLeft(true);
jp.setLayout(layout);
return jp;
}
/** /**
* 创建一个带标题边框面板并且居中显示 * 创建一个带标题边框面板并且居中显示
* *

31
designer-base/src/main/java/com/fr/design/layout/VerticalFlowLayout.java

@ -16,20 +16,17 @@ import java.awt.LayoutManager;
public class VerticalFlowLayout implements LayoutManager, java.io.Serializable { public class VerticalFlowLayout implements LayoutManager, java.io.Serializable {
/** /**
* This value indicates that each row of components * 竖直方向上将子组件设置为顶对齐方式
* should be left-justified.
*/ */
public static final int TOP = 0; public static final int TOP = 0;
/** /**
* This value indicates that each row of components * 竖直方向上将子组件设置为居中对齐方式
* should be centered.
*/ */
public static final int CENTER = 1; public static final int CENTER = 1;
/** /**
* This value indicates that each row of components * 竖直方向上将子组件设置为底对齐方式
* should be right-justified.
*/ */
public static final int BOTTOM = 2; public static final int BOTTOM = 2;
@ -71,7 +68,9 @@ public class VerticalFlowLayout implements LayoutManager, java.io.Serializable {
*/ */
int newAlign; // This is the one we actually use int newAlign; // This is the one we actually use
// 当列宽不一致时,是否需要左对齐(默认居中对齐) /**
* 当列宽不一致时是否需要将水平方向设置成左对齐默认水平方向为居中对齐
*/
boolean isAlignLeft = false; boolean isAlignLeft = false;
/** /**
@ -220,6 +219,7 @@ public class VerticalFlowLayout implements LayoutManager, java.io.Serializable {
* @param name the name of the component * @param name the name of the component
* @param comp the component to be added * @param comp the component to be added
*/ */
@Override
public void addLayoutComponent(String name, Component comp) { public void addLayoutComponent(String name, Component comp) {
} }
@ -230,6 +230,7 @@ public class VerticalFlowLayout implements LayoutManager, java.io.Serializable {
* @param comp the component to remove * @param comp the component to remove
* @see java.awt.Container#removeAll * @see java.awt.Container#removeAll
*/ */
@Override
public void removeLayoutComponent(Component comp) { public void removeLayoutComponent(Component comp) {
} }
@ -244,6 +245,7 @@ public class VerticalFlowLayout implements LayoutManager, java.io.Serializable {
* @see #minimumLayoutSize * @see #minimumLayoutSize
* @see java.awt.Container#getPreferredSize * @see java.awt.Container#getPreferredSize
*/ */
@Override
public Dimension preferredLayoutSize(Container target) { public Dimension preferredLayoutSize(Container target) {
synchronized (target.getTreeLock()) { synchronized (target.getTreeLock()) {
Dimension dim = new Dimension(0, 0); Dimension dim = new Dimension(0, 0);
@ -255,7 +257,7 @@ public class VerticalFlowLayout implements LayoutManager, java.io.Serializable {
if (m.isVisible()) { if (m.isVisible()) {
Dimension d = m.getPreferredSize(); Dimension d = m.getPreferredSize();
firstVisibleComponent = dialWithDim4PreferredLayoutSize(dim, d, firstVisibleComponent); firstVisibleComponent = dealWithDim4PreferredLayoutSize(dim, d, firstVisibleComponent);
} }
} }
Insets insets = target.getInsets(); Insets insets = target.getInsets();
@ -265,7 +267,7 @@ public class VerticalFlowLayout implements LayoutManager, java.io.Serializable {
} }
} }
protected boolean dialWithDim4PreferredLayoutSize(Dimension dim, Dimension d, boolean firstVisibleComponent) { protected boolean dealWithDim4PreferredLayoutSize(Dimension dim, Dimension d, boolean firstVisibleComponent) {
dim.width = Math.max(dim.width, d.width); dim.width = Math.max(dim.width, d.width);
if (firstVisibleComponent) { if (firstVisibleComponent) {
firstVisibleComponent = false; firstVisibleComponent = false;
@ -289,6 +291,7 @@ public class VerticalFlowLayout implements LayoutManager, java.io.Serializable {
* @see java.awt.Container * @see java.awt.Container
* @see java.awt.Container#doLayout * @see java.awt.Container#doLayout
*/ */
@Override
public Dimension minimumLayoutSize(Container target) { public Dimension minimumLayoutSize(Container target) {
synchronized (target.getTreeLock()) { synchronized (target.getTreeLock()) {
Dimension dim = new Dimension(0, 0); Dimension dim = new Dimension(0, 0);
@ -300,7 +303,7 @@ public class VerticalFlowLayout implements LayoutManager, java.io.Serializable {
if (m.isVisible()) { if (m.isVisible()) {
Dimension d = m.getMinimumSize(); Dimension d = m.getMinimumSize();
firstVisibleComponent = dialWithDim4MinimumLayoutSize(dim, d, i, firstVisibleComponent); firstVisibleComponent = dealWithDim4MinimumLayoutSize(dim, d, i, firstVisibleComponent);
} }
} }
Insets insets = target.getInsets(); Insets insets = target.getInsets();
@ -310,7 +313,7 @@ public class VerticalFlowLayout implements LayoutManager, java.io.Serializable {
} }
} }
protected boolean dialWithDim4MinimumLayoutSize(Dimension dim, Dimension d, int i, boolean firstVisibleComponent) { protected boolean dealWithDim4MinimumLayoutSize(Dimension dim, Dimension d, int i, boolean firstVisibleComponent) {
dim.width = Math.max(dim.width, d.width); dim.width = Math.max(dim.width, d.width);
if (i > 0) { if (i > 0) {
dim.height += vgap; dim.height += vgap;
@ -370,6 +373,7 @@ public class VerticalFlowLayout implements LayoutManager, java.io.Serializable {
* @see java.awt.Container * @see java.awt.Container
* @see java.awt.Container#doLayout * @see java.awt.Container#doLayout
*/ */
@Override
public void layoutContainer(Container target) { public void layoutContainer(Container target) {
synchronized (target.getTreeLock()) { synchronized (target.getTreeLock()) {
Insets insets = target.getInsets(); Insets insets = target.getInsets();
@ -410,7 +414,9 @@ public class VerticalFlowLayout implements LayoutManager, java.io.Serializable {
protected int[] dealWithDim4LayoutContainer(Container target, Insets insets, Dimension d, int x, int y, int roww, int start, int maxlen, int i, boolean ltr) { protected int[] dealWithDim4LayoutContainer(Container target, Insets insets, Dimension d, int x, int y, int roww, int start, int maxlen, int i, boolean ltr) {
if ((y == 0) || ((y + d.height) <= maxlen)) { if ((y == 0) || ((y + d.height) <= maxlen)) {
if (y > 0) y += vgap; if (y > 0) {
y += vgap;
}
y += d.height; y += d.height;
roww = Math.max(roww, d.width); roww = Math.max(roww, d.width);
} else { } else {
@ -449,6 +455,7 @@ public class VerticalFlowLayout implements LayoutManager, java.io.Serializable {
* *
* @return a string representation of this layout * @return a string representation of this layout
*/ */
@Override
public String toString() { public String toString() {
String str = ""; String str = "";
switch (this.newAlign) { switch (this.newAlign) {

Loading…
Cancel
Save