Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaのJTextFieldとJFormattedTextFieldの違いは何ですか?


JTextField JFormattedTextField に対して、プレーンテキストには使用できます JTextFieldを拡張できるクラスです また、電話番号、電子メール、日付を含むテキストに任意の形式を設定するために使用できます。 など

JTextField

  • JTextFeld は、ユーザーが入力テキスト値を1行の形式で入力できるようにする最も重要なコンポーネントの1つです。
  • JTextField ActionListenerを生成できます テキストフィールド内に入力を入力しようとすると、 CaretListenerが生成される可能性があります。 カレット(つまり、カーソル)のたびにインターフェースを設定します )位置を変更します。
  • JTextField MouseListenerを生成することもできます およびKeyListener インターフェイス。

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class JTextFieldTest extends JFrame {
   JTextField jtf;
   public JTextFieldTest() {
      setTitle("JTextField Test");
      setLayout(new FlowLayout());
      jtf = new JTextField(15);
      add(jtf);
      jtf.addActionListener(new ActionListener() {
         public void actionPerformed (ActionEvent ae) {
            System.out.println("Event generated: " + jtf.getText());
         }
      });
      setSize(375, 250);
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      setLocationRelativeTo(null);
      setVisible(true);
   }
   public static void main(String args[]) {
      new JTextFieldTest();
   }
}

出力

JavaのJTextFieldとJFormattedTextFieldの違いは何ですか?

JFomattedTextField

  • フォーマットされたテキストフィールドは、クラス JFormattedTextFieldのインスタンスです。 これはJTextFieldの直接のサブクラスです 。
  • JFormattedTextField 文字の有効性を制御することを除いて、通常のテキストフィールドに似ています ユーザータイプとそれをフォーマッターに関連付けることができます ユーザーが入力できる文字を指定します。
  • JFormattedTextField フォーマットクラスのサブクラスです フォーマットされたテキストフィールドを作成します。フォーマッターを作成し、必要に応じてカスタマイズできます。 JFormattedTextField(Format format)と呼ぶことができます タイプフォーマットの引数を取るコンストラクター 。
import java.awt.*;
import javax.swing.*;
import javax.swing.text.*;
public class JFormattedTextFieldTest extends JFrame {
   JFormattedTextField jftf;
   MaskFormatter mf;
   public JFormattedTextFieldTest() {
      setTitle("JFormattedTextField Test");
      setLayout(new FlowLayout());
      // A phone number formatter - (country code)-(area code)-(number)
      try {
         mf = new MaskFormatter("##-###-#######");
         mf.setPlaceholderCharacter('#');
         jftf = new JFormattedTextField(mf);
         jftf.setColumns(12);
      } catch(Exception e) {
         e.printStackTrace();
      }
      add(jftf);
      setSize(375, 250);
      setLocationRelativeTo(null);
      setDefaultCloseOperation(EXIT_ON_CLOSE);
      setVisible(true);
   }
   public static void main(String args[]) {
      new JFormattedTextFieldTest();
   }
}

出力

JavaのJTextFieldとJFormattedTextFieldの違いは何ですか?



  1. JavaのJFrameとJDialogの違いは何ですか?

    JFrame フレームに追加されたコンポーネントはそのコンテンツと呼ばれ、 contentPaneによって管理されます。 。 JFrameにコンポーネントを追加するには 、 contentPaneを使用する必要があります 代わりに。 JFrame タイトルのウィンドウが含まれています 、境界線 、(オプション)メニュー バー およびユーザー -指定 コンポーネント 。 JFrame 移動できます 、サイズ変更 、アイコン化 JComponentのサブクラスではありません 。 デフォルトでは、JFrameは左上の角に表示されます 画面のr。指定した場所にフレームを表示するには

  2. JavaのGridLayoutとGridBagLayoutの違いは何ですか?

    GridLayout すべてのコンポーネントを長方形のグリッドに配置し、同じサイズの長方形に分割します 各コンポーネントは長方形の中に配置されますが、 GridBagLayout 柔軟です レイアウト マネージャー コンポーネントを垂直方向と水平方向に整列させます コンポーネントが同じサイズである必要はありません。各GridBagLayout オブジェクトは、動的な長方形のセルのグリッドを維持します 各コンポーネントがコンポーネントと呼ばれる1つ以上のセルを占有します 表示 エリア 。 GridLayout GridLayout コンポーネントを長方形のグリッドに配置します。セル