<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # Java Gnome 中的菜單 > 原文: [http://zetcode.com/gui/javagnome/menus/](http://zetcode.com/gui/javagnome/menus/) 在 Java Gnome 編程教程的這一部分中,我們將使用菜單。 菜單欄是 GUI 應用中最常見的部分之一。 它是位于各個菜單中的一組命令。 在控制臺應用中,您必須記住所有這些神秘命令,在這里,我們將大多數命令分組為邏輯部分。 這些公認的標準可進一步減少學習新應用的時間。 ## 簡單菜單 在第一個示例中,我們將創建一個帶有一個文件菜單的菜單欄。 該菜單將只有一個菜單項。 通過選擇項目,應用退出。 `simplemenu.java` ```java package com.zetcode; import org.gnome.gdk.Event; import org.gnome.gtk.Gtk; import org.gnome.gtk.Menu; import org.gnome.gtk.MenuBar; import org.gnome.gtk.MenuItem; import org.gnome.gtk.VBox; import org.gnome.gtk.Widget; import org.gnome.gtk.Window; import org.gnome.gtk.WindowPosition; /** * ZetCode Java Gnome tutorial * * This program creates a simple menu. * * @author jan bodnar * website zetcode.com * last modified March 2009 */ public class GSimpleMenu extends Window { public GSimpleMenu() { setTitle("Simple menu"); initUI(); setDefaultSize(250, 200); setPosition(WindowPosition.CENTER); showAll(); } private void initUI() { connect(new Window.DeleteEvent() { public boolean onDeleteEvent(Widget source, Event event) { Gtk.mainQuit(); return false; } }); VBox vbox = new VBox(false, 0); MenuBar menuBar = new MenuBar(); MenuItem fileItem = new MenuItem("File"); menuBar.append(fileItem); Menu quitMenu = new Menu(); MenuItem quitItem = new MenuItem("Quit"); quitItem.connect(new MenuItem.Activate() { public void onActivate(MenuItem menuItem) { Gtk.mainQuit(); } }); quitMenu.append(quitItem); fileItem.setSubmenu(quitMenu); vbox.packStart(menuBar, false, false, 3); add(vbox); } public static void main(String[] args) { Gtk.init(args); new GSimpleMenu(); Gtk.main(); } } ``` 這是一個最小的菜單欄功能示例。 ```java MenuBar menuBar = new MenuBar(); ``` `MenuBar`小部件已創建。 ```java MenuItem fileItem = new MenuItem("File"); menuBar.append(fileItem); ``` 創建頂層`MenuItem`。 ```java Menu quitMenu = new Menu(); MenuItem quitItem = new MenuItem("Quit"); ... quitMenu.append(quitItem); ``` 創建退出`MenuItem`并將其附加到退出`Menu`。 ```java fileItem.setSubmenu(quitMenu); ``` 退出菜單設置為頂級文件菜單項的子菜單。 ```java VBox vbox = new VBox(false, 0); ... vbox.packStart(menuBar, false, false, 3); add(vbox); ``` 與其他工具包不同,我們必須自己照顧菜單欄的布局管理。 我們將菜單欄放入垂直框中。 ![Simple menu](https://img.kancloud.cn/49/27/4927ea4504f413c02754d1969767c6f3_256x225.jpg) 圖:簡單菜單 ## 圖像菜單 在下一個示例中,我們將進一步探索菜單。 我們將使用圖像和分隔符。 `imagemenu.java` ```java package com.zetcode; import org.gnome.gtk.Gtk; import org.gnome.gtk.ImageMenuItem; import org.gnome.gtk.Menu; import org.gnome.gtk.MenuBar; import org.gnome.gtk.MenuItem; import org.gnome.gtk.SeparatorMenuItem; import org.gnome.gtk.Stock; import org.gnome.gtk.VBox; import org.gnome.gtk.Window; import org.gnome.gtk.WindowPosition; /** * ZetCode Java Gnome tutorial * * This program shows images in * the menu. * * @author jan bodnar * website zetcode.com * last modified March 2009 */ public class GImageMenu extends Window { public GImageMenu() { setTitle("ImageMenu"); initUI(); setDefaultSize(250, 200); setPosition(WindowPosition.CENTER); showAll(); } private void initUI() { VBox vbox = new VBox(false, 0); add(vbox); MenuBar menuBar = new MenuBar(); MenuItem file = new MenuItem("_File"); Menu fileMenu = new Menu(); ImageMenuItem imnew = new ImageMenuItem(Stock.NEW); ImageMenuItem imopen = new ImageMenuItem(Stock.OPEN); ImageMenuItem imquit = new ImageMenuItem(Stock.QUIT); imquit.connect(new MenuItem.Activate() { public void onActivate(MenuItem menuItem) { Gtk.mainQuit(); } }); fileMenu.append(imnew); fileMenu.append(imopen); fileMenu.append(new SeparatorMenuItem()); fileMenu.append(imquit); file.setSubmenu(fileMenu); menuBar.append(file); vbox.packStart(menuBar, false, false, 3); } public static void main(String[] args) { Gtk.init(args); new GImageMenu(); Gtk.main(); } } ``` 該代碼示例顯示了如何在 Java Gnome 的菜單中使用圖像和分隔符。 ```java ImageMenuItem imnew = new ImageMenuItem(Stock.NEW); ImageMenuItem imopen = new ImageMenuItem(Stock.OPEN); ImageMenuItem imquit = new ImageMenuItem(Stock.QUIT); ``` `ImageMenuItem`對象已創建。 圖像來自圖像的內部庫存。 ```java fileMenu.append(new SeparatorMenuItem()); ``` 此代碼行創建一個分隔符。 它用于將菜單項分成邏輯組。 ![Image menu](https://img.kancloud.cn/f9/d7/f9d709a9127ebc9943e60ae15c0ef9e4_256x225.jpg) 圖:圖像 menu ## `CheckMenuItem` `CheckMenuItem`是帶有復選框的菜單項。 它可以用于布爾屬性。 `checkmenuitem.java` ```java package com.zetcode; import org.gnome.gdk.Event; import org.gnome.gtk.CheckMenuItem; import org.gnome.gtk.Gtk; import org.gnome.gtk.Label; import org.gnome.gtk.Menu; import org.gnome.gtk.MenuBar; import org.gnome.gtk.MenuItem; import org.gnome.gtk.Statusbar; import org.gnome.gtk.VBox; import org.gnome.gtk.Widget; import org.gnome.gtk.Window; import org.gnome.gtk.WindowPosition; /** * ZetCode Java Gnome tutorial * * This program creates checked menu * item. * * @author jan bodnar * website zetcode.com * last modified March 2009 */ public class GCheckMenuItem extends Window { private Statusbar statusbar; public GCheckMenuItem() { setTitle("Check menu item"); initUI(); connect(new Window.DeleteEvent() { public boolean onDeleteEvent(Widget source, Event event) { Gtk.mainQuit(); return false; } }); setDefaultSize(250, 200); setPosition(WindowPosition.CENTER); showAll(); } private void initUI() { VBox vbox = new VBox(false, 0); MenuBar menuBar = new MenuBar(); MenuItem fileItem = new MenuItem("File"); menuBar.append(fileItem); Menu fileMenu = new Menu(); MenuItem quitItem = new MenuItem("Quit"); quitItem.connect(new MenuItem.Activate() { public void onActivate(MenuItem menuItem) { Gtk.mainQuit(); } }); fileMenu.append(quitItem); fileItem.setSubmenu(fileMenu); Menu viewmenu = new Menu(); MenuItem view = new MenuItem("View"); view.setSubmenu(viewmenu); CheckMenuItem stat = new CheckMenuItem("View Statusbar"); stat.setActive(true); viewmenu.append(stat); menuBar.append(view); statusbar = new Statusbar(); statusbar.setMessage("Ready"); vbox.packStart(menuBar, false, false, 0); vbox.packStart(new Label(""), true, false, 0); vbox.packStart(statusbar, false, false, 0); stat.connect(new MenuItem.Activate() { public void onActivate(MenuItem menuItem) { CheckMenuItem item = (CheckMenuItem) menuItem; if (item.getActive()) { statusbar.show(); } else { statusbar.hide(); } } }); add(vbox); } public static void main(String[] args) { Gtk.init(args); new GCheckMenuItem(); Gtk.main(); } } ``` 在我們的代碼示例中,我們顯示一個檢查菜單項。 如果該復選框已激活,則顯示狀態欄小部件。 如果不是,狀態欄將被隱藏。 ```java CheckMenuItem stat = new CheckMenuItem("View Statusbar"); ``` `CheckMenuItem`小部件已創建。 ```java stat.setActive(true); ``` `setActive()`方法選中/取消選中檢查菜單項。 ```java if (item.getActive()) { statusbar.show(); } else { statusbar.hide(); } ``` 根據`CheckMenuItem`的狀態,我們顯示或隱藏狀態欄小部件。 ![CheckMenuItem](https://img.kancloud.cn/e3/cb/e3cb5c8d4560902f46187929e083ce85_256x225.jpg) 圖:`CheckMenuItem` ## 子菜單 我們的最后一個示例演示了如何在 Java Gnome 中創建子菜單。 `submenu.java` ```java package com.zetcode; import org.gnome.gdk.Event; import org.gnome.gtk.Gtk; import org.gnome.gtk.Menu; import org.gnome.gtk.MenuBar; import org.gnome.gtk.MenuItem; import org.gnome.gtk.VBox; import org.gnome.gtk.Widget; import org.gnome.gtk.Window; import org.gnome.gtk.WindowPosition; /** * ZetCode Java Gnome tutorial * * This program creates a submenu. * * @author jan bodnar * website zetcode.com * last modified March 2009 */ public class GSubmenu extends Window { public GSubmenu() { setTitle("Simple menu"); initUI(); connect(new Window.DeleteEvent() { public boolean onDeleteEvent(Widget source, Event event) { Gtk.mainQuit(); return false; } }); setDefaultSize(250, 200); setPosition(WindowPosition.CENTER); showAll(); } private void initUI() { VBox vbox = new VBox(false, 0); MenuBar menuBar = new MenuBar(); MenuItem fileItem = new MenuItem("File"); menuBar.append(fileItem); Menu fileMenu = new Menu(); MenuItem quitItem = new MenuItem("Quit"); quitItem.connect(new MenuItem.Activate() { public void onActivate(MenuItem menuItem) { Gtk.mainQuit(); } }); // submenu creation Menu imenu = new Menu(); MenuItem importm = new MenuItem("Import"); importm.setSubmenu(imenu); MenuItem inews = new MenuItem("Import news feed..."); MenuItem ibookmarks = new MenuItem("Import bookmarks..."); MenuItem imail = new MenuItem("Import mail..."); imenu.append(inews); imenu.append(ibookmarks); imenu.append(imail); fileMenu.append(importm); fileMenu.append(quitItem); fileItem.setSubmenu(fileMenu); vbox.packStart(menuBar, false, false, 3); add(vbox); } public static void main(String[] args) { Gtk.init(args); new GSubmenu(); Gtk.main(); } } ``` 子菜單創建。 ```java Menu imenu = new Menu(); ``` 子菜單是`Menu`。 ```java MenuItem importm = new MenuItem("Import"); importm.setSubmenu(imenu); ``` 它是菜單項的子菜單,它會登錄到頂級文件菜單。 ```java MenuItem inews = new MenuItem("Import news feed..."); MenuItem ibookmarks = new MenuItem("Import bookmarks..."); MenuItem imail = new MenuItem("Import mail..."); imenu.append(inews); imenu.append(ibookmarks); imenu.append(imail); ``` 子菜單有其自己的菜單項。 ![Submenu](https://img.kancloud.cn/72/4e/724e0b00cc4939a9590b400e32d23d6a_256x225.jpg) 圖:子菜單 在 Java Gnome 編程庫的這一章中,我們展示了如何使用菜單。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看