メニューは GUI で最も一般的に使用されるコンポーネントであり、コンポーネント クラスのサブクラスではないため、通常のコンテナーに配置することはできず、メニュー バーにのみ配置できます。
メニュー コンポーネントは、メニュー バー (MenuBar)、メニュー (Menu)、およびメニュー項目 (MenuItem) の 3 つの部分で構成されます。 メニュー バーは複数のメニューで構成され、メニューは複数のメニュー項目で構成されます。通常、メニュー バーは Frame ウィンドウに配置され、Frame クラスの setMenuBar() メソッドを呼び出すだけです。
一般的に使用されるメニューには、ドロップダウン メニューとポップアップ メニュー (独立して表示され、どこにでも表示できます) が含まれます。
1: ドロップダウン メニューを作成する手順:
1. メニューバーを作成します。
2. Frame の setMenuBar() メソッドを呼び出して、メニュー バーを Frame に追加します。
3. 複数の Menu オブジェクトをそれぞれ作成し、MenuBar に追加します。
4. 各 Menu オブジェクトに対して、複数の MenuItem オブジェクトを作成し、それらを Menu に追加します。
例:
次のようにコードをコピーします。
java.awt.* をインポートします。
パブリック クラス MenuDemo {
フレーム f;
メニューバーム;
メニュー menuFile;
MenuItem mItemNew、mItemOpen、mItemSave;
MenuDemo() {
f = new Frame("マイ メニュー インスタンス");
f.setBounds(300, 100, 400, 300);
mb = new MenuBar() // メニューバーMenuBarを作成します。
menuFile = new Menu("ファイル");
mItemNew = 新しいMenuItem("新しい");
mItemOpen = new MenuItem("開く");
menuFile.add(mItemNew);
mItemSave = new MenuItem("保存");
menuFile.add(mItemOpen);
//分割線を追加
menuFile.addSeparator();
menuFile.add(mItemSave);
mb.add(メニューファイル);
// メニューバーに「ファイル」メニューを追加
// setMenuBar: このフォームのメニュー バーを指定されたメニュー バーに設定します。
f.setMenuBar(mb);
f.setVisible(true);
}
public static void main(String[] args) {
新しいMenuDemo();
}
}
写真もあれば真実もあります: (ドロップダウン メニュー項目はスクリーンショットにすることはできません)
2: ポップアップ メニューを作成する手順:
1. まず、最も基本的な JFrame フレームワークを確立します。
2. 右クリック ポップアップ メニュー (JPopupMenu) と追加されたメニュー項目 (JMenuItem) を作成します。 3. add メソッドと insert メソッドを使用して、JPopupMenu に追加または挿入します。 4. show メソッドを呼び出して、ポップアップを表示します。ポップアップ メニュー トリガーに対応するすべての MouseEvent イベントをチェックして、それらがポップアップ メニュー トリガーであるかどうかを確認し、必要に応じてポップアップ メニューを表示します。
例:
次のようにコードをコピーします。
インポート java.awt.event.*;
javax.swing.* をインポートします。
public class JPopMenu_Demo extends JFrame {
// ポップアップ メニューの実装 ポップアップ メニューは、一連のオプションをポップアップして表示する小さなウィンドウです。
JPopupMenu ポップアップメニュー;
public JPopMenu_Demo() {
super("右クリック ポップアップ メニュー"); // 親クラスのコンストラクターを呼び出します。
// ポップアップ メニューをインスタンス化します。
ポップアップメニュー = 新しい JPopupMenu();
// メニュー項目をメニューに追加します
PopupMenu.add(new JMenuItem("メニュー項目"));
PopupMenu.add(new JButton("ボタン"));
PopupMenu.add(new JLabel("ラベル"));
myEvents();
setSize(350, 300); //ウィンドウサイズを設定します。
setLocation(400, 200);
setVisible(true); // ウィンドウを表示するように設定します。
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //ウィンドウを閉じるときにプログラムを終了します。
}
private void myEvents() {
//ウィンドウマウスのイベント処理
addMouseListener(new MouseAdapter() {
// マウスをクリックします
public void MousePress(MouseEvent イベント) {
//triggerEvent メソッドを呼び出してイベントを処理します
トリガーイベント(イベント);
}
// マウスを放します
パブリック void マウスリリース(MouseEvent イベント) {
トリガーイベント(イベント);
}
private voidtriggerEvent(MouseEventevent) { // イベントを処理します
// isPopupTrigger(): このマウス イベントがプラットフォームのポップアップ メニューのイベントをトリガーするかどうかを返します。
if (event.isPopupTrigger())
// メニューを表示
PopupMenu.show(event.getComponent()、event.getX()、
イベント.getY());
}
});
}
public static void main(String args[]) {
新しい JPopMenu_Demo();
}
}
写真と真実があります(ただし、かなり醜いです)
3: タブ形式:
1.基本的な手順:
2. 一般的に使用される方法:
複数の JPanel オブジェクトを JTabbedPanel に追加します。そしてまた
JTabbedPanel をフォームに追加します。コードは次のとおりです。
次のようにコードをコピーします。
JTabbedPane jp=new JTabbedPane(JTabbedPane.LEFT) //タブ座標を設定します。
JPanel p1=new JPanel();
JPanel p2=new JPanel();
JPanel p3=new JPanel();
JPanel p4=new JPanel(); //複数のコンテナを作成します。
jp.add("フォーム1", p1);
jp.add("フォーム2", p2);
jp.add("Form 3", p3);//サブコンテナを追加し、タブに名前を追加します
this.add(jp,BorderLayout.CENTER); //メインフォームにタブフォームを追加
3. コード例とスクリーンショット:
次のようにコードをコピーします。
java.awt.* をインポートします。
javax.swing.* をインポートします。
/**
* <p>タイトル: タブのデモ</p>
* <p>説明: ここでは、さまざまなカードをクリックしてさまざまなコンテンツを表示するタブのデモを示します。</p>
*/
public class JTabbedPaneDemo1 extends JPanel {
public JTabbedPaneDemo1() {
super(new GridLayout(1, 1));
ImageIcon icon = createImageIcon("images/MyIcon.gif");
JTabbedPane tabbedPane = new JTabbedPane();
コンポーネントパネル1 = makeTextPanel("#最初のカード#");
tabbedPane.addTab("One", icon,panel1, "最初のカード プロンプト情報!");
tabbedPane.setSelectedIndex(0);
コンポーネントパネル2 = makeTextPanel("##2番目のカード##");
tabbedPane.addTab("Two", icon,panel2, "2 番目のカード プロンプト情報!");
コンポーネントパネル3 = makeTextPanel("###3番目のカード###");
tabbedPane.addTab("Three", icon,panel3, "3 番目のカード プロンプト情報!");
コンポーネントパネル4 = makeTextPanel("####4番目のカード####");
tabbedPane.addTab("4", icon,panel4, "4 番目のカード プロンプト情報!");
//パンにタブを追加
追加(タブ付きペイン);
}
/**
*<br>
* メソッドの説明: タブに情報を追加します<br>
※入力パラメータ:文字列テキスト 表示情報内容<br>
* 戻り値の型: コンポーネント メンバー オブジェクト
*/
protected コンポーネント makeTextPanel(String text) {
JPanel パネル = 新しい JPanel(false);
JLabel フィラー = new JLabel(text);
filler.sethorizontalAlignment(JLabel.CENTER);
パネル.setLayout(new GridLayout(1, 1));
パネル.add(フィラー);
リターンパネル。
}
/**
*<br>
*方法の説明: 画像を取得します<br>
* 入力パラメータ: 文字列パス画像パス<br>
* 戻り値の型: ImageIcon 画像オブジェクト
*/
protected static ImageIcon createImageIcon(String path) {
// java.net.URL imgURL = TabbedPaneDemo.class.getResource(path);
if (パス != null) {
新しい ImageIcon(パス) を返します。
} それ以外 {
System.out.println("ファイルが見つかりませんでした: " + パス);
null を返します。
}
}
public static void main(String[] args) {
// Swing フォームの記述を使用する
// JFrame.setDefaultLookAndFeelDecorated(true);
試す {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (例外 e) {
}
//フォームを作成する
JFrame フレーム = new JFrame("TabbedPaneDemo");
Frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Frame.getContentPane().add(new JTabbedPaneDemo1(), BorderLayout.CENTER);
// フォームを表示する
フレーム.setSize(400, 200);
フレーム.setVisible(true);
}
}