Jython-menus
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つのメニュー項目がドロップダウンします。 ボタンをクリックすると、その名前がテキストボックスコントロールに表示されます。