
--- ReviewPaintMain.java Mon Jun 15 22:25:00 2009
+++ ReviewPaintMain.java Mon Jun 15 22:28:05 2009
@@ -29,7 +29,13 @@
import javax.swing.JPanel;
import javax.swing.JApplet;
import javax.swing.JToolBar;
+import javax.swing.KeyStroke;
import javax.swing.SwingConstants;
+import javax.swing.JMenuBar;
+import javax.swing.JMenu;
+import java.awt.event.InputEvent;
+import java.awt.event.KeyEvent;
+import javax.swing.JMenuItem;
// JAppletを継承する
public class ReviewPaintMain extends JApplet {
@@ -109,8 +115,14 @@
private CardLayout layout; // オプションパネルのレイアウト変数(カードレイアウト)
- // キャンバスをクリアするボタン
- private JButton jButtonNewCanvas = null;
+
+ // 以降、メニューバー関連の部品
+
+ private JMenuBar jJMenuBar = null; // メニューバー
+
+ private JMenu jMenuFile = null; // 「ファイル」メニュー
+
+ private JMenuItem jMenuItemNew = null; // 「新規」メニューアイテム
// --------------------------------------------------
// コンストラクタ
@@ -125,6 +137,7 @@
public void init() {
this.setSize(800, 560); // アプレットサイズ
this.setContentPane(getJContentPane()); // コンポーネントの読み込み
+ this.setJMenuBar(getJJMenuBar()); // メニューバー
jPanelCanvasPaper.ptool = changeMainButton(PAINT_TOOL_STATE_PENCIL); // ペイントツールのデフォルト選択の指定
jPanelCanvasPaper.ptool.penColor = colorPanel.getColor(); // ペン色の設定
@@ -255,9 +268,6 @@
jLabelCursorPosition.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED)); // 枠(掘り込みベベル)
jPanelToolLayout.add(jLabelCursorPosition);
jPanelToolLayout.add(getJPanelToolOption());
-
- // キャンバスをクリアするボタンをツールパレットに追加
- jPanelToolLayout.add(getJButtonNewCanvas(), null);
}
return jPanelToolLayout;
}
@@ -430,20 +440,41 @@
return jPanelToolOption;
}
- // キャンバスをクリアするボタン
- private JButton getJButtonNewCanvas() {
- if (jButtonNewCanvas == null) {
- jButtonNewCanvas = new JButton();
- jButtonNewCanvas.setText("クリア");
-
+ // メニューバー
+ private JMenuBar getJJMenuBar() {
+ if (jJMenuBar == null) {
+ jJMenuBar = new JMenuBar();
+ jJMenuBar.add(getJMenuFile());
+ }
+ return jJMenuBar;
+ }
+
+ // 「ファイル」メニュー
+ private JMenu getJMenuFile() {
+ if (jMenuFile == null) {
+ jMenuFile = new JMenu();
+ jMenuFile.setMnemonic(KeyEvent.VK_F); // ショートカットキー
+ jMenuFile.setText("ファイル(F)");
+ jMenuFile.add(getJMenuItemNew());
+ }
+ return jMenuFile;
+ }
+
+ // 「新規」メニューアイテム
+ private JMenuItem getJMenuItemNew() {
+ if (jMenuItemNew == null) {
+ jMenuItemNew = new JMenuItem();
+ jMenuItemNew.setText("新規");
+ jMenuItemNew.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, InputEvent.CTRL_MASK)); // ショートカットキー
+
// ボタン押下イベント
- jButtonNewCanvas.addActionListener(new java.awt.event.ActionListener() {
+ jMenuItemNew.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
// キャンバスクラスのクリアメソッドを呼び出すことによりキャンバスをクリアする
jPanelCanvasPaper.Clear();
}
});
}
- return jButtonNewCanvas;
+ return jMenuItemNew;
}
}
\ No newline at end of file
| 変更の種類 | 変更後のファイル | 変更前後の比較 | ||
|---|---|---|---|---|
| 修正 | /branches/add_menubar/ReviewPaintMain.java | Side-by-side diffs | ||