はじめに
Swing は、Java アプリケーションのユーザー インターフェイスを開発するための開発ツールキットです。これは Abstract Window Toolkit (AWT) に基づいており、クロスプラットフォーム アプリケーションでプラグイン可能な外観スタイルを使用できるようになります。 Swing 開発者は、Swing の豊富で柔軟な機能とモジュール式コンポーネントを利用して、わずかなコードでエレガントなユーザー インターフェイスを作成できます。
Swing は Java 用に設計された GUI ツールキットです。
Swing は JAVA の基本クラスの一部です。
Swing には、テキスト ボックス、ボタン、分割ペイン、テーブルなどのグラフィカル ユーザー インターフェイス (GUI) コンポーネントが含まれています。
Swing は、AWT よりも多くの優れた画面表示要素を提供します。これらは純粋な Java で書かれているため、AWT とは異なり、Java 自体と同様にクロスプラットフォームで実行できます。彼らはJFCの一員です。これらは、交換可能なパネルとテーマ (さまざまなオペレーティング システムのデフォルトの特定のテーマ) をサポートしますが、ネイティブ プラットフォームによって提供されるデバイスを実際には使用せず、表面的に模倣するだけです。これは、JAVA でサポートされているパネルをどのプラットフォームでも使用できることを意味します。軽量コンポーネントの欠点は、実行が遅いことですが、利点は、すべてのプラットフォームで均一な動作を採用できることです。 LHello World プログラム
HELLOWORLDSWING.JAVA ファイル コードは次のとおりです:
import javax.swing.*; public class HelloWorldSwing { /**{ * 创建并显示GUI。出于线程安全的考虑, * 这个方法在事件调用线程中调用。 */ private static void createAndShowGUI() { // 确保一个漂亮的外观风格 JFrame.setDefaultLookAndFeelDecorated(true); // 创建及设置窗口 JFrame frame = new JFrame("HelloWorldSwing"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 添加 "Hello World" 标签 JLabel label = new JLabel("Hello World"); frame.getContentPane().add(label); // 显示窗口 frame.pack(); frame.setVisible(true); } public static void main(String[] args) { // 显示应用 GUI javax.swing.SwingUtilities.invokeLater(new Runnable() { public void run() { createAndShowGUI(); } }); } }
は次のコマンド出力結果を実行します:
$ javac HelloWorldSwing.java $ java HelloWorldSwing
swingloginexample.java ファイル コード コマンド出力結果:
import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JPasswordField; import javax.swing.JTextField; public class SwingLoginExample { public static void main(String[] args) { // 创建 JFrame 实例 JFrame frame = new JFrame("Login Example"); // Setting the width and height of frame frame.setSize(350, 200); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); /* 创建面板,这个类似于 HTML 的 div 标签 * 我们可以创建多个面板并在 JFrame 中指定位置 * 面板中我们可以添加文本字段,按钮及其他组件。 */ JPanel panel = new JPanel(); // 添加面板 frame.add(panel); /* * 调用用户定义的方法并添加组件到面板 */ placeComponents(panel); // 设置界面可见 frame.setVisible(true); } private static void placeComponents(JPanel panel) { /* 布局部分我们这边不多做介绍 * 这边设置布局为 null */ panel.setLayout(null); // 创建 JLabel JLabel userLabel = new JLabel("User:"); /* 这个方法定义了组件的位置。 * setBounds(x, y, width, height) * x 和 y 指定左上角的新位置,由 width 和 height 指定新的大小。 */ userLabel.setBounds(10,20,80,25); panel.add(userLabel); /* * 创建文本域用于用户输入 */ JTextField userText = new JTextField(20); userText.setBounds(100,20,165,25); panel.add(userText); // 输入密码的文本域 JLabel passwordLabel = new JLabel("Password:"); passwordLabel.setBounds(10,50,80,25); panel.add(passwordLabel); /* *这个类似用于输入的文本域 * 但是输入的信息会以点号代替,用于包含密码的安全性 */ JPasswordField passwordText = new JPasswordField(20); passwordText.setBounds(100,50,165,25); panel.add(passwordText); // 创建登录按钮 JButton loginButton = new JButton("login"); loginButton.setBounds(10, 80, 80, 25); panel.add(loginButton); } }
概念分析:
JFrame – Java の GUI プログラムの基本的な考え方は、画面上のウィンドウのオブジェクトであり、最大化、最小化、閉じることができる JFrame に基づいています。 JPanel – Java グラフィカル ユーザー インターフェイス (GUI) ツールキットのパネル コンテナー クラスは、javax.swing パッケージに含まれており、その機能は、フォーム内の同じ論理関数とコンポーネントを結合することです。 JFrame フォームに追加できる軽量のコンテナです。 。JLabel – JLabel オブジェクトはテキスト、画像、またはその両方を表示できます。縦横の配置を設定することで、ラベル表示領域内のラベルの内容をどの位置に配置するかを指定できます。デフォルトでは、ラベルは表示領域内で垂直方向の中央に配置されます。デフォルトでは、テキストのみのラベルは開始端に配置され、画像のみのラベルは水平方向と中央に配置されます。
JTextField – 単一行のテキストを編集できる軽量コンポーネント。JPasswordField – 入力ボックスのようにテキスト行を入力できますが、アスタリスク (*) を非表示にするか、クリックしてパスワード (パスワード) を作成します。
JButton – JButton クラスのインスタンス。例の「ログイン」と同様のボタンを作成するために使用されます。
Java グラフィカル ユーザー インターフェイス デザイン (Swing) の導入に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。