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

📄 framedesign.java

📁 windows画图板.类似于windows自带的画图程序!
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
		mainSubjectMenu.setMnemonic('H');
		JMenuItem aboutDrawMenu = new JMenuItem("关于SmallPhoto(C)");
		aboutDrawMenu.setMnemonic('C');
		helpMenu.add(mainSubjectMenu);
		helpMenu.addSeparator();
		helpMenu.add(aboutDrawMenu);

		menuDesign.add(fileMenu);
		menuDesign.add(editMenu);
		menuDesign.add(lookMenu);
		menuDesign.add(imageMenu);
		menuDesign.add(colorMenu);
		menuDesign.add(helpMenu);
		setJMenuBar(menuDesign);

		// 调用事件

		MenuEventClass menuEvent = new MenuEventClass();
		editColorMenu.addActionListener(menuEvent);
		aboutDrawMenu.addActionListener(menuEvent);
		newMenu.addActionListener(menuEvent);
		openMenu.addActionListener(menuEvent);
		shuXingMenu.addActionListener(menuEvent);
		defineMenu.addActionListener(menuEvent);
		saveMenu.addActionListener(menuEvent);
		saveAsMenu.addActionListener(menuEvent);
		printViewMenu.addActionListener(menuEvent);
		setPageMenu.addActionListener(menuEvent);
		printMenu.addActionListener(menuEvent);
		sendMenu.addActionListener(menuEvent);
		exitMenu.addActionListener(menuEvent);
		normalMenu.addActionListener(menuEvent);
		bigMenu.addActionListener(menuEvent);
		fontToolMenu.addActionListener(menuEvent);
		clearSelectMenu.addActionListener(menuEvent);
		clearImageMenu.addActionListener(menuEvent);
		chuLiMenu.addActionListener(menuEvent);
		xuanZuanMenu.addActionListener(menuEvent);
		laShenMenu.addActionListener(menuEvent);
		Panel mainPane = new Panel();
		add(mainPane);

	}

	public void makeMenuItem(String name, final String plafName) {
		JMenuItem menu = new JMenuItem(name);
		lookAndFeel.add(menu);
		menu.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent event) {
				try {
					UIManager.setLookAndFeel(plafName);
					SwingUtilities.updateComponentTreeUI(JFrameTest.this);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	protected static JMenuItem fontToolMenu;
	private JMenu lookAndFeel;
}

@SuppressWarnings("serial")
class Panel extends JPanel {
	public Panel() {
		board = new DrawingBoard();
		setLayout(new BorderLayout());
		/***********************************************************************
		 * ******************************************************************
		 * ***************************主工具栏********************************
		 * ******************************************************************
		 **********************************************************************/
		mainToolBar = new JPanel();
		mainToolBar.setLayout(new GridLayout(1, 2));
		JToolBar toolBar = new JToolBar();
		newButton = new JButton(new ImageIcon(
				"E:\\java练习\\java练习\\SmallPhoto\\src\\img\\新建.jpg"));
		newButton.setToolTipText("新建");
		openButton = new JButton(new ImageIcon(
				"E:\\java练习\\java练习\\SmallPhoto\\src\\img\\打开.jpg"));
		openButton.setToolTipText("打开");
		saveButton = new JButton(new ImageIcon(
				"E:\\java练习\\java练习\\SmallPhoto\\src\\img\\保存.jpg"));
		saveButton.setToolTipText("保存");
		// saveButton.setEnabled(false);
		printButton = new JButton(new ImageIcon(
				"E:\\java练习\\java练习\\SmallPhoto\\src\\img\\打印.jpg"));
		printButton.setToolTipText("打印");
		// printButton.setEnabled(false);
		printViewButton = new JButton(new ImageIcon(
				"E:\\java练习\\java练习\\SmallPhoto\\src\\img\\打印预览.jpg"));
		printViewButton.setToolTipText("打印预览");
		// printViewButton.setEnabled(false);
		cheXiaoButton = new JButton(new ImageIcon(
				"E:\\java练习\\java练习\\SmallPhoto\\src\\img\\撤销.jpg"));
		cheXiaoButton.setToolTipText("撤销");
		// cheXiaoButton.setEnabled(false);
		chongZuoButton = new JButton(new ImageIcon(
				"E:\\java练习\\java练习\\SmallPhoto\\src\\img\\重做.jpg"));
		chongZuoButton.setToolTipText("重做");
		// chongZuoButton.setEnabled(false);
		cutButton = new JButton(new ImageIcon(
				"E:\\java练习\\java练习\\SmallPhoto\\src\\img\\剪切.jpg"));
		cutButton.setToolTipText("剪切");
		// cutButton.setEnabled(false);
		copyButton = new JButton(new ImageIcon(
				"E:\\java练习\\java练习\\SmallPhoto\\src\\img\\复制.jpg"));
		copyButton.setToolTipText("复制");
		// copyButton.setEnabled(false);
		pasteButton = new JButton(new ImageIcon(
				"E:\\java练习\\java练习\\SmallPhoto\\src\\img\\粘贴.jpg"));
		pasteButton.setToolTipText("粘贴");
		// pasteButton.setEnabled(false);
		bgButton = new JButton(new ImageIcon(
				"E:\\java练习\\java练习\\SmallPhoto\\src\\img\\背景色.jpg"));
		bgButton.setToolTipText("背景色");
		toolBar.add(newButton);
		toolBar.add(openButton);
		toolBar.add(saveButton);
		toolBar.addSeparator(new Dimension(5, 25));
		toolBar.add(printButton);
		toolBar.add(printViewButton);
		toolBar.addSeparator(new Dimension(5, 25));
		toolBar.add(cheXiaoButton);
		toolBar.add(chongZuoButton);
		toolBar.addSeparator(new Dimension(5, 25));
		toolBar.add(cutButton);
		toolBar.add(copyButton);
		toolBar.add(pasteButton);
		toolBar.addSeparator(new Dimension(5, 25));
		toolBar.add(bgButton);
		toolBar.addSeparator(new Dimension(5, 25));
		newButton.addActionListener(new MenuEventClass());
		openButton.addActionListener(new MenuEventClass());
		saveButton.addActionListener(new MenuEventClass());
		printButton.addActionListener(new MenuEventClass());
		printViewButton.addActionListener(new MenuEventClass());
		cheXiaoButton.addActionListener(new MenuEventClass());
		chongZuoButton.addActionListener(new MenuEventClass());
		cutButton.addActionListener(new MenuEventClass());
		copyButton.addActionListener(new MenuEventClass());
		pasteButton.addActionListener(new MenuEventClass());
		bgButton.addActionListener(new MenuEventClass());
		toolBar.setFloatable(false);
		JToolBar linePane = new JToolBar();
		String[] lineSize = new String[] { "Stroke Weight1.0X",
				"Stroke Weight2.0X", "Stroke Weight5.0X", "Stroke Weight7.5X",
				"Stroke Weight10.0X" };
		final JComboBox sizeSet = new JComboBox(lineSize);
		sizeSet.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				DrawingBoard.strokeIndex = sizeSet.getSelectedIndex();
			}
		});
		linePane.add(new JLabel("画笔大小:"));
		linePane.add(sizeSet);
		linePane.setFloatable(false);
		JToolBar eraseSize = new JToolBar();
		String[] eraserSize = new String[] { "Eraser Size 15px",
				"Eraser Size 20px", "Eraser Size 30px", "Eraser Size 50px",
				"Eraser Size 100px" };
		final JComboBox eraseSet = new JComboBox(eraserSize);
		eraseSet.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				DrawingBoard.eraserIndex = eraseSet.getSelectedIndex();
			}
		});
		eraseSize.add(new JLabel("橡皮擦大小:"));
		eraseSize.add(eraseSet);
		eraseSize.setFloatable(false);
		mainToolBar.add(toolBar);
		mainToolBar.add(linePane);
		mainToolBar.add(eraseSize);
		/***********************************************************************
		 * ****************************************************
		 * ************************绘图工具栏********************
		 * ****************************************************
		 **********************************************************************/
		drawTool = new JToolBar();
		drawTool.setFloatable(false);
		drawTool.setMargin(new Insets(0, 0, 0, 0));
		drawTool.setOrientation(1);
		drawTool.setLayout(new GridLayout(18, 1));
		JButton select = new JButton(new ImageIcon(
				"E:\\java练习\\java练习\\SmallPhoto\\src\\img\\选定.jpg"));
		select.setBorderPainted(false);
		select.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				board.setTool(DrawingBoard.TOOL_CLIPRECT);
			}
		});
		drawTool.add(select);
		JButton eraser = new JButton(new ImageIcon(
				"E:\\java练习\\java练习\\SmallPhoto\\src\\img\\橡皮.jpg"));
		eraser.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				board.setTool(DrawingBoard.TOOL_ERASER);
			}
		});
		eraser.setBorderPainted(false);
		drawTool.add(eraser);
		JButton quSe = new JButton(new ImageIcon(
				"E:\\java练习\\java练习\\SmallPhoto\\src\\img\\吸管.jpg"));
		quSe.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				board.setTool(DrawingBoard.TOOL_QUSHE);
			}
		});
		quSe.setBorderPainted(false);
		drawTool.add(quSe);
		JButton fangDaJing = new JButton(new ImageIcon(
				"E:\\java练习\\java练习\\SmallPhoto\\src\\img\\放大镜.jpg"));
		fangDaJing.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				JFrameTest.fontToolMenu.setEnabled(true);
				board.setTool(DrawingBoard.TOOL_FANGDAJING);
			}
		});
		fangDaJing.setBorderPainted(false);
		drawTool.add(fangDaJing);
		JButton pencil = new JButton(new ImageIcon(
				"E:\\java练习\\java练习\\SmallPhoto\\src\\img\\铅笔.jpg"));
		pencil.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				board.setTool(DrawingBoard.TOOL_PENCIL);
				Image curImg = Toolkit.getDefaultToolkit().getImage(
						"C:\\WINDOWS\\Cursors\\pen_l.jpg");
				Cursor cur = Toolkit.getDefaultToolkit().createCustomCursor(
						curImg,
						new Point(DrawingBoard.mouseY, DrawingBoard.mouseX),
						"pen");
				drawCanvas.setCursor(cur);
			}
		});
		pencil.setBorderPainted(false);
		drawTool.add(pencil);
		JButton brush = new JButton(new ImageIcon(
				"E:\\java练习\\java练习\\SmallPhoto\\src\\img\\刷子.jpg"));
		brush.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				new StrokeTest().main(null);
				JFrameTest.fontToolMenu.setEnabled(true);
				board.setTool(DrawingBoard.TOOL_BRUSH);
			}
		});
		brush.setBorderPainted(false);
		drawTool.add(brush);
		JButton penQiang = new JButton(new ImageIcon(
				"E:\\java练习\\java练习\\SmallPhoto\\src\\img\\喷枪.jpg"));
		penQiang.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				JFrameTest.fontToolMenu.setEnabled(true);
				board.setTool(DrawingBoard.TOOL_PENQIANG);
			}
		});
		penQiang.setBorderPainted(false);
		drawTool.add(penQiang);
		JButton font = new JButton(new ImageIcon(
				"E:\\java练习\\java练习\\SmallPhoto\\src\\img\\字体.jpg"));
		font.setBorderPainted(false);
		font.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				JFrameTest.fontToolMenu.setEnabled(true);
				board.setTool(DrawingBoard.TOOL_TEXT);
			}
		});
		drawTool.add(font);
		JButton line = new JButton(new ImageIcon(
				"E:\\java练习\\java练习\\SmallPhoto\\src\\img\\直线.jpg"));
		line.setBorderPainted(false);
		line.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				board.setTool(DrawingBoard.TOOL_LINE);
			}
		});
		drawTool.add(line);
		JButton quXian = new JButton(new ImageIcon(
				"E:\\java练习\\java练习\\SmallPhoto\\src\\img\\曲线.jpg"));
		quXian.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				board.setTool(DrawingBoard.TOOL_CURVE);
			}
		});
		quXian.setBorderPainted(false);
		drawTool.add(quXian);
		JButton rect = new JButton(new ImageIcon(
				"E:\\java练习\\java练习\\SmallPhoto\\src\\img\\四边形.jpg"));
		rect.setBorderPainted(false);
		rect.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				board.setTool(DrawingBoard.TOOL_RECT);
			}
		});
		drawTool.add(rect);
		JButton POLYGON = new JButton(new ImageIcon(
				"E:\\java练习\\java练习\\SmallPhoto\\src\\img\\多边形.jpg"));
		POLYGON.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				board.setTool(DrawingBoard.TOOL_POLYGON);
			}
		});
		POLYGON.setBorderPainted(false);
		drawTool.add(POLYGON);
		JButton oval = new JButton(new ImageIcon(
				"E:\\java练习\\java练习\\SmallPhoto\\src\\img\\圆形.jpg"));
		oval.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				board.setTool(DrawingBoard.TOOL_OVAL);
			}
		});
		oval.setBorderPainted(false);
		drawTool.add(oval);
		JButton yuJiaoJuXing = new JButton(new ImageIcon(
				"E:\\java练习\\java练习\\SmallPhoto\\src\\img\\圆角矩形.jpg"));
		yuJiaoJuXing.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				board.setTool(DrawingBoard.TOOL_ROUNDRECT);
			}
		});
		yuJiaoJuXing.setBorderPainted(false);
		drawTool.add(yuJiaoJuXing);
		JButton diamond = new JButton(new ImageIcon(
				"E:\\java练习\\java练习\\SmallPhoto\\src\\img\\菱形.jpg"));
		diamond.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				board.setTool(DrawingBoard.TOOL_DIAMOND);
			}
		});
		diamond.setBorderPainted(false);
		drawTool.add(diamond);
		/***********************************************************************
		 * ************************颜色工具箱************************
		 **********************************************************************/
		colorAndState = new JPanel();
		colorAndState.setLayout(new GridLayout(2, 1));
		color = new JToolBar();
		color.setFloatable(false);
		color.setLayout(new GridLayout(2, 75));
		for (int i = 50; i < 200; i++) {
			Random r = new Random();
			Random g = new Random();
			Random b = new Random();
			colorButton(new JButton(), new Color(
					(int) (r.nextFloat() * 255 + 1),
					(int) (g.nextFloat() * 255 + 1),
					(int) (b.nextFloat() * 255 + 1)));
		}
		/***********************************************************************
		 * *******************状态栏********************
		 **********************************************************************/
		state = new JToolBar();
		state.setFloatable(false);
		state.add(new JLabel("要获得帮助,请在\"帮助\"菜单中,单击\"帮助主题\"。"));
		colorAndState.add(color);
		colorAndState.add(state);
		/***********************************************************************
		 * *********************画布*********************
		 **********************************************************************/
		drawCanvas = new DrawingBoard();
		add(mainToolBar, BorderLayout.NORTH);
		add(drawTool, BorderLayout.WEST);
		add(new JScrollPane(drawCanvas), BorderLayout.CENTER);
		add(colorAndState, BorderLayout.SOUTH);

	}

	public void colorButton(final JButton corBtn, Color backColor) {
		color.add(corBtn);
		corBtn.setBackground(backColor);
		corBtn.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent f) {
				shapeColor = corBtn.getBackground();
			}
		});
	}

	protected static boolean judgmentDraw = false;
	protected static boolean inputText = false;
	protected static DrawingBoard drawCanvas;
	protected static DrawingBoard board;
	protected static JPanel colorAndState;
	protected static JPanel mainToolBar;
	protected static Color shapeColor;
	protected static JToolBar color;
	protected static JToolBar drawTool;
	protected static JToolBar state;
	protected static String darwBoardText;
	protected static JButton bgButton;
	protected static JButton newButton;
	protected static JButton openButton;
	protected static JButton saveButton;
	protected static JButton saveAsButton;
	protected static JButton printButton;
	protected static JButton cheXiaoButton;
	protected static JButton chongZuoButton;
	protected static JButton cutButton;
	protected static JButton copyButton;
	protected static JButton pasteButton;
	protected static JButton printViewButton;
}

⌨️ 快捷键说明

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