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

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # Jython Swing 中的菜單和工具欄 > 原文: [http://zetcode.com/gui/jythonswing/menustoolbars/](http://zetcode.com/gui/jythonswing/menustoolbars/) 在 Jython Swing 編程教程的這一部分中,我們將使用菜單和工具欄。 菜單欄是 GUI 應用中最可見的部分之一。 它是位于各個菜單中的一組命令。 在控制臺應用中,您必須記住所有這些神秘命令,在這里,我們將大多數命令分組為邏輯部分。 有公認的標準可以進一步減少學習新應用的時間。 菜單將我們可以在應用中使用的命令分組。 使用工具欄可以快速訪問最常用的命令。 ## 簡單菜單 第一個示例將顯示一個簡單的菜單。 ```py #!/usr/local/bin/jython # -*- coding: utf-8 -*- """ ZetCode Jython Swing tutorial This program creates a simple menu. author: Jan Bodnar website: www.zetcode.com last modified: November 2010 """ from java.awt.event import KeyEvent from java.lang import System from javax.swing import ImageIcon from javax.swing import JFrame from javax.swing import JMenu from javax.swing import JMenuBar from javax.swing import JMenuItem class Example(JFrame): def __init__(self): super(Example, self).__init__() self.initUI() def initUI(self): menubar = JMenuBar() icon = ImageIcon("exit.png") file = JMenu("File") file.setMnemonic(KeyEvent.VK_F) fileExit = JMenuItem("Exit", icon, actionPerformed=self.onSelect) fileExit.setMnemonic(KeyEvent.VK_C) fileExit.setToolTipText("Exit application") file.add(fileExit) menubar.add(file) self.setJMenuBar(menubar) self.setTitle("Simple menu") self.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) self.setSize(250, 200) self.setLocationRelativeTo(None) self.setVisible(True) def onSelect(self, e): System.exit(0) if __name__ == '__main__': Example() ``` 我們的示例將顯示一個菜單項。 通過選擇退出菜單項,我們關閉應用。 ```py menubar = JMenuBar() ``` 在這里,我們創建一個菜單欄。 ```py icon = ImageIcon("exit.png") ``` 我們將在菜單項中顯示一個圖標。 ```py file = JMenu("File") file.setMnemonic(KeyEvent.VK_F) ``` 我們創建一個菜單對象。 菜單是一個包含`JMenuItems`的彈出窗口。 菜單位于菜單欄上。 也可以通過鍵盤訪問菜單。 要將菜單綁定到特定鍵,我們使用`setMnemonic()`方法。 在我們的情況下,可以使用`ALT + F`快捷方式打開菜單。 ```py fileExit = JMenuItem("Exit", icon, actionPerformed=self.onSelect) fileExit.setMnemonic(KeyEvent.VK_C) fileExit.setToolTipText("Exit application") ``` 在這里,我們創建一個`JMenuItem`。 菜單項是顯示在所選菜單的彈出窗口中的對象。 我們還為菜單項和工具提示提供了快捷方式。 ```py file.add(fileExit) ``` 菜單項被添加到菜單中。 ```py menubar.add(file) ``` 菜單添加到菜單欄。 ![Simple menu](https://img.kancloud.cn/69/f7/69f7c64518d8e3341aaf371ee4e94c63_250x200.jpg) 圖:簡單菜單 ## 子菜單 子菜單是插入另一個菜單對象的菜單。 下一個示例對此進行了演示。 ```py #!/usr/local/bin/jython # -*- coding: utf-8 -*- """ ZetCode Jython Swing tutorial This program creates a simple submenu. author: Jan Bodnar website: www.zetcode.com last modified: November 2010 """ from java.lang import System from java.awt.event import KeyEvent from java.awt.event import ActionEvent from javax.swing import JFrame from javax.swing import JMenuBar from javax.swing import JMenuItem from javax.swing import JMenu from javax.swing import ImageIcon from javax.swing import KeyStroke class Example(JFrame): def __init__(self): super(Example, self).__init__() self.initUI() def initUI(self): menubar = JMenuBar() iconNew = ImageIcon("new.png") iconOpen = ImageIcon("open.png") iconSave = ImageIcon("save.png") iconExit = ImageIcon("exit.png") file = JMenu("File") file.setMnemonic(KeyEvent.VK_F) imp = JMenu("Import") imp.setMnemonic(KeyEvent.VK_M) newsf = JMenuItem("Import newsfeed list...") bookm = JMenuItem("Import bookmarks...") mail = JMenuItem("Import mail...") imp.add(newsf) imp.add(bookm) imp.add(mail) fileNew = JMenuItem("New", iconNew) fileNew.setMnemonic(KeyEvent.VK_N) fileOpen = JMenuItem("Open", iconOpen) fileNew.setMnemonic(KeyEvent.VK_O) fileSave = JMenuItem("Save", iconSave) fileSave.setMnemonic(KeyEvent.VK_S) fileExit = JMenuItem("Exit", iconExit, actionPerformed=self.onSelect) fileExit.setMnemonic(KeyEvent.VK_C) fileExit.setToolTipText("Exit application") fileExit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_W, ActionEvent.CTRL_MASK)) file.add(fileNew) file.add(fileOpen) file.add(fileSave) file.addSeparator() file.add(imp) file.addSeparator() file.add(fileExit) menubar.add(file) self.setJMenuBar(menubar) self.setTitle("Submenu") self.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) self.setSize(320, 220) self.setLocationRelativeTo(None) self.setVisible(True) def onSelect(self, e): System.exit(0) if __name__ == '__main__': Example() ``` 在示例中,文件菜單的子菜單中有三個選項。 ```py imp = JMenu("Import") ... file.add(imp) ``` 子菜單與其他任何普通菜單一樣。 它是用相同的方式創建的。 我們只需將菜單添加到現有菜單即可。 ```py fileExit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_W, ActionEvent.CTRL_MASK)) ``` 加速器是啟動菜單項的快捷鍵。 在我們的情況下,通過按 `Ctrl + W` 關閉我們的應用。 ```py file.addSeparator() ``` 分隔符是一條水平線,用于在視覺上分隔菜單項。 這樣,我們可以將項目分組到一些合理的位置。 ![Submenu](https://img.kancloud.cn/ad/a1/ada1365dbbbd63d26c86e8706b23027f_320x220.jpg) 圖:子菜單 ## 彈出菜單 在下一個示例中,我們創建一個彈出菜單。 ```py #!/usr/local/bin/jython # -*- coding: utf-8 -*- """ ZetCode Jython Swing tutorial This program creates a popup menu. author: Jan Bodnar website: www.zetcode.com last modified: November 2010 """ from java.awt.event import MouseListener from java.lang import System from javax.swing import JFrame from javax.swing import JMenuItem from javax.swing import JPopupMenu class Example(JFrame, MouseListener): def __init__(self): super(Example, self).__init__() self.initUI() def initUI(self): self.menu = JPopupMenu() menuItemBeep = JMenuItem("Beep", actionPerformed=self.onBeep) self.menu.add(menuItemBeep) menuItemClose = JMenuItem("Exit", actionPerformed=self.onExit) self.menu.add(menuItemClose); self.addMouseListener(self) self.setTitle("Popup menu") self.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) self.setSize(250, 200) self.setLocationRelativeTo(None) self.setVisible(True) def mouseReleased(self, e): if e.getButton() == e.BUTTON3: self.menu.show(e.getComponent(), e.getX(), e.getY()) def onExit(self, e): System.exit(0) def onBeep(self, e): toolkit = self.getToolkit() toolkit.beep() if __name__ == '__main__': Example() ``` 在我們的示例中,我們創建一個帶有兩個菜單項的彈出菜單。 ```py self.menu = JPopupMenu() menuItemBeep = JMenuItem("Beep", actionPerformed=self.onBeep) ``` 我們創建一個彈出菜單和一個菜單項。 ```py def mouseReleased(self, e): if e.getButton() == e.BUTTON3: self.menu.show(e.getComponent(), e.getX(), e.getY()) ``` 我們在鼠標單擊的 x,y 坐標處顯示彈出菜單窗口。 ![Popup menu`](https://img.kancloud.cn/6e/8b/6e8bf35706d5e026f405b56b252e10ae_250x200.jpg) 圖:彈出菜單 ## 工具欄 菜單將我們可以在應用中使用的命令分組。 使用工具欄可以快速訪問最常用的命令。 在 Swing 中,`JToolBar`類在應用中創建一個工具欄。 ```py #!/usr/local/bin/jython # -*- coding: utf-8 -*- """ ZetCode Jython Swing tutorial In this program, we create a simple toolbar. author: Jan Bodnar website: www.zetcode.com last modified: November 2010 """ from java.awt import BorderLayout from java.lang import System from javax.swing import ImageIcon from javax.swing import JFrame from javax.swing import JMenu from javax.swing import JMenuBar from javax.swing import JToolBar from javax.swing import JButton class Example(JFrame): def __init__(self): super(Example, self).__init__() self.initUI() def initUI(self): menubar = JMenuBar() file = JMenu("File") menubar.add(file) self.setJMenuBar(menubar) toolbar = JToolBar() icon = ImageIcon("exit.png") exitButton = JButton(icon, actionPerformed=self.onClick) toolbar.add(exitButton) self.add(toolbar, BorderLayout.NORTH) self.setTitle("Toolbar") self.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) self.setSize(350, 250) self.setLocationRelativeTo(None) self.setVisible(True) def onClick(self, e): System.exit(0) if __name__ == '__main__': Example() ``` 該示例創建一個帶有一個退出按鈕的工具欄。 ```py toolbar = JToolBar() ``` 工具欄已創建。 ```py exitButton = JButton(icon, actionPerformed=self.onClick) toolbar.add(exitButton) ``` 我們創建一個按鈕并將其添加到工具欄。 ```py self.add(toolbar, BorderLayout.NORTH) ``` 工具欄位于`BorderLayout`管理器的北部。 ![Toolbar](https://img.kancloud.cn/f1/e4/f1e4d8a17b9eaab44d0b9a94669e8d83_350x250.jpg) 圖:工具欄 在 Jython Swing 教程的這一部分中,我們提到了菜單和工具欄。
                  <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>

                              哎呀哎呀视频在线观看