Swingのプログラミング(4) - コンポーネント

共通コンポーネントをスイング

  • ボタン
    1.JButtonコンポーネント(送信ボタン)
    コンストラクタ:
    JButtonの():テキストなしとアイコン
    のJButton(文字列テキスト):テキスト付き
    のJButton(アイコンのアイコン):とアイコン
    とテキストとアイコン:JButtonの(文字列のテキスト、アイコンのアイコン )

    一般的に使用される方法:
    1.setText()テキストセット
    (偽|真)2.setEnabledの設定]ボタンが利用可能である
    3.setBackground(Color.YELLOW)は、ボタンの背景色を設定
    |ボタンのボーダーを表示するかどうか(偽真)に設定4.setBorderPaintedを
    5.setBorderを(境界オブジェクト)セットボタンボーダータイプ:一般的な頻繁に使用BorderFactory境界オブジェクトクラス、境界を設定するための多くの方法が存在するsetBorder(BorderFactory.createLineBorder(Color.RED))、ライン境界として
    6.setIcon(アイコンアイコン)の画像を追加するにはボタン
    アイコンアイコン=新しいイメージアイコン(のようなプロジェクトディレクトリからの相対パス、:「SRC / ...」)注、読者が自分で調査することで、記事の対応する具体的な記述を送ってきました。
    7.setToolTipText(列A)ホバーボタンを追加する
    ボタンクリックイベントリスナーの登録8.addActionListener(リスナーオブジェクトを)

    2.JRadioButtonコンポーネント(ラジオボタン)
    コンストラクタ:
    のJRadioButton()テキストなしで、アイコンではなく、デフォルトのラジオボタン選択した
    ラジオボタンのJRadioButton(アイコンアイコン)とアイコン
    のJRadioButton(アイコン、アイコン、ブール値は、選択された)アイコンでラジオボタンがデフォルトで選択されているかどうか
    、デフォルトではテキストでのJRadioButton(文字列テキスト)選択されていないラジオボタン
    、テキスト、アイコン付きのJRadioButton(String型のテキスト、アイコン、アイコン)、デフォルトに選択されていないラジオボタン
    のJRadioButton(String型のテキストデフォルトのラジオボタンを選択したかどうか、アイコンアイコンは、ブール、テキスト、アイコン付き)選択します

    一般的に使用される方法:
    1.setSelected(trueに| false)のデフォルト設定が選択されているかどうかを
    2.getText()のテキストを取得します
    3.isSelectedは()裁判官が選択されているかどうかを

    拡張:
    ButtonGroupをクラス(ボタングループ)
    add()メソッドは、ラジオボタングループに追加することができ、無線機能のみを達成することができます

    创建单选方法:
    のJRadioButton B1 =新しいのJRadioButton();
    JRadioButton B2 =新しいのJRadioButton();
    ButtonGroupを基=新しいButtonGroupを()。
    group.add(B1)。
    group.add(B2)。
    Container.addの(B1)
    Container.addの(B2)

    3.JCheckBoxアセンブリ(チェックボタン)
    使用されるコンストラクタ:
    JCheckBoxの()
    JCheckBoxの(アイコンアイコン、ブールをチェックする)
    JCheckBoxの(文字列のテキスト、ブールをチェックします)

    一般的に使用される方法:
    1.setSelected(trueに| false)のデフォルト設定が選択されているかどうかを
    2.getText()のテキストを取得します
    3.isSelectedは()裁判官が選択されているかどうかを

  • コンポーネントの一覧

    1.JComboBox(ドロップダウンリストボックスアセンブリ)
    使用コンストラクタ:
    JComboBoxの()
    JComboBoxの(データモデルのComboBoxModel)
    JComboBoxの(オブジェクト[] ArrayData)
    JComboBoxの(ベクトルベクトル)

    一般的な方法:
    のaddItem()ドロップダウン・リストにデータを追加する
    setBounds(A、B、X、 y)は座標とサイズ(ヌル・レイアウト)を設定
    リストにデータ・モデルを追加(のComboBoxModelのCM&LT)を使ってsetModelを
    getSelectedIndex()選択されたインデックスを取得
    getSelectedItem()を選択した値を取得します
    setEditableを(真|偽)セット編集する(編集コンテンツインデックスは-1、値がモデルの外側にあるので)かどうか

    方法を使用するドロップダウンリストボックスを作成します:
    1.のaddItem(に使用したプログラムのリストを作成します)
    JComboBoxの<文字列>コンボボックスJComboBoxの新しい新しい= <>(); //リストString型である
    comboBox.addItem(「ID」);
    コンボボックス。 addItem( "学生証");
    ComboBox.addItem( "障害者証明書");
    (コンボボックス)c.add
    // JComboBoxの<タイプ>コンボボックス=新しいJComboBoxの<>( )、<タイプ>はとして"汎用"と呼ばれますドロップダウンリストのデータ型はJDK7の新機能のために保存します

    2.のComboBoxModelインタフェース(ドロップダウンリストのモデル)がリストを作成します。

    概要ドロップダウンリストは、のComboBoxModel型をカプセル化してもよいし、ベクトル型の配列は、モデルは、ここに記載のComboBoxModel。

    インターフェースとしてのComboBoxModel、我々は彼を実装するクラスのインタフェースを定義することができ、その後、オブジェクトJComboBoxの上方遷移のComboBoxModelインタフェースタイプを初期化します。:彼は、次の2つのメソッドを実装する必要があり
    、選択した項目の設定]ドロップダウンリストボックスのために(1).public無効setSelectedItem(対象項目)の
    項目を選択するには、ドロップダウンリストボックスを返すために).publicオブジェクトgetSelectedItem((2)
    達成に加えて、インタフェースも継承するAbstractListModelクラスである、ドロップダウンリストボックスを操作する重要な方法があります:
    (1)のgetSize()は、リストの長さを返す
    (2)getElementAt(int index)指定インデックスの値を返します

package com.lzw;

import java.awt.*;

import javax.swing.*;

public class JComboBoxModelTest extends JFrame {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	JComboBox<String> jc = new JComboBox<>(new MyComboBox());
	JLabel jl = new JLabel("请选择证件:");
	
	public JComboBoxModelTest() {
		setSize(new Dimension(160, 180));
		setVisible(true);
		setTitle("在窗口中设置下拉列表框");
		setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
		Container cp = getContentPane();
		cp.setLayout(new FlowLayout());
		cp.add(jl);
		cp.add(jc);
	}
	
	public static void main(String[] args) {
		new JComboBoxModelTest();
	}
}

class MyComboBox extends AbstractListModel<String> implements ComboBoxModel<String> {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	String selecteditem = null;
	String[] test = { "身份证", "军人证", "学生证", "工作证" };
	
	public String getElementAt(int index) {
		return test[index];
	}
	
	public int getSize() {
		return test.length;
	}
	
	public void setSelectedItem(Object item) {
		selecteditem = (String) item;
	}
	
	public Object getSelectedItem() {
		return selecteditem;
	}
	
	public int getIndex() {
		for (int i = 0; i < test.length; i++) {
			if (test[i].equals(getSelectedItem()))
				return i;
		}
		return 0;
	}
}

この事実に加えて、トップクラスがすでにある。このインタフェースを実装しています

たDefaultComboBoxModel类

共通のコンストラクタ:
タイプE //このモデルのたDefaultComboBoxModel(E []項目)要素
たDefaultComboBoxModel(ベクトルV)

次のように使用される
。JComboBoxの<ストリング>コンボボックスJComboBoxの新しい新しい= <>()
文字列の項目[] = { "ID"、 "学生ID"、 "軍事カード"};
のComboBoxModel CM&LT新しい新規たDefaultComboBoxModel = <>(アイテム)//をドロップダウンリストのモデルを作成するために、パッケージの内容を一覧表示。
comboBox.setModel(cm)は、データ・モデルのリストに追加します

作成されたパッケージ(JComboBoxの(オブジェクト[] arrayData)の3内容 ) アレイでは、
次のように使用される:
文字列の項目を[] = { "ID"、 "学生ID"、 "軍事カード"};
JComboBoxの<ストリング> = CM&LT新しい新JComboBoxの<>(項目);

2.JList(リストボックスアセンブリ)
使用コンストラクタ:
(JListのパブリック)は、リストボックス設定する初期化setListDataリストボックス()メソッドの後に使用することができる
公開するJList(オブジェクト[] listDataプロパティ)
公衆のJList(ベクトルたlistData)
公衆のJList(するListModelデータモデル)

一般的な方法:
1.public無効てsetModel(ListModelのモデル)データモデルのリストボックスのロード
2.public無効setListData(E [] listDataプロパティ ) 配列からリストボックスで、読み取り専用の設定ListModelの項目を設定し、これを呼び出してsetModelモード。
3.public無効setListData(ベクトル<?拡張 E> listDataプロパティ)は、読み取り専用のListModelベクトルと呼び出してsetModelこのモデルから構築されたリストボックスセットに、。
4.public無効setSelectionMode(int型のselectionMode)は、選択モードのリストを設定します。
次のように示す、selectionMode値は次のとおりです。
(1)ListSelectionModel.SINGLE_SELECTION:あなたは1つのリストインデックスのみを選択することができます。
(2)ListSelectionModel.SINGLE_INTERVAL_SELECTION:あなたは唯一の連続要素を選択することができます。
(3)ListSelectionModel.MULTIPLE_INTERVAL_SELECTION:このモードでは、あなたが選ぶことができるものに制限はありません。このモードはデフォルトのモードです。
5.public一覧<E> getSelectedValuesList()インデックスのリストに基づいて、選択したすべての項目のリストを返すために合わせて増加しました。

:リストボックスの道作成
1.リストボックスの初期化パラメータとして配列を:

String[] contents = {"1","2","3"};
JList l = new JList(contents);
Container.add(l);

初期化パラメータとして2ベクトル型のリストボックスのデータ

Vector contents = new Vector();
contents.add("1")
contents.add("2")
contents.add("3")
JList l = new JList(contents)
Container.add(l);

3.使用するListModelモデル
:ListModelのインターフェイスで、ユーザはインターフェースするAbstractListModelは、この方法は、重要なクラスを提供して実装する抽象クラスを継承し、そのクラスに定義することができる
(1)のgetSize()は、リストの長さを返すを
(2)getElementAt(INTインデックス)指定されたインデックスの値を返します。

import java.awt.*;
import javax.swing.*;
public class JListTest extends JFrame {
	private static final long serialVersionUID = 1L;
	public JListTest() {
		Container cp = getContentPane();
		cp.setLayout(null);
		//JList<String> jl = new JList<>(new MyListModel());
		JList<String> jl = new JList<>();
		jl.setModel(new MyListModel());
		JScrollPane js = new JScrollPane(jl);
		js.setBounds(10, 10, 100, 100);
		cp.add(js);
		setTitle("在这个窗体中使用了列表框");
		setSize(200, 150);
		setVisible(true);
		setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
	}
	
	public static void main(String args[]) {
		new JListTest();
	}
}

class MyListModel extends AbstractListModel<String> {
	private static final long serialVersionUID = 1L;
	private String[] contents = { "列表1", "列表2", "列表3", "列表4", "列表5", "列表6" };
	public String getElementAt(int x) {   //重写方法
		if (x < contents.length)
			return contents[x++];
		else
			return null;
	}
	public int getSize() {   //重写方法
		return contents.length;
	}
}

さらに、あなたもするAbstractListModelクラスを拡張DefaultListModelクラスを使用することができます。
DefaultListModel(リストボックスモデル)カテゴリ:

コンストラクタ:
DefaultListModel()コンストラクタのみ

一般的な方法:
1.addElement(素子E)成分は、(データ・モデルに要素を追加する)リストの末尾に追加されます

どのように使用するには:

String[] contents = { "列表1", "列表2", "列表3", "列表4", "列表5", "列表6" };
DefaultListModel< String> items = new DefaultListModel<>(); 
for(String a : contents){
	items.addElement(a);
}
JList< String> l = new JList<>(items);
Container.add(l);
  • テキストコンポーネント
    1.JTextField(組立テキストボックス)
    単一のテキストを表示または編集するには
    コンストラクタを:
    公共のJTextField()
    公共のJTextField(文字列テキスト)
    公共のJTextField(int型の列)
    公共のJTextField(String型のテキスト、int型の列)
    公共のJTextField(ドキュメントドキュメントは、文字列のテキスト、int型の列)は、与えられたテキストストレージモデルと列数を使って、新しいのJTextFieldを構築します。

    一般的な方法:
    のgetColumns O 1.public intが()このTextFieldの列数を返します。
    2.setColumns(INT列)このテキストフィールドの列の数、及びその後無効レイアウト。
    3.setText()は、テキストボックスの内容を設定する
    ()テキストボックスのテキスト値を取得します4.getTextを
    5.publicのボイドのsetFont(フォントF)を現在のフォントを設定します。:フォントのコンストラクタ次のように
    フォント(文字列名、int型スタイル、int型のサイズを)新しいフォントを作成するために、指定された名前、スタイル、およびポイントサイズから。
    例えば:(20は新しいフォント(「マイクロソフトエレガント黒」、Font.PLAIN))のsetFont
    6.requestFocus()フォーカスを取得、すなわちカーソルが得

    注:あなたが入力したキーのトリガ・イベントがメソッドを押したときのactionPerformedのJTextFieldは、ActionListenerのリスナーを登録。

    2.JPasswordField(パスワードボックスアセンブリ)
    コンストラクタ:
    公共のJPasswordField()はnullを0と幅にデフォルトドキュメントのテキスト文字列を開始し、新しいのJPasswordFieldを構築します。
    JPasswordFieldの公開(文字列テキスト)
    公共のJPasswordField(int型の列)
    公共のJPasswordField(String型のテキスト、列をint型)
    公共のJPasswordField(文書DOC、TXT文字列は、列をint型)

    一般的な方法:
    1.setColumns(int型の列)このJPasswordFieldの列の数
    2.public空のsetFont(Font f)現在のフォントを設定します。:フォントのコンストラクタ次のように
    フォント(文字列名、int型スタイル、int型のサイズを)新しいフォントを作成するために、指定された名前、スタイル、およびポイントサイズから。
    例えば:のsetFont(新しいフォント( "マイクロソフトエレガントブラック"は、Font.PLAIN、20である))
    3.requestFocus()焦点、即ち取得カーソル取得
    4.publicボイドは、setEchoChar(char c)はエコー文字設け
    ] [5.publicチャー文字列str =新しい文字列(文字:getPasswordに()は、次のように文字列に変換することができる、ボックスの文字コードを返す [] A)

    注:あなたが入力したキーのトリガ・イベントがメソッドを押したときのactionPerformedのJPasswordFieldは、ActionListenerのリスナーを登録。

    3.JTextArea(テキストフィールドアセンブリ)
    コンストラクタ:
    公共JTextAreaに()
    公共JTextAreaに(文字列テキスト)
    公共JTextAreaに(int型の列、int型の列)
    公共JTextAreaに(文字列のテキスト、int型の列、int型の列)
    公共JTextAreaに(文書DOC)を使用します新しいJTextAreaのを構築するために与えられたドキュメントモデル、他のすべてのパラメータのデフォルト(NULL、0,0)。
    公共JTextAreaに(文書ドキュメント、文字列のテキスト 、int型の列、int型の列)

    一般的に使用される方法:
    1.publicボイドのsetFont(フォントF)現在のフォントを設定します。
    2.setText()テキストフィールドの内容を設定し
    、このTextAreaのために提供さ行3.public無効setRows(int型の行)。
    4.public無効setColumns(int型の列)このTextAreaの列数。
    5.publicボイドアペンド(文字列str)指定されたテキストは、文書の末尾に付加します。
    6.publicボイド挿入(文字列str、INT POS)は、 指定された場所に指定されたテキストを挿入します。
    7.public無効setLineWrap(ブールラップ)テキスト領域ラップ戦略を設定します。trueに設定した場合、彼らはあまりにも長い間、これらの行の分布の幅に合わせてパッケージ化され、すなわち、ラップされていない場合。falseに設定すると、行が常に展開されます。デフォルトでは、このプロパティはfalseです。

公開された10元の記事 ウォンの賞賛2 ビュー71

おすすめ

転載: blog.csdn.net/qq_42188457/article/details/104022199