亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? groupflowlayout.java

?? ibm的窗體
?? JAVA
字號:

package com.ibm.iwt.layout;

import java.awt.Component;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.LayoutManager2;
import java.util.Vector;

import javax.swing.SwingConstants;

/**
 * GroupFlowLayout works identically to FlowLayout except it groups
 * Components into 3 groups, left, center, and right.  The groups
 * are aligned based on their group name - in other words, left is left-aligned,
 * center is center-aligned, and right is right-aligned.  It also takes an insets
 * object for padding around each Component.
 * @author MAbernethy
 */
public class GroupFlowLayout implements LayoutManager2
{			
	private Vector vctLeft = new Vector();
	private Vector vctCenter = new Vector();
	private Vector vctRight = new Vector(); 

	/**
	 * Adds a component to the layout manager.  
	 * @param comp the Component to be added
	 * @param constraints type GroupFlowLayoutConstraints that contains
	 * the Insets used as padding and the group name for the Component
	 * @see GroupFlowLayoutConstraints
	 */
	public void addLayoutComponent(Component comp, Object constraints)
	{
		if (!(constraints instanceof GroupFlowLayoutConstraints))
			throw new IllegalArgumentException("Argument must be of type GroupFlowLayoutConstraints");
			
		GroupFlowLayoutConstraints cons = (GroupFlowLayoutConstraints)constraints;
		if (cons.group == SwingConstants.LEFT)
		{
			vctLeft.add(new GroupFlowLayoutData(comp, cons));
		}
		else if (cons.group == SwingConstants.CENTER)
		{
			vctCenter.add(new GroupFlowLayoutData(comp, cons));
		}
		else if (cons.group == SwingConstants.RIGHT)
		{
			vctRight.add(new GroupFlowLayoutData(comp, cons));
		}
	}

	/**
	 * Returns the maximum size this layout manager will size for.
	 * @param target the Container this layout manager is responsible for
	 * @return the maxium size
	 */
	public Dimension maximumLayoutSize(Container target)
	{
		return new Dimension(target.getWidth(), target.getHeight());
	}

	/**
	 * Returns the layout alignment along the x axis this layout manager uses.
	 * <br>This layout always returns 0.
	 * @param target the Container this layout manager is responsible for
	 * @return the alignment
	 */
	public float getLayoutAlignmentX(Container target)
	{
		return 0;
	}
	
	/**
	 * Returns the layout alignment along the y axis this layout manager uses.
	 * <br>This layout always returns 0.
	 * @param target the Container this layout manager is responsible for
	 * @return the alignment
	 */
	public float getLayoutAlignmentY(Container target)
	{
		return 0;
	}

	/**
	 * Invalidates the layout.
	 * @param target the Container this layout manager is responsible for
	 */
	public void invalidateLayout(Container target)
	{
	}

	/**
	 * Adds a component to this layout using the name only.
	 * <br>This function is not supported by GroupFlowLayout.
	 * @param name the Component name
	 * @param comp the Component to be added
	 */
	public void addLayoutComponent(String name, Component comp)
	{
	}

	/**
	 * Removes a component from the layout and from the container 
	 * this layout manager is responsible for.
	 * @param comp the Component to be removed
	 */
	public void removeLayoutComponent(Component comp)
	{
		vctCenter.remove(comp);
		vctLeft.remove(comp);
		vctRight.remove(comp);
		layoutContainer(comp.getParent());
	}

	/**
	 * Returns the preferred layout size of this layout manager.
	 * @param parent the Container this layout manager is responsible for
	 * @return the preferred size
	 */
	public Dimension preferredLayoutSize(Container parent)
	{
		return new Dimension(parent.getWidth(), parent.getHeight());
	}

	/**
	 * Returns the minimum size this layout manager needs to layout its
	 * components properly.
	 * @param parent the Container this layout manager is responsible for
	 * @return the minimum size
	 */
	public Dimension minimumLayoutSize(Container parent)
	{
		Component[] c = parent.getComponents();
		int totalWidth = 0;
		int maxHeight = 0;
		for (int i=0; i<c.length; i++)
		{
			totalWidth += c[i].getWidth();
			if (c[i].getHeight() > maxHeight)
				maxHeight = c[i].getHeight();
		}
		totalWidth += parent.getInsets().left + parent.getInsets().right;
		maxHeight += parent.getInsets().top + parent.getInsets().bottom;
		return new Dimension(totalWidth, maxHeight);
	}

	/**
	 * Lays out the container with all the components that have been added to the 
	 * container.
	 * @param parent the Container this layout manager is responsible for
	 */
	public void layoutContainer(Container parent)
	{
		int x = parent.getInsets().left;
		int y = parent.getInsets().top;
		int width = parent.getWidth() - x - parent.getInsets().right;
		int height = parent.getHeight() - y - parent.getInsets().bottom;
		
		// left components
		int xPos = x;
		for (int i=0; i<vctLeft.size(); i++)
		{
			GroupFlowLayoutData data = (GroupFlowLayoutData)vctLeft.get(i);
			Component c = data.c;
			GroupFlowLayoutConstraints cons = data.cons;
			c.setSize(c.getPreferredSize().width, c.getPreferredSize().height);
			c.setLocation(xPos+cons.insets.left, (height/2)-(c.getPreferredSize().height/2));
			xPos = xPos + c.getPreferredSize().width + cons.insets.right;
		}
		
		// center components
		int centerPixels = 0;
		for (int i=0; i<vctCenter.size(); i++)
		{
			GroupFlowLayoutData data = (GroupFlowLayoutData)vctCenter.get(i);
			Component c = data.c;
			GroupFlowLayoutConstraints cons = data.cons;
			centerPixels = centerPixels + c.getPreferredSize().width + cons.insets.left + cons.insets.right;
		}
		xPos = width/2 - centerPixels/2;
		for (int i=0; i<vctCenter.size(); i++)
		{
			GroupFlowLayoutData data = (GroupFlowLayoutData)vctCenter.get(i);
			Component c = data.c;
			GroupFlowLayoutConstraints cons = data.cons;
			c.setSize(c.getPreferredSize().width, c.getPreferredSize().height);
			c.setLocation(xPos+cons.insets.left, (height/2)-(c.getPreferredSize().height/2));
			xPos = xPos + c.getPreferredSize().width + cons.insets.right;
		}
		
		// right components
		xPos = width;
		for (int i=vctRight.size()-1; i>-1; i--)
		{
			GroupFlowLayoutData data = (GroupFlowLayoutData)vctRight.get(i);
			Component c = data.c;
			GroupFlowLayoutConstraints cons = data.cons;
			c.setSize(c.getPreferredSize().width, c.getPreferredSize().height);
			c.setLocation(xPos-c.getPreferredSize().width-cons.insets.right, (height/2)-(c.getPreferredSize().height/2));
			xPos = xPos - c.getPreferredSize().width-cons.insets.left;
		}
	}
	
	private class GroupFlowLayoutData
	{
		public Component c;
		public GroupFlowLayoutConstraints cons;	
		
		public GroupFlowLayoutData(Component c, GroupFlowLayoutConstraints cons)
		{
			this.c = c;
			this.cons = cons;	
		}
	}

}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美女尤物国产一区| 91精品国产全国免费观看| 国产欧美一区二区在线| 国产成人亚洲精品青草天美| 精品国产91乱码一区二区三区 | 欧美日韩亚洲综合| 一区二区视频在线| 欧美性猛交xxxx乱大交退制版| 亚洲精品你懂的| 884aa四虎影成人精品一区| 日韩国产精品久久| 精品国产制服丝袜高跟| 国产成人免费视频网站| 欧美经典三级视频一区二区三区| 成人晚上爱看视频| 日韩美女视频一区| 欧美日韩美女一区二区| 麻豆高清免费国产一区| 久久亚洲一级片| av资源站一区| 午夜av一区二区| 精品人在线二区三区| 国产91丝袜在线观看| 亚洲摸摸操操av| 欧美日韩三级一区| 激情图片小说一区| 中文字幕在线不卡国产视频| 欧美系列亚洲系列| 国产黑丝在线一区二区三区| 一区二区三区四区高清精品免费观看 | 国产成人精品三级麻豆| 中文字幕字幕中文在线中不卡视频| 欧美日韩一区小说| 国产高清亚洲一区| 一区二区欧美视频| 精品入口麻豆88视频| www.视频一区| 免费一区二区视频| 国产精品成人网| 日韩欧美中文一区| 成人午夜激情在线| 首页亚洲欧美制服丝腿| 国产性色一区二区| 欧美日韩成人一区二区| a亚洲天堂av| 国产在线播精品第三| 亚洲一区自拍偷拍| 国产日韩欧美一区二区三区乱码| 欧美亚一区二区| 国产999精品久久久久久绿帽| 亚洲线精品一区二区三区| 国产亚洲午夜高清国产拍精品| 欧美日韩在线播| 色婷婷综合五月| 国产成人无遮挡在线视频| 天天操天天色综合| 一区二区三区精品| 亚洲国产精品成人综合| 精品久久人人做人人爱| 欧美午夜寂寞影院| 91亚洲精华国产精华精华液| 国产乱子轮精品视频| 奇米888四色在线精品| 一区二区三区波多野结衣在线观看| 国产亚洲精品福利| 精品久久久久久久久久久院品网 | 国产91在线看| 国产乱子轮精品视频| 日韩av一级片| 久久综合av免费| 日韩午夜精品电影| 欧美一区二区在线不卡| 欧美在线高清视频| 在线视频国内一区二区| av动漫一区二区| 9i在线看片成人免费| 国产精品一区二区果冻传媒| 激情综合网激情| 国产一区在线观看视频| 美脚の诱脚舐め脚责91 | 国产亚洲一区二区三区| 欧美va亚洲va| 精品福利在线导航| 精品久久久久久久久久久久久久久 | 国产精品欧美综合在线| 久久久久久久久一| 久久精品亚洲精品国产欧美| 久久亚洲一区二区三区明星换脸 | 亚洲成人免费看| 亚洲成人在线网站| 亚洲成人精品一区| 日韩专区在线视频| 亚洲6080在线| 免费观看91视频大全| 麻豆精品一二三| 国产精品小仙女| 9久草视频在线视频精品| 色诱视频网站一区| 欧美日韩一区二区在线观看| 欧美福利视频一区| 欧美一区2区视频在线观看| 欧美一区二区视频免费观看| 久久这里只有精品首页| 中文字幕的久久| 一区二区三区四区蜜桃| 婷婷国产v国产偷v亚洲高清| 精品一区二区日韩| 国产iv一区二区三区| 91论坛在线播放| 欧美日韩一区二区三区四区| 精品国产一区二区在线观看| 日本一区二区成人| 五月天一区二区| 国产精品综合一区二区三区| 99r国产精品| 8v天堂国产在线一区二区| 久久免费午夜影院| 亚洲欧美激情一区二区| 日韩精品视频网| 成人激情视频网站| 欧美三级欧美一级| 久久影院午夜论| 亚洲制服欧美中文字幕中文字幕| 精品一区二区免费在线观看| 色狠狠av一区二区三区| 日韩欧美你懂的| 国产精品久久久久久久久图文区| 亚洲va国产天堂va久久en| 国产风韵犹存在线视精品| 欧美日韩中文精品| 国产欧美日韩三区| 五月天中文字幕一区二区| 岛国精品一区二区| 91精品国产一区二区三区蜜臀 | 色偷偷成人一区二区三区91| 精品国产凹凸成av人网站| 亚洲激情自拍偷拍| 韩国av一区二区| 欧美精品丝袜久久久中文字幕| 国产女主播一区| 久久er精品视频| 欧美三级在线视频| 亚洲视频一二三区| 国产精品白丝av| 欧美一区二区三区四区久久| 亚洲欧美日韩一区| 成人免费av网站| 2021久久国产精品不只是精品| 亚洲成人一区在线| 91视频你懂的| 国产精品国产三级国产普通话蜜臀| 视频一区欧美精品| 日本韩国欧美三级| 国产精品色在线| 国产在线播放一区| 欧美一区二区三区免费视频| 亚洲自拍偷拍av| 色噜噜狠狠一区二区三区果冻| 国产精品久久久久桃色tv| 精品一区二区国语对白| 555www色欧美视频| 亚洲成人三级小说| 欧美日韩视频专区在线播放| 一区二区三区资源| 91免费看`日韩一区二区| 日本一区二区三区在线观看| 国产一区二区在线免费观看| 日韩欧美123| 免费久久精品视频| 日韩欧美国产综合一区| 日韩专区中文字幕一区二区| 337p亚洲精品色噜噜噜| 亚洲二区视频在线| 欧美日韩免费一区二区三区视频| 一区二区日韩av| 欧美乱妇一区二区三区不卡视频| 亚洲国产精品麻豆| 欧美日韩视频专区在线播放| 一区二区高清视频在线观看| 在线中文字幕一区| 亚洲高清视频在线| 这里只有精品视频在线观看| 免费成人在线观看视频| 亚洲精品一区二区精华| 国产一区二区三区精品视频| 久久精品视频网| 97se亚洲国产综合在线| 亚洲精品一卡二卡| 欧美精品vⅰdeose4hd| 日韩va亚洲va欧美va久久| 欧美成人性福生活免费看| 国产精品一二三区| 国产精品女同一区二区三区| 91在线云播放| 天堂成人免费av电影一区| 在线综合亚洲欧美在线视频| 国产精品主播直播| 亚洲激情在线播放| 日韩免费电影网站| 国产99久久久精品|