<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # Java Gnome 中的工具欄 > 原文: [http://zetcode.com/gui/javagnome/toolbars/](http://zetcode.com/gui/javagnome/toolbars/) 在 Java Gnome 編程教程的這一部分中,我們將使用工具欄。 菜單將我們可以在應用中使用的命令分組。 使用工具欄可以快速訪問最常用的命令。 ## 簡單的工具欄 接下來,我們創建一個簡單的工具欄。 `toolbar.java` ```java package com.zetcode; import org.gnome.gdk.Event; import org.gnome.gtk.Gtk; import org.gnome.gtk.Orientation; import org.gnome.gtk.SeparatorToolItem; import org.gnome.gtk.Stock; import org.gnome.gtk.ToolButton; import org.gnome.gtk.Toolbar; 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 toolbar. * * @author jan bodnar * website zetcode.com * last modified March 2009 */ public class GToolbar extends Window { public GToolbar() { setTitle("Toolbar"); initUI(); connect(new Window.DeleteEvent() { public boolean onDeleteEvent(Widget source, Event event) { Gtk.mainQuit(); return false; } }); setDefaultSize(300, 250); setPosition(WindowPosition.CENTER); showAll(); } public void initUI() { Toolbar toolbar = new Toolbar(); ToolButton newtb = new ToolButton(Stock.NEW); ToolButton opentb = new ToolButton(Stock.OPEN); ToolButton savetb = new ToolButton(Stock.SAVE); SeparatorToolItem sep = new SeparatorToolItem(); ToolButton quittb = new ToolButton(Stock.QUIT); toolbar.insert(newtb, 0); toolbar.insert(opentb, 1); toolbar.insert(savetb, 2); toolbar.insert(sep, 3); toolbar.insert(quittb, 4); quittb.connect(new ToolButton.Clicked() { public void onClicked(ToolButton toolButton) { Gtk.mainQuit(); } }); VBox vbox = new VBox(false, 2); vbox.packStart(toolbar, false, false, 0); add(vbox); } public static void main(String[] args) { Gtk.init(args); new GToolbar(); Gtk.main(); } } ``` 該示例顯示了一個工具欄和四個工具按鈕。 ```java Toolbar toolbar = new Toolbar(); ``` `Toolbar`小部件已創建。 ```java ToolButton newtb = new ToolButton(Stock.NEW); ``` 創建帶有庫存圖像的`ToolButton`。 ```java SeparatorToolItem sep = new SeparatorToolItem(); ``` 這是一個分隔符。 它可以用于將工具欄按鈕分成邏輯組。 ```java toolbar.insert(newtb, 0); toolbar.insert(opentb, 1); ... ``` 工具欄按鈕插入到工具欄小部件中。 ![Toolbar](https://img.kancloud.cn/6f/d4/6fd41f095349439db7134fda7a6e89dd_306x275.jpg) 圖:工具欄 ## 工具欄 在第二個示例中,我們顯示了兩個工具欄。 許多應用具有多個工具欄。 我們展示了如何在 Java Gnome 中做到這一點。 `toolbars.java` ```java package com.zetcode; import org.gnome.gdk.Event; import org.gnome.gtk.Gtk; import org.gnome.gtk.Stock; import org.gnome.gtk.ToolButton; import org.gnome.gtk.Toolbar; 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 two toolbar * instances. * * @author jan bodnar * website zetcode.com * last modified March 2009 */ public class GToolbars extends Window { public GToolbars() { setTitle("Toolbars"); initUI(); connect(new Window.DeleteEvent() { public boolean onDeleteEvent(Widget source, Event event) { Gtk.mainQuit(); return false; } }); setDefaultSize(300, 250); setPosition(WindowPosition.CENTER); showAll(); } public void initUI() { Toolbar upper = new Toolbar(); ToolButton newtb = new ToolButton(Stock.NEW); ToolButton opentb = new ToolButton(Stock.OPEN); ToolButton savetb = new ToolButton(Stock.SAVE); upper.insert(newtb, 0); upper.insert(opentb, 1); upper.insert(savetb, 2); Toolbar lower = new Toolbar(); ToolButton quittb = new ToolButton(Stock.QUIT); quittb.connect(new ToolButton.Clicked() { public void onClicked(ToolButton toolButton) { Gtk.mainQuit(); } }); lower.insert(quittb, 0); VBox vbox = new VBox(false, 2); vbox.packStart(upper, false, false, 0); vbox.packStart(lower, false, false, 0); add(vbox); } public static void main(String[] args) { Gtk.init(args); new GToolbars(); Gtk.main(); } } ``` 該應用顯示兩個工具欄。 ```java Toolbar upper = new Toolbar(); ... Toolbar lower = new Toolbar(); ``` 我們創建兩個`Toolbar`小部件。 ```java upper.insert(newtb, 0); ... lower.insert(quittb, 0); ``` 它們每個都有自己的工具按鈕。 ```java VBox vbox = new VBox(false, 2); vbox.packStart(upper, false, false, 0); vbox.packStart(lower, false, false, 0); ``` 工具欄一個接一個地包裝在垂直盒中。 ![Toolbars](https://img.kancloud.cn/60/b1/60b17747b27ab6b6fb97d25641f0e84b_306x275.jpg) 圖:工具欄 s ## 撤銷重做 以下示例演示了如何停用工具欄上的工具欄按鈕。 這是 GUI 編程中的常見做法。 例如,保存按鈕。 如果我們將文檔的所有更改都保存到磁盤上,則在大多數文本編輯器中,“保存”按鈕將被禁用。 這樣,應用會向用戶指示所有更改都已保存。 `undoredo.java` ```java package com.zetcode; import org.gnome.gdk.Event; import org.gnome.gtk.Gtk; import org.gnome.gtk.Label; import org.gnome.gtk.SeparatorToolItem; import org.gnome.gtk.Stock; import org.gnome.gtk.ToolButton; import org.gnome.gtk.Toolbar; 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 an undo redo * example. It shows how to enable/disable * tool buttons if they cannot be used no * more. * * @author jan bodnar * website zetcode.com * last modified March 2009 */ public class GUndoRedo extends Window { private int count = 2; private ToolButton undo; private ToolButton redo; public GUndoRedo() { setTitle("Undo redo"); initUI(); connect(new Window.DeleteEvent() { public boolean onDeleteEvent(Widget source, Event event) { Gtk.mainQuit(); return false; } }); setDefaultSize(300, 250); setPosition(WindowPosition.CENTER); showAll(); } public void initUI() { Toolbar toolbar = new Toolbar(); undo = new ToolButton(Stock.UNDO); redo = new ToolButton(Stock.REDO); SeparatorToolItem sep = new SeparatorToolItem(); ToolButton quit = new ToolButton(Stock.QUIT); toolbar.insert(undo, 0); toolbar.insert(redo, 1); toolbar.insert(sep, 2); toolbar.insert(quit, 3); undo.connect(new ToolButton.Clicked() { public void onClicked(ToolButton toolButton) { count -= 1; if (count <= 0) { undo.setSensitive(false); redo.setSensitive(true); } } }); redo.connect(new ToolButton.Clicked() { public void onClicked(ToolButton toolButton) { count += 1; if (count >= 5) { redo.setSensitive(false); undo.setSensitive(true); } } }); quit.connect(new ToolButton.Clicked() { public void onClicked(ToolButton toolButton) { Gtk.mainQuit(); } }); VBox vbox = new VBox(false, 2); vbox.packStart(toolbar, false, false, 0); vbox.packStart(new Label(""), false, false, 0); add(vbox); } public static void main(String[] args) { Gtk.init(args); new GUndoRedo(); Gtk.main(); } } ``` 我們的示例從 Java Gnome 庫存資源創建撤消和重做按鈕。 單擊幾下后,每個按鈕均被禁用。 按鈕顯示為灰色。 ```java private int count = 2; ``` `count`變量決定哪個按鈕被激活和禁用。 ```java undo = new ToolButton(Stock.UNDO); redo = new ToolButton(Stock.REDO); ``` 我們有兩個工具按鈕。 撤消和重做工具按鈕。 圖片來自庫存資源。 ```java undo.connect(new ToolButton.Clicked() { public void onClicked(ToolButton toolButton) { count -= 1; if (count <= 0) { undo.setSensitive(false); redo.setSensitive(true); } } }); ``` 我們為撤消工具按鈕插入`Clicked`事件的方法。 要激活/禁用小部件,我們使用`setSensitive()`方法。 ![Undo redo](https://img.kancloud.cn/c8/1b/c81b85eea40cd10666849b73c1c09d03_306x275.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>

                              哎呀哎呀视频在线观看