Jython-menus

提供:Dev Guides
移動先:案内検索

Jython-メニュー

GUIベースのアプリケーションのほとんどには、上部にメニューバーがあります。 最上位ウィンドウのタイトルバーのすぐ下にあります。 javax.swingパッケージには、効率的なメニューシステムを構築するための精巧な機能があります。 JMenuBar、JMenu 、および JMenuItem クラスの助けを借りて構築されます。

次の例では、トップレベルウィンドウにメニューバーが提供されています。 3つのメニュー項目ボタンで構成されるファイルメニューがメニューバーに追加されます。 次に、BorderLayoutに設定されたレイアウトでJFrameオブジェクトを準備しましょう。

frame = JFrame("JMenuBar example")
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
frame.setLocation(100,100)
frame.setSize(400,300)
frame.setLayout(BorderLayout())

JMenuBarオブジェクトは、SetJMenuBar()メソッドによってアクティブになりました。

bar = JMenuBar()
frame.setJMenuBar(bar)

次に、「ファイル」キャプションを持つJMenuオブジェクトが宣言されます。 3つのJMenuItemボタンが[ファイル]メニューに追加されます。 メニュー項目のいずれかがクリックされると、ActionEventハンドラーOnClick()関数が実行されます。 actionPerformedプロパティで定義されます。

file = JMenu("File")
newfile = JMenuItem("New",actionPerformed = OnClick)
openfile = JMenuItem("Open",actionPerformed = OnClick)
savefile = JMenuItem("Save",actionPerformed = OnClick)
file.add(newfile)
file.add(openfile)
file.add(savefile)
bar.add(file)

OnClick()イベントハンドラは、gwtActionCommand()関数によってJMenuItemボタンの名前を取得し、ウィンドウの下部のテキストボックスに表示します。

def OnClick(event):
   txt.text = event.getActionCommand()

[ファイル]メニューオブジェクトがメニューバーに追加されます。 最後に、JTextFieldコントロールがJFrameオブジェクトの下部に追加されます。

txt = JTextField(10)
frame.add(txt, BorderLayout.SOUTH)

menu.pyのコード全体を以下に示します-

from javax.swing import JFrame, JMenuBar, JMenu, JMenuItem, JTextField
from java.awt import BorderLayout

frame = JFrame("JMenuBar example")
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
frame.setLocation(100,100)
frame.setSize(400,300)
frame.setLayout(BorderLayout())

def OnClick(event):
   txt.text = event.getActionCommand()

bar = JMenuBar()
frame.setJMenuBar(bar)

file = JMenu("File")
newfile = JMenuItem("New",actionPerformed = OnClick)
openfile = JMenuItem("Open",actionPerformed = OnClick)
savefile = JMenuItem("Save",actionPerformed = OnClick)
file.add(newfile)
file.add(openfile)
file.add(savefile)
bar.add(file)

txt = JTextField(10)
frame.add(txt, BorderLayout.SOUTH)

frame.setVisible(True)

Jythonインタープリターを使用して上記のスクリプトを実行すると、[ファイル]メニューのウィンドウが表示されます。 それをクリックすると、3つのメニュー項目がドロップダウンします。 ボタンをクリックすると、その名前がテキストボックスコントロールに表示されます。

Jython Interpreter