差分情報適用後の実行イメージ

差分情報

パッチファイル (Unified diffs)

--- CanvasPanel.java	Mon Jun 01 05:12:13 2009
+++ CanvasPanel.java	Mon Jun 15 14:36:56 2009
@@ -97,4 +97,14 @@
 			((Graphics2D) g).drawImage(img, 0, 0, this);
 		}
 	}
+
+	// --------------------------------------------------
+	// キャンバスを白紙にする
+	// --------------------------------------------------
+	public void Clear() {
+		// 自身のサイズでイメージデータを初期化する
+		img = (BufferedImage) createImage(getSize().width, getSize().height);
+		// 描写処理へ
+		repaint();
+	}
 }
--- ReviewPaintMain.java	Mon Jun 01 05:12:12 2009
+++ ReviewPaintMain.java	Mon Jun 15 22:23:05 2009
@@ -109,6 +109,9 @@
 
 	private CardLayout layout; // オプションパネルのレイアウト変数(カードレイアウト)
 
+	// キャンバスをクリアするボタン
+	private JButton jButtonNewCanvas = null;
+
 	// --------------------------------------------------
 	// コンストラクタ
 	// --------------------------------------------------
@@ -252,6 +255,9 @@
 			jLabelCursorPosition.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED)); // 枠(掘り込みベベル)
 			jPanelToolLayout.add(jLabelCursorPosition);
 			jPanelToolLayout.add(getJPanelToolOption());
+			
+			// キャンバスをクリアするボタンをツールパレットに追加
+			jPanelToolLayout.add(getJButtonNewCanvas(), null);
 		}
 		return jPanelToolLayout;
 	}
@@ -422,5 +428,22 @@
 			jPanelToolOption.add(pt_spuit.jPanel, "spuit");
 		}
 		return jPanelToolOption;
+	}
+
+	// キャンバスをクリアするボタン
+	private JButton getJButtonNewCanvas() {
+		if (jButtonNewCanvas == null) {
+			jButtonNewCanvas = new JButton();
+			jButtonNewCanvas.setText("クリア");
+			
+			// ボタン押下イベント
+			jButtonNewCanvas.addActionListener(new java.awt.event.ActionListener() {
+				public void actionPerformed(java.awt.event.ActionEvent e) {
+					// キャンバスクラスのクリアメソッドを呼び出すことによりキャンバスをクリアする
+					jPanelCanvasPaper.Clear();
+				}
+			});
+		}
+		return jButtonNewCanvas;
 	}
 }
\ No newline at end of file

変更後のファイル

変更の種類 変更後のファイル 変更前後の比較
修正 /branches/add_canvasClearButton/CanvasPanel.java Side-by-side diffs
修正 /branches/add_canvasClearButton/ReviewPaintMain.java Side-by-side diffs
リンク先は リポジトリ上のURLです