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

📄 gridbaglab.java

📁 java2图形设计卷1:awt 源码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:

		add(gridwidthLabel, gbc);
		add(Box.createHorizontalStrut(7), gbc);
		gbc.gridwidth = GridBagConstraints.REMAINDER;
		add(gridwidthCombo, gbc);

		gbc.gridwidth = 1;

		add(gridheightLabel, gbc);
		add(Box.createHorizontalStrut(7), gbc);
		gbc.gridwidth = GridBagConstraints.REMAINDER;
		add(gridheightCombo, gbc);

		addToolTips();

		setBorder(new CompoundBorder(
			BorderFactory.createTitledBorder("Display Area"),
			BorderFactory.createEmptyBorder(10,10,10,10)));

		gridxCombo.addItem("RELATIVE");
		gridxCombo.addItem("0");
		gridxCombo.addItem("1");
		gridxCombo.addItem("2");
		gridxCombo.addItem("3");
		gridxCombo.addItem("4");
		gridxCombo.addItem("5");
		gridxCombo.addItem("6");
		gridxCombo.addItem("7");
		gridxCombo.addItem("8");
		gridxCombo.addItem("9");
		gridxCombo.addItem("10");

		gridyCombo.addItem("RELATIVE");
		gridyCombo.addItem("0");
		gridyCombo.addItem("1");
		gridyCombo.addItem("2");
		gridyCombo.addItem("3");
		gridyCombo.addItem("4");
		gridyCombo.addItem("5");
		gridyCombo.addItem("6");
		gridyCombo.addItem("7");
		gridyCombo.addItem("8");
		gridyCombo.addItem("9");
		gridyCombo.addItem("10");

		gridwidthCombo.addItem("RELATIVE");
		gridwidthCombo.addItem("REMAINDER");
		gridwidthCombo.addItem("1");
		gridwidthCombo.addItem("2");
		gridwidthCombo.addItem("3");
		gridwidthCombo.addItem("4");
		gridwidthCombo.addItem("5");
		gridwidthCombo.addItem("6");
		gridwidthCombo.addItem("7");
		gridwidthCombo.addItem("8");
		gridwidthCombo.addItem("9");
		gridwidthCombo.addItem("10");

		gridheightCombo.addItem("RELATIVE");
		gridheightCombo.addItem("REMAINDER");
		gridheightCombo.addItem("1");
		gridheightCombo.addItem("2");
		gridheightCombo.addItem("3");
		gridheightCombo.addItem("4");
		gridheightCombo.addItem("5");
		gridheightCombo.addItem("6");
		gridheightCombo.addItem("7");
		gridheightCombo.addItem("8");
		gridheightCombo.addItem("9");
		gridheightCombo.addItem("10");

		gridxCombo.addItemListener(new ItemListener() {
			public void itemStateChanged(ItemEvent event) {
				GridBagConstraints tgbc =
							GridBagLab.gblframe.getConstraints();

				tgbc.gridx = getGridx();
				GridBagLab.gblframe.setConstraints(tgbc);
			}
		});
		gridyCombo.addItemListener(new ItemListener() {
			public void itemStateChanged(ItemEvent event) {
				GridBagConstraints tgbc =
							GridBagLab.gblframe.getConstraints();

				tgbc.gridy = getGridy();
				GridBagLab.gblframe.setConstraints(tgbc);
			}
		});
		gridwidthCombo.addItemListener(new ItemListener() {
			public void itemStateChanged(ItemEvent event) {
				GridBagConstraints tgbc =
							GridBagLab.gblframe.getConstraints();

				tgbc.gridwidth = getGridwidth();
				GridBagLab.gblframe.setConstraints(tgbc);
			}
		});
		gridheightCombo.addItemListener(new ItemListener() {
			public void itemStateChanged(ItemEvent event) {
				GridBagConstraints tgbc =
							GridBagLab.gblframe.getConstraints();

				tgbc.gridheight = getGridheight();
				GridBagLab.gblframe.setConstraints(tgbc);
			}
		});

		class GridxyListener extends MouseAdapter {
			public void mouseEntered(MouseEvent event) {
				GridBagLab.gblframe.setHelpViewer("gridxy.txt");
			}
		}
		class GridwhListener extends MouseAdapter {
			public void mouseEntered(MouseEvent event) {
				GridBagLab.gblframe.setHelpViewer("gridwh.txt");
			}
		}

		GridxyListener gridxyListener = new GridxyListener();
		GridwhListener gridwhListener = new GridwhListener();

		gridxLabel.addMouseListener(gridxyListener);
		gridxCombo.addMouseListener(gridxyListener);

		gridyLabel.addMouseListener(gridxyListener);
		gridyCombo.addMouseListener(gridxyListener);

		gridwidthLabel.addMouseListener(gridwhListener);
		gridwidthCombo.addMouseListener(gridwhListener);

		gridheightLabel.addMouseListener(gridwhListener);
		gridheightCombo.addMouseListener(gridwhListener);
	}
	public void setGridx(int gridx) {
		if(gridx == GridBagConstraints.RELATIVE)
			gridxCombo.setSelectedItem("RELATIVE");
		else
			gridxCombo.setSelectedIndex(gridx+1);
		repaint();
	}
	public void setGridy(int gridy) {
		if(gridy == GridBagConstraints.RELATIVE)
			gridyCombo.setSelectedItem("RELATIVE");
		else
			gridyCombo.setSelectedIndex(gridy+1);
		repaint();
	}
	public void setGridheight(int gridheight) {
		if(gridheight == GridBagConstraints.RELATIVE)
			gridheightCombo.setSelectedItem("RELATIVE");
		else if(gridheight == GridBagConstraints.REMAINDER)
			gridheightCombo.setSelectedItem("REMAINDER");
		else	
			gridheightCombo.setSelectedIndex(gridheight+1);
	}
	public void setGridwidth(int gridwidth) {
		if(gridwidth == GridBagConstraints.RELATIVE)
			gridwidthCombo.setSelectedItem("RELATIVE");
		else if(gridwidth == GridBagConstraints.REMAINDER)
			gridwidthCombo.setSelectedItem("REMAINDER");
		else	
			gridwidthCombo.setSelectedIndex(gridwidth+1);
	}
	public int getGridx() {
		String x = (String)gridxCombo.getSelectedItem();
		int rv;

		if(x.equals("RELATIVE"))
			rv = GridBagConstraints.RELATIVE;
		else {
			rv = Integer.parseInt(
					(String)gridxCombo.getSelectedItem());
		}
		return rv;
	}
	public int getGridy() {
		String y = (String)gridyCombo.getSelectedItem();
		int rv;

		if(y.equals("RELATIVE"))
			rv = GridBagConstraints.RELATIVE;
		else {
			rv = Integer.parseInt(
					(String)gridyCombo.getSelectedItem());
		}
		return rv;
	}
	public int getGridwidth() {
		String width = (String)gridwidthCombo.getSelectedItem();
		int rv;

		if(width.equals("RELATIVE"))
			rv = GridBagConstraints.RELATIVE;
		else if(width.equals("REMAINDER"))
			rv = GridBagConstraints.REMAINDER;
		else {
			rv = Integer.parseInt(
					(String)gridwidthCombo.getSelectedItem());
		}
		return rv;
	}
	public int getGridheight() {
		String height = (String)gridheightCombo.getSelectedItem();
		int rv;

		if(height.equals("RELATIVE"))
			rv = GridBagConstraints.RELATIVE;
		else if(height.equals("REMAINDER"))
			rv = GridBagConstraints.REMAINDER;
		else {
			rv = Integer.parseInt(
					(String)gridheightCombo.getSelectedItem());
		}
		return rv;
	}
}
class AnchorFillWeightPanel extends JPanel {
	JLabel		anchorLabel = new JLabel("Anchor:"),
				fillLabel 	= new JLabel("Fill:"),
				weightxLabel = new JLabel("weightx:"),
				weightyLabel = new JLabel("weighty:");

	JComboBox  	anchorCombo = new JComboBox(),
				fillCombo 	= new JComboBox();

	JComboBox	weightxCombo = new JComboBox(),
				weightyCombo = new JComboBox();

	public AnchorFillWeightPanel() {
		anchorCombo.addItem("NORTH");
		anchorCombo.addItem("NORTHEAST");
		anchorCombo.addItem("EAST");
		anchorCombo.addItem("SOUTHEAST");
		anchorCombo.addItem("SOUTH");
		anchorCombo.addItem("SOUTHWEST");
		anchorCombo.addItem("WEST");
		anchorCombo.addItem("NORTHWEST");
		anchorCombo.addItem("CENTER");

		weightxCombo.addItem("0.0");
		weightxCombo.addItem("0.1");
		weightxCombo.addItem("0.2");
		weightxCombo.addItem("0.25");
		weightxCombo.addItem("0.3");
		weightxCombo.addItem("0.4");
		weightxCombo.addItem("0.5");
		weightxCombo.addItem("0.6");
		weightxCombo.addItem("0.7");
		weightxCombo.addItem("0.75");
		weightxCombo.addItem("0.8");
		weightxCombo.addItem("0.9");
		weightxCombo.addItem("1.0");

		weightyCombo.addItem("0.0");
		weightyCombo.addItem("0.1");
		weightyCombo.addItem("0.2");
		weightyCombo.addItem("0.25");
		weightyCombo.addItem("0.3");
		weightyCombo.addItem("0.4");
		weightyCombo.addItem("0.5");
		weightyCombo.addItem("0.6");
		weightyCombo.addItem("0.7");
		weightyCombo.addItem("0.75");
		weightyCombo.addItem("0.8");
		weightyCombo.addItem("0.9");
		weightyCombo.addItem("1.0");

		fillCombo.addItem("NONE");
		fillCombo.addItem("HORIZONTAL");
		fillCombo.addItem("VERTICAL");
		fillCombo.addItem("BOTH");

		GridBagLayout gbl = new GridBagLayout();
		GridBagConstraints gbc = new GridBagConstraints();

		setLayout(gbl);
		gbc.anchor = GridBagConstraints.NORTHWEST;

		add(anchorLabel, gbc);
		add(Box.createHorizontalStrut(10), gbc);
		gbc.gridwidth = GridBagConstraints.REMAINDER;
		gbc.weightx = 1.0;
		add(anchorCombo, gbc);
		gbc.weightx = 0;
		add(Box.createVerticalStrut(3), gbc);

		gbc.gridwidth = 1;
		add(fillLabel, gbc);
		add(Box.createHorizontalStrut(10), gbc);
		gbc.gridwidth = GridBagConstraints.REMAINDER;
		gbc.weightx = 1.0;
		add(fillCombo, gbc);
		gbc.weightx = 0;
		add(Box.createVerticalStrut(13), gbc);

		gbc.gridwidth = 1;
		gbc.anchor = GridBagConstraints.WEST;
		add(weightxLabel, gbc);
		add(Box.createHorizontalStrut(10), gbc);
		gbc.gridwidth = GridBagConstraints.REMAINDER;
		gbc.weightx = 1.0;
		add(weightxCombo, gbc);
		gbc.weightx = 0;
		add(Box.createVerticalStrut(3), gbc);

		gbc.gridwidth = 1;
		add(weightyLabel, gbc);
		add(Box.createHorizontalStrut(10), gbc);
		gbc.gridwidth = GridBagConstraints.REMAINDER;
		gbc.weightx = 1.0;
		add(weightyCombo, gbc);
		gbc.weightx = 0;
		gbc.gridwidth = 1;

		setBorder(new CompoundBorder(
				BorderFactory.createTitledBorder(
					"Anchor, Fill and Weight"),
				BorderFactory.createEmptyBorder(10,10,10,10)));

		fillCombo.addItemListener(new ItemListener() {
			public void itemStateChanged(ItemEvent event) {
				int state = event.getStateChange();			

				if(state == ItemEvent.SELECTED) {
					GridBagConstraints tgbc =
							GridBagLab.gblframe.getConstraints();

					tgbc.fill = getFill();
					GridBagLab.gblframe.setConstraints(tgbc);
				}
			}
		});
		anchorCombo.addItemListener(new ItemListener() {
			public void itemStateChanged(ItemEvent event) {
				int state = event.getStateChange();			

				if(state == ItemEvent.SELECTED) {
					GridBagConstraints tgbc =
							GridBagLab.gblframe.getConstraints();

					tgbc.anchor = getAnchor();
					GridBagLab.gblframe.setConstraints(tgbc);
				}
			}
		});
		weightxCombo.addItemListener(new ItemListener() {
			public void itemStateChanged(ItemEvent event) {
				int state = event.getStateChange();			

				if(state == ItemEvent.SELECTED) {
					GridBagConstraints tgbc =
							GridBagLab.gblframe.getConstraints();

					tgbc.weightx = (getWeightx()).doubleValue();
					GridBagLab.gblframe.setConstraints(tgbc);
				}
			}
		});
		weightyCombo.addItemListener(new ItemListener() {
			public void itemStateChanged(ItemEvent event) {
				int state = event.getStateChange();			

				if(state == ItemEvent.SELECTED) {
					GridBagConstraints tgbc =
							GridBagLab.gblframe.getConstraints();

					tgbc.weighty = (getWeighty()).doubleValue();
					GridBagLab.gblframe.setConstraints(tgbc);
				}
			}
		});
		class FillListener extends MouseAdapter {
			public void mouseEntered(MouseEvent event) {
				GridBagLab.gblframe.setHelpViewer("fill.txt");
			}
		}
		class AnchorListener extends MouseAdapter {
			public void mouseEntered(MouseEvent event) {
				GridBagLab.gblframe.setHelpViewer("anchor.txt");
			}
		}
		class WeightListener extends MouseAdapter {
			public void mouseEntered(MouseEvent event) {
				GridBagLab.gblframe.setHelpViewer("weight.txt");
			}
		}
		AnchorListener anchorListener = new AnchorListener();
		WeightListener weightListener = new WeightListener();
		FillListener fillListener = new FillListener();

		anchorLabel.addMouseListener(anchorListener);
		anchorCombo.addMouseListener(anchorListener);

		weightxLabel.addMouseListener(weightListener);
		weightyLabel.addMouseListener(weightListener);

		weightxCombo.addMouseListener(weightListener);
		weightyCombo.addMouseListener(weightListener);

		fillLabel.addMouseListener(fillListener);
		fillCombo.addMouseListener(fillListener);
	}
	public Double getWeightx() {
		return Double.valueOf(
					(String)weightxCombo.getSelectedItem());
	}
	public Double getWeighty() {
		return Double.valueOf(
					(String)weightyCombo.getSelectedItem());
	}
	public void setWeightx(Double d) {
		weightxCombo.setSelectedItem(d.toString());
	}
	public void setWeighty(Double d) {
		weightyCombo.setSelectedItem(d.toString());
	}
	public int getAnchor() {
		String index = (String)anchorCombo.getSelectedItem();
		int anchor = GridBagConstraints.NORTH;

		if("NORTH".equals(index))
			anchor = GridBagConstraints.NORTH;
		else if("NORTHEAST".equals(index))
			anchor = GridBagConstraints.NORTHEAST;
		else if("NORTHWEST".equals(index))
			anchor = GridBagConstraints.NORTHWEST;
		else if("EAST".equals(index))
			anchor = GridBagConstraints.EAST;
		else if("SOUTHEAST".equals(index))
			anchor = GridBagConstraints.SOUTHEAST;
		else if("SOUTH".equals(index))
			anchor = GridBagConstraints.SOUTH;
		else if("SOUTHWEST".equals(index))
			anchor = GridBagConstraints.SOUTHWEST;
		else if("WEST".equals(index))
			anchor = GridBagConstraints.WEST;
		else if("CENTER".equals(index))
			anchor = GridBagConstraints.CENTER;

		return anchor;
	}
	public int getFill() {
		String index = (String)fillCombo.getSelectedItem();
		int fill = GridBagConstraints.NONE;

		if("NONE".equals(index))
			fill = GridBagConstraints.NONE;
		else if("HORIZONTAL".equals(index))
			fill = GridBagConstraints.HORIZONTAL;
		else if("VERTICAL".equals(index))
			fill = GridBagConstraints.VERTICAL;
		else if("BOTH".equals(index))
			fill = GridBagConstraints.BOTH;

		return fill;
	}
	public void setAnchor(int anchor) {
		if(anchor == GridBagConstraints.NORTH)
			anchorCombo.setSelectedItem("NORTH");
		else if(anchor == GridBagConstraints.NORTHEAST)
			anchorCombo.setSelectedItem("NORTHEAST");
		else if(anchor == GridBagConstraints.NORTHWEST)
			anchorCombo.setSelectedItem("NORTHWEST");
		else if(anchor == GridBagConstraints.SOUTH)
			anchorCombo.setSelectedItem("SOUTH");
		else if(anchor == GridBagConstraints.SOUTHEAST)
			anchorCombo.setSelectedItem("SOUTHEAST");
		else if(anchor == GridBagConstraints.SOUTHWEST)
			anchorCombo.setSelectedItem("SOUTHWEST");
		else if(anchor == GridBagConstraints.EAST)
			anchorCombo.setSelectedItem("EAST");
		else if(anchor == GridBagConstraints.WEST)
			anchorCombo.setSelectedItem("WEST");
		else if(anchor == GridBagConstraints.CENTER)
			anchorCombo.setSelectedItem("CENTER");
	}
	public void setFill(int fill) {
		if(fill == GridBagConstraints.NONE)
			fillCombo.setSelectedItem("NONE");
		else if(fill == GridBagConstraints.HORIZONTAL)
			fillCombo.setSelectedItem("HORIZONTAL");
		else if(fill == GridBagConstraints.VERTICAL)
			fillCombo.setSelectedItem("VERTICAL");
		else if(fill == GridBagConstraints.BOTH)
			fillCombo.setSelectedItem("BOTH");
	}
}
class AboutDialog extends Dialog {
	public AboutDialog(JFrame frame) {
		super(frame, "GridBagLab");

		JButton button = new JButton("Ok");

		setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));

		add(new JLabel(
			"A Swing application for exploring GridBagLayout"));

		add(Box.createVerticalStrut(20));

		add(new JLabel(
			"Copyright 1997, Sabreware Inc.",
			new ImageIcon("sabreware.gif"),
			SwingConstants.LEFT));

		add(Box.createVerticalStrut(50));
		add(button);

		button.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				dispose();
			}
		});
	}
}

⌨️ 快捷键说明

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