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

📄 drawingpad_java.htm

📁 简单矢量图像编译器
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="java2html 1.7
by Lorenzo Bettini, bettini@gnu.org
http://w3.newnet.it/bettini
http://www.gnu.org/software/java2html/java2html.html">
<title>/home/jia/Books/Java-Examples-2ed/src/Chapter09/draw3/DrawingPad.java</title>
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#0000EE" vlink="#551A8B" alink="#FF0000">
<pre>
<tt>

<b><font color=#0000FF>package</font></b> draw3; 

<b><font color=#0000FF>import</font></b> java.awt.*;
<b><font color=#0000FF>import</font></b> java.awt.event.*;
<b><font color=#0000FF>import</font></b> java.io.*;
<b><font color=#0000FF>import</font></b> javax.swing.*; 
<b><font color=#0000FF>import</font></b> draw2.*;
<b><font color=#0000FF>import</font></b> scribble3.*;

<b><font color=#0000FF>public</font></b> <b><font color=#0000FF>class</font></b> DrawingPad <b><font color=#0000FF>extends</font></b> draw2.DrawingPad { 

  <b><font color=#0000FF>public</font></b> DrawingPad(String title) {
    <b><font color=#0000FF>super</font></b>(title); 
    JMenu optionMenu = menuBar.getMenu(<font color=#993399>2</font>); 
    addFontOptions(optionMenu); 
  }

  <i><font color=#9A1900>// factory method 
</font></i>  <b><font color=#0000FF>protected</font></b> ScribbleCanvas makeCanvas() {
    <b><font color=#0000FF>return</font></b> (drawingCanvas = keyboardDrawingCanvas = <b><font color=#0000FF>new</font></b> KeyboardDrawingCanvas()); 
  }

  <b><font color=#0000FF>protected</font></b> <font color=#009900>void</font> initTools() { 
    <b><font color=#0000FF>super</font></b>.initTools();
    toolkit.addTool(<b><font color=#0000FF>new</font></b> TextTool(canvas, <font color=#FF0000>"Text"</font>)); 
  }  

  <b><font color=#0000FF>protected</font></b> <font color=#009900>void</font> addFontOptions(JMenu optionMenu) { 
    String[] fontFamilyNames = {
      <font color=#FF0000>"Serif"</font>, 
      <font color=#FF0000>"Sans-serif"</font>,
      <font color=#FF0000>"Monospaced"</font>,
      <font color=#FF0000>"Dialog"</font>,
      <font color=#FF0000>"DialogInput"</font>
    };

    <font color=#009900>int</font>[] fontSizes = {
      <font color=#993399>8</font>, <font color=#993399>10</font>, <font color=#993399>12</font>, <font color=#993399>16</font>, <font color=#993399>20</font>, <font color=#993399>24</font>, <font color=#993399>28</font>, <font color=#993399>32</font>, <font color=#993399>40</font>, <font color=#993399>48</font>, <font color=#993399>64</font>
    };

    String[] fontStyleNames = {
      <font color=#FF0000>"plain"</font>, 
      <font color=#FF0000>"bold"</font>, 
      <font color=#FF0000>"italic"</font>, 
      <font color=#FF0000>"bold italic"</font> 
    };

    <font color=#009900>int</font> i; 
    ActionListener fontFamilyAction = <b><font color=#0000FF>new</font></b> ActionListener() { 
	<b><font color=#0000FF>public</font></b> <font color=#009900>void</font> actionPerformed(ActionEvent event) { 
	  Object source = event.getSource(); 
	  <b><font color=#0000FF>if</font></b> (source <b><font color=#0000FF>instanceof</font></b> JCheckBoxMenuItem) { 
	    JCheckBoxMenuItem mi = (JCheckBoxMenuItem) source; 
	    String name = mi.getText(); 
	    keyboardDrawingCanvas.setFontFamily(name); 	    
	  }
	}
      };
    JMenu fontFamilyMenu = <b><font color=#0000FF>new</font></b> JMenu(<font color=#FF0000>"Font family"</font>); 
    ButtonGroup group = <b><font color=#0000FF>new</font></b> ButtonGroup(); 
    <b><font color=#0000FF>for</font></b> (i = <font color=#993399>0</font>; i &lt; fontFamilyNames.length; i++) { 
      JCheckBoxMenuItem mi = <b><font color=#0000FF>new</font></b> JCheckBoxMenuItem(fontFamilyNames[i]); 
      fontFamilyMenu.add(mi); 
      mi.addActionListener(fontFamilyAction);
      group.add(mi); 
    }
    optionMenu.add(fontFamilyMenu); 

    ActionListener fontSizeAction = <b><font color=#0000FF>new</font></b> ActionListener() { 
	<b><font color=#0000FF>public</font></b> <font color=#009900>void</font> actionPerformed(ActionEvent event) { 
	  Object source = event.getSource(); 
	  <b><font color=#0000FF>if</font></b> (source <b><font color=#0000FF>instanceof</font></b> JCheckBoxMenuItem) { 
	    JCheckBoxMenuItem mi = (JCheckBoxMenuItem) source; 
	    String size = mi.getText(); 
	    <b><font color=#0000FF>try</font></b> { 
	      keyboardDrawingCanvas.setFontSize(Integer.parseInt(size)); 	    
	    } <b><font color=#0000FF>catch</font></b> (NumberFormatException e) {} 
	  }
	}
      };
    JMenu fontSizeMenu = <b><font color=#0000FF>new</font></b> JMenu(<font color=#FF0000>"Font size"</font>); 
    group = <b><font color=#0000FF>new</font></b> ButtonGroup(); 
    <b><font color=#0000FF>for</font></b> (i = <font color=#993399>0</font>; i &lt; fontSizes.length; i++) { 
      JCheckBoxMenuItem mi = <b><font color=#0000FF>new</font></b> JCheckBoxMenuItem(Integer.toString(fontSizes[i])); 
      fontSizeMenu.add(mi); 
      mi.addActionListener(fontSizeAction);
      group.add(mi); 
    }
    optionMenu.add(fontSizeMenu); 
    
    ActionListener fontStyleAction = <b><font color=#0000FF>new</font></b> ActionListener() { 
	<b><font color=#0000FF>public</font></b> <font color=#009900>void</font> actionPerformed(ActionEvent event) { 
	  Object source = event.getSource(); 
	  <b><font color=#0000FF>if</font></b> (source <b><font color=#0000FF>instanceof</font></b> JCheckBoxMenuItem) { 
	    JCheckBoxMenuItem mi = (JCheckBoxMenuItem) source; 
	    String styleName = mi.getText(); 
	    <font color=#009900>int</font> style = Font.PLAIN;
	    <b><font color=#0000FF>if</font></b> (styleName.equals(<font color=#FF0000>"bold"</font>)) { 
	      style = Font.BOLD; 
	    } <b><font color=#0000FF>else</font></b> <b><font color=#0000FF>if</font></b> (styleName.equals(<font color=#FF0000>"italic"</font>)) { 
	      style = Font.ITALIC;
	    } <b><font color=#0000FF>else</font></b> <b><font color=#0000FF>if</font></b> (styleName.equals(<font color=#FF0000>"bold italic"</font>)) { 
	      style = Font.BOLD | Font.ITALIC; 
	    }
	    keyboardDrawingCanvas.setFontStyle(style); 	    
	  }
	}
      };
    JMenu fontStyleMenu = <b><font color=#0000FF>new</font></b> JMenu(<font color=#FF0000>"Font style"</font>); 
    group = <b><font color=#0000FF>new</font></b> ButtonGroup(); 
    <b><font color=#0000FF>for</font></b> (i = <font color=#993399>0</font>; i &lt; fontStyleNames.length; i++) { 
      JCheckBoxMenuItem mi = <b><font color=#0000FF>new</font></b> JCheckBoxMenuItem(fontStyleNames[i]); 
      fontStyleMenu.add(mi); 
      mi.addActionListener(fontStyleAction);
      group.add(mi); 
    }
    optionMenu.add(fontStyleMenu); 
  }

  <b><font color=#0000FF>protected</font></b> KeyboardDrawingCanvas keyboardDrawingCanvas; 

  <b><font color=#0000FF>public</font></b> <b><font color=#0000FF>static</font></b> <font color=#009900>void</font> main(String[] args) {
    JFrame frame = <b><font color=#0000FF>new</font></b> draw3.DrawingPad(<font color=#FF0000>"Drawing Pad"</font>);
    frame.setSize(width, height);
    Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
    frame.setLocation(screenSize.width/<font color=#993399>2</font> - width/<font color=#993399>2</font>,
		      screenSize.height/<font color=#993399>2</font> - height/<font color=#993399>2</font>);
    frame.show();
  }

}
</tt>
</pre>
</body>
</html>

⌨️ 快捷键说明

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