⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 grouplayout.java

📁 JGraph扩展应用。自定义Renderer,自定义视图View实现自定义工作流控件
💻 JAVA
字号:
package flow.graph.gui.tools;

import java.awt.Component;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Insets;
import java.awt.LayoutManager;
public class GroupLayout implements LayoutManager, java.io.Serializable {
	int vgap = 0;
	int hgap = 0;
	public GroupLayout() {
	}

	public GroupLayout(int hg, int vg) {
	    this.hgap = hg;
	    this.vgap = vg;
	}

	public void addLayoutComponent(String name, Component comp) {
	}

	public void removeLayoutComponent(Component comp) {
	}

	public Dimension preferredLayoutSize(Container parent) {
	    synchronized (parent.getTreeLock()) {
	        Insets insets = parent.getInsets();
	        int ncomponents = parent.getComponentCount();
	        int w = 0;
	        int h = 0;
	        for (int i = 0; i < ncomponents; i++) {
	            Component comp = parent.getComponent(i);
	            Dimension d = comp.getPreferredSize();
	            if (w < d.width) {
	                w = d.width;
	            }
	            h += d.height + vgap;
	        }
	        return new Dimension(insets.left + insets.right + w + 2 * hgap,
	                             insets.top + insets.bottom + h + 2 * vgap);
	    }
	}

	public Dimension minimumLayoutSize(Container parent) {
	    return preferredLayoutSize(parent);
	}

	public void layoutContainer(Container parent) {
	    synchronized (parent.getTreeLock()) {
	        Insets insets = parent.getInsets();
	        int ncomponents = parent.getComponentCount();
	        if (ncomponents == 0) {
	            return;
	        }
	        int y = insets.top + vgap;
	        for (int c = 0; c < ncomponents; c++) {
	            int h = parent.getComponent(c).getPreferredSize().height;
	            parent.getComponent(c).setBounds(
	                insets.left + hgap,
	                y,
	                parent.getWidth() - insets.left - insets.right -
	                2 * hgap, h);
	            y += h + vgap;
	        }
	    }
	}

	public String toString() {
	    return getClass().getName();
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -