Jython-SwingGUIライブラリの使用
Jythonの主な機能の1つは、JDKでSwingGUIライブラリを使用できることです。標準のPythonディストリビューション(CPythonと呼ばれることもあります)には、Tkinter GUI library付属しています。のような他のGUIライブラリPyQt そして WxPython 一緒に使用することもできますが、swingライブラリはプラットフォームに依存しないGUIツールキットを提供します。
Jythonでswingライブラリを使用することは、Javaで使用するよりもはるかに簡単です。Javaでは、匿名クラスを使用してイベントバインディングを作成する必要があります。Jythonでは、同じ目的で関数を渡すだけで済みます。
基本的なトップレベルウィンドウは、のオブジェクトを宣言することによって作成されます JFrame classそして、そのvisibleプロパティをtrueに設定します。そのためには、Jframeクラスをswingパッケージからインポートする必要があります。
from javax.swing import JFrame
JFrameクラスには、さまざまな数の引数を持つ複数のコンストラクターがあります。文字列を引数としてタイトルとして設定するものを使用します。
frame = JFrame(“Hello”)
表示プロパティをtrueに設定する前に、フレームのサイズと場所のプロパティを設定します。次のコードを次のように保存しますframe.py。
from javax.swing import JFrame
frame = JFrame("Hello")
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
frame.setLocation(100,100)
frame.setSize(300,200)
frame.setVisible(True)
コマンドプロンプトから上記のスクリプトを実行します。ウィンドウを示す次の出力が表示されます。
スイングGUIライブラリは次の形式で提供されます javax.swingJavaのパッケージ。そのメインコンテナクラス、JFrame そして JDialogそれぞれ、AWTライブラリにあるFrameクラスとDialogクラスから派生しています。のような他のGUIコントロールJLabel, JButton, JTextField, などは、JComponentクラスから派生します。
次の図は、Swingパッケージクラスの階層を示しています。
次の表は、swingライブラリのさまざまなGUIコントロールクラスをまとめたものです。
| シニア番号 | クラスと説明 |
|---|---|
| 1 | JLabel JLabelオブジェクトは、テキストをコンテナに配置するためのコンポーネントです。 |
| 2 | JButton このクラスは、ラベル付きボタンを作成します。 |
| 3 | JColorChooser JColorChooserは、ユーザーが色を操作および選択できるように設計されたコントロールのペインを提供します。 |
| 4 | JCheckBox JCheckBoxは、次のいずれかに配置できるグラフィカルコンポーネントです。 on (true)または off (false)状態。 |
| 5 | JRadioButton JRadioButtonクラスは、オン(true)またはオフ(false)のいずれかの状態にあるグラフィックコンポーネントです。グループで。 |
| 6 | JList JListコンポーネントは、テキストアイテムのスクロールリストをユーザーに提示します。 |
| 7 | JComboBox JComboBoxコンポーネントは、アイテムのドロップダウンリストをユーザーに表示します |
| 8 | JTextField JTextFieldオブジェクトは、1行のテキストの編集を可能にするテキストコンポーネントです。 |
| 9 | JPasswordField JPasswordFieldオブジェクトは、パスワード入力に特化したテキストコンポーネントです。 |
| 10 | JTextArea JTextAreaオブジェクトは、複数行のテキストの編集を可能にするテキストコンポーネントです。 |
| 11 | ImageIcon ImageIconコントロールは、画像からアイコンをペイントするアイコンインターフェイスの実装です。 |
| 12 | JScrollbar スクロールバーコントロールは、ユーザーが値の範囲から選択できるようにするためのスクロールバーコンポーネントを表します。 |
| 13 | JOptionPane JOptionPaneは、ユーザーに値の入力を求める、またはユーザーに何かを通知する一連の標準ダイアログボックスを提供します。 |
| 14 | JFileChooser JFileChooserコントロールは、ユーザーがファイルを選択できるダイアログウィンドウを表します。 |
| 15 | JProgressBar タスクが完了に向かって進行すると、進行状況バーにタスクの完了率が表示されます。 |
| 16 | JSlider JSliderを使用すると、ユーザーは、制限された間隔内でノブをスライドさせることにより、値をグラフィカルに選択できます。 |
| 17 | JSpinner JSpinnerは、ユーザーが順序付けられたシーケンスから数値またはオブジェクト値を選択できるようにする1行の入力フィールドです。 |
以降の例では、これらのコントロールの一部を使用します。