Swing In Java:例を使用してGUIを作成する方法を知っている



:Swingクラス階層とレイアウトマネージャーを使用してJavaでSwingの概念を習得し、GUIアプリケーションの実用的なデモンストレーションを行います。

Swing in javaは、軽量でプラットフォームに依存しないJava FoundationClassの一部です。ウィンドウベースのアプリケーションを作成するために使用されます。ボタン、スクロールバー、テキストフィールドなどのコンポーネントが含まれています。これらすべてのコンポーネントを組み合わせると、グラフィカルユーザーインターフェイスが作成されます。この記事では、swinginを使用してアプリケーションを構築するプロセスに関連する概念について説明します。 。この記事で説明する概念は次のとおりです。

Swing In Javaとは何ですか?

Swing in Javaは、最適化されたウィンドウベースのアプリケーションを構築するためのさまざまなウィジェットを備えた軽量のGUIツールキットです。これは、JFC(Java Foundation Classes)の一部です。これはAWTAPIの上に構築されており、完全に 。 AWTとは異なり、プラットフォームに依存せず、軽量のコンポーネントを備えています。





ボタンやチェックボックスなどのGUIコンポーネントがすでにあるので、アプリケーションの構築が簡単になります。これは、最初から始める必要がないので便利です。

コンテナクラス

どれか 他のコンポーネントが含まれているものは、コンテナクラスと呼ばれます。 GUIアプリケーションを構築するには、少なくとも1つのコンテナクラスが必要です。



以下は、3種類のコンテナクラスです。

  1. パネル–コンポーネントをウィンドウに整理するために使用されます

  2. フレーム–アイコンとタイトルを備えた完全に機能するウィンドウ



  3. ダイアログ–ポップアップウィンドウのようなものですが、フレームのように完全には機能しません

AWTとSwingの違い

AWT スイング
  • プラットフォームに依存
  • プラットフォームに依存しない
  • MVCに準拠していません
  • MVCに準拠
  • 少ないコンポーネント
  • より強力なコンポーネント
  • プラグ可能なルックアンドフィールをサポートしていません
  • プラグ可能なルックアンドフィールをサポート
  • ヘビー級
  • 軽量

JavaSwingクラス階層

java-edurekaの階層スイング

説明 :JButton、JComboBox、JList、JLabelなどのswingのすべてのコンポーネントは、コンテナクラスに追加できるJComponentクラスから継承されます。コンテナは、フレームやダイアログボックスのようなウィンドウです。基本的なSwingコンポーネントは、GUIアプリケーションの構成要素です。 setLayoutのようなメソッドは、各コンテナーのデフォルトのレイアウトをオーバーライドします。 JFrameやJDialogのようなコンテナは、それ自体にコンポーネントを追加することしかできません。以下は、それらの使用方法を理解するための例を含むいくつかのコンポーネントです。

JButtonクラス

ラベル付きボタンを作成するために使用されます。 ActionListenerを使用すると、ボタンが押されたときに何らかのアクションが発生します。 AbstractButtonクラスを継承し、プラットフォームに依存しません。

例:

importjavax.swing。* public class example {public static void main(String args []){JFrame a = new JFrame( 'example')JButton b = new JButton( 'click me')b.setBounds(40,90、 85,20)a.add(b)a.setSize(300,300)a.setLayout(null)a.setVisible(true)}}

出力:

Javaでファイルを作成する方法

JTextFieldクラス

これはJTextComponentクラスを継承し、1行のテキストの編集を可能にするために使用されます。

例:

importjavax.swing。* public class example {public static void main(String args []){JFrame a = new JFrame( 'example')JTextField b = new JTextField( 'edureka')b.setBounds(50,100,200,30)a .add(b)a.setSize(300,300)a.setLayout(null)a.setVisible(true)}}

出力:

JScrollBarクラス

水平方向と垂直方向の両方のスクロールバーを追加するために使用されます。

例:

importjavax.swing。* class example {example(){JFrame a = new JFrame( 'example')JScrollBar b = new JScrollBar()b.setBounds(90,90,40,90)a.add(b)a。 setSize(300,300)a.setLayout(null)a.setVisible(true)} public static void main(String args []){new example()}}

出力:

配列javaで最大の要素を見つける

JPanelクラス

JComponentクラスを継承し、他のコンポーネントをアタッチできるアプリケーション用のスペースを提供します。

importjava.awt。* importjavax.swing。* public class Example {Example(){JFrame a = new JFrame( 'example')JPanel p = new JPanel()p.setBounds(40,70,200,200)JButton b = new JButton ( 'クリックしてください')b.setBounds(60,50,80,40)p.add(b)a.add(p)a.setSize(400,400)a.setLayout(null)a.setVisible(true)} public static void main(String args []){new Example()}}

出力:

JMenuクラス s

これはJMenuItemクラスを継承し、メニューバーから表示されるプルダウンメニューコンポーネントです。

importjavax.swing。* class Example {JMenu menu JMenuItem a1、a2 Example(){JFrame a = new JFrame( 'Example')menu = new JMenu( 'options')JMenuBar m1 = new JMenuBar()a1 = new JMenuItem( 'example')a2 = new JMenuItem( 'example1')menu.add(a1)menu.add(a2)m1.add(menu)a.setJMenuBar(m1)a.setSize(400,400)a.setLayout(null)a .setVisible(true)} public static void main(String args []){new Example()}}

出力:

JListクラス

JComponentクラスを継承し、JListクラスのオブジェクトはテキストアイテムのリストを表します。

importjavax.swing。* public class Example {Example(){JFrame a = new JFrame( 'example')DefaultListModel l = new DefaultListModel()l.addElement( 'first item')l.addElement( 'second item')JList b = new JList(l)b.setBounds(100,100,75,75)a.add(b)a.setSize(400,400)a.setVisible(true)a.setLayout(null)} public static void main(String args [ ]){new Example()}}

出力:

JLabelクラス

コンテナにテキストを配置するために使用されます。また、JComponentクラスを継承します。

importjavax.swing。* public class Example {public static void main(String args []){JFrame a = new JFrame( 'example')JLabel b1 b1 = new JLabel( 'edureka')b1.setBounds(40,40、 90,20)a.add(b1)a.setSize(400,400)a.setLayout(null)a.setVisible(true)}}

出力:

cプログラムのリンクリスト

JComboBoxクラス

これはJComponentクラスを継承し、選択肢のポップアップメニューを表示するために使用されます。

importjavax.swing。* public class Example {JFrame a Example(){a = new JFrame( 'example')stringcourses [] = {'core java'、 'advance java'、 'javaサーブレット'} JComboBox c = new JComboBox(courses)c.setBounds(40,40,90,20)a.add(c)a.setSize(400,400)a.setLayout(null)a.setVisible(true)} public static void main(String args [] ){new Example()}}

出力:

レイアウトマネージャー

コンテナ内にコンポーネントを配置するには、レイアウトマネージャを使用します。以下は、いくつかのレイアウトマネージャーです。

  1. ボーダーレイアウト

  2. フローレイアウト

  3. GridBagレイアウト

ボーダーレイアウト

すべてのJFrameのデフォルトのレイアウトマネージャーはBorderLayoutです。コンポーネントは、上、下、左、右、中央の最大5か所に配置されます。

フローレイアウト

FlowLayoutは、コンポーネントを次々に行に配置するだけで、すべてのJPanelのデフォルトのレイアウトマネージャーです。

GridBagレイアウト

GridBagLayoutは、コンポーネントをグリッドに配置して、コンポーネントが複数のセルにまたがることを可能にします。

例:チャットフレーム

importjavax.swing。* importjava.awt。* class例{publicstatic void main(String args []){JFrame frame = new JFrame( 'Chat Frame')frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)frame.setSize(400 、400)JMenuBar ob = new JMenuBar()JMenu ob1 = new JMenu( 'FILE')JMenu ob2 = new JMenu( 'Help')ob.add(ob1)ob.add(ob2)JMenuItem m11 = new JMenuItem( 'Open ')JMenuItem m22 = new JMenuItem(' Save as ')ob1.add(m11)ob1.add(m22)JPanel panel = new JPanel()//パネルは出力に表示されませんJLabel label = new JLabel(' Enter Text ')JTextField tf = new JTextField(10)//最大10文字を受け入れるJButton send = new JButton(' Send ')JButton reset = new JButton(' Reset ')panel.add(label)//フローレイアウトパネルを使用して追加されたコンポーネント.add(label)//フローレイアウトを使用して追加されたコンポーネントpanel.add(tf)panel.add(send)panel.add(reset)JTextArea ta = new JTextArea()frame.getContentPane()。add(BorderLayout.SOUTH、panel )frame.getContentPane()。add(BorderLayout.NORTH、tf)frame.getContentPane()。add(Border Layout.CENTER、ta)frame.setVisible(true)}}

これは、Javaでswingを使用してGUIを作成するための簡単な例です。

この記事では、JavaでのswingとJavaswingクラスの階層について説明しました。 Javaのswingに付属するすべてのコンポーネントを使用すると、最適化されたGUIアプリケーションの構築が容易になります。 Javaプログラミング言語は構造化プログラミング言語であり、需要の高まりとともに、すべての概念を習得することが非常に重要になります。 。学習を開始し、Javaプログラミングのエキスパートになるには、Edureka’sに登録してください。 。

質問がありますか?この「SwingInJava」記事のコメントセクションでこれについて言及してください。できるだけ早くご連絡いたします。