JAva学習ノート14——Java Swing
9890 ワード
前に述べた(同シリーズノート6で述べた),"
AWT(Abstract Window Tool、抽象ウィンドウツールボックス)は、JAVAにおけるグラフィックプログラミング向けの基礎であり、AWTはJAVA 1.0によって提案され、その後、SWINGはJAVA 1.2において提案された新しいインタフェースライブラリであるが、SWINGはAWTに取って代わるものではなく、JAVA 1.1においてAWTイベント処理モードが根本的に変更された.SWINGはJava 1.1のイベント処理モデルを使用している.Java Swingは機能が強く、構造が完全なユーザーグラフィックインタフェースツールパッケージです.
一、Swingの概要
1 Swingの歴史
2 Swingコンポーネント
(1)Swingコンポーネントはほとんど軽量コンポーネントであるため、軽量コンポーネントは最終的に1つの重量容器に含まなければならない
軽量コンポーネントは、ローカルで不透明なウィンドウに描画されないため、透明なバックグラウンドを持つことができます.透明なバックグラウンドは、表示される軽量コンポーネントを非矩形にすることができます.
(2)Swingは250以上のクラスを含み,コンポーネントとサポートクラスの集合であり,UIコンポーネント,サポートクラスである.
本P 270参照
3 Swingウィジェット
例を例14に示す.1
フレームワークはまだ別のバッグに関連していませんが、JMFとは違います.
4 Swingアプリケーション
例を例14に示す.2
二、基本Swingコンポーネント
1 JComponentコンポーネント
JComponentクラスはすべてのSwing軽量コンポーネントのベースクラスです
JComponentクラスに含まれる一般的な方法は次のとおりです.
1)getX()、getY():コンポーネントの位置を返します.
2)getHeight()、getWidth():コンポーネントの高さと幅を返します.
3)setBorder(Border border):コンポーネントの枠線を設定します.
4)setFont(Font font):フォントを設定します.
5)setMaximumSize(Dimension maximumSize)、setMinimumSize(Dimension Minimum-Size):最大、最小サイズを設定します.
2 JLabelコンポーネント
ラベルはJLabelクラスで表示
JLabelの構造方法は以下の6種類があります.
1)JLabel():空の文字列を持つアイコンのないラベルを作成します.
2)JLabel(Icon image):特定のアイコンを含むラベルを作成します.
3)JLabel(Icon image,int horizontalAlignment):特定のアイコンを含む、特定の方法で整列されたラベルを作成します.
4)JLabel(String text):特定のテキストを含むラベルを作成します.
5)JLabel(String text,int horizontalAlignment):特定のテキストを含む、特定の方法で整列されたラベルを作成します.
6)JLabel(String text,Icon image,int horizontalAlignment):特定のテキストとアイコンを含む、特定の方法で整列したラベルを作成します.
3 JButtonコンポーネント
JButtonの構造方法は次のとおりです.
1)JButton():空ボタンを作成します.
2)JButton(Actiona):アクション作成ボタンを使用します.
3)JButton(Icon image)、JButton(String text)、JButton(String text,Icon image):アイコンまたはおよびテキストを使用してボタンを作成します.
一般的な方法.
1)addActionListener(ActionListener l)、addChangeListener(ChangeListener)、addItemListener(ItemListener l):対応するリスナーを追加します.
2)doClick()、doClick(int pressTime):プログラム方式ボタンをクリックします.
3)setRolloverIcon(Icon image):マウスのサスペンション時のアイコンを設定します.
4)getModel():ボタンの状態を取得します.
例14.4例14.5
AWT(Abstract Window Tool、抽象ウィンドウツールボックス)は、JAVAにおけるグラフィックプログラミング向けの基礎であり、AWTはJAVA 1.0によって提案され、その後、SWINGはJAVA 1.2において提案された新しいインタフェースライブラリであるが、SWINGはAWTに取って代わるものではなく、JAVA 1.1においてAWTイベント処理モードが根本的に変更された.SWINGはJava 1.1のイベント処理モデルを使用している.Java Swingは機能が強く、構造が完全なユーザーグラフィックインタフェースツールパッケージです.
一、Swingの概要
1 Swingの歴史
2 Swingコンポーネント
(1)Swingコンポーネントはほとんど軽量コンポーネントであるため、軽量コンポーネントは最終的に1つの重量容器に含まなければならない
軽量コンポーネントは、ローカルで不透明なウィンドウに描画されないため、透明なバックグラウンドを持つことができます.透明なバックグラウンドは、表示される軽量コンポーネントを非矩形にすることができます.
(2)Swingは250以上のクラスを含み,コンポーネントとサポートクラスの集合であり,UIコンポーネント,サポートクラスである.
本P 270参照
3 Swingウィジェット
例を例14に示す.1
import javax.swing.*;// : javax
import java.awt.*;
import java.awt.event.*;
public class TestSWING extends JFrame{
public TestSWING(){
super("An Application using Swing");
Container contentPane=getContentPane();
Icon icon=new ImageIcon("swing.gif","An advanced GIF of Duke on a swing");
JLabel label=new JLabel("Swing!",icon,SwingConstants.CENTER);
contentPane.add(label,BorderLayout.CENTER);
}
public static void main(String args[]){
final JFrame f=new TestSWING();
f.setBounds(100,100,300,250);
f.setVisible(true);
f.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
f.addWindowListener(new WindowAdapter(){
public void windowClosed(WindowEvent e){
System.exit(0);
}
}
);
}
}
フレームワークはまだ別のバッグに関連していませんが、JMFとは違います.
4 Swingアプリケーション
例を例14に示す.2
二、基本Swingコンポーネント
1 JComponentコンポーネント
JComponentクラスはすべてのSwing軽量コンポーネントのベースクラスです
JComponentクラスに含まれる一般的な方法は次のとおりです.
1)getX()、getY():コンポーネントの位置を返します.
2)getHeight()、getWidth():コンポーネントの高さと幅を返します.
3)setBorder(Border border):コンポーネントの枠線を設定します.
4)setFont(Font font):フォントを設定します.
5)setMaximumSize(Dimension maximumSize)、setMinimumSize(Dimension Minimum-Size):最大、最小サイズを設定します.
2 JLabelコンポーネント
ラベルはJLabelクラスで表示
JLabelの構造方法は以下の6種類があります.
1)JLabel():空の文字列を持つアイコンのないラベルを作成します.
2)JLabel(Icon image):特定のアイコンを含むラベルを作成します.
3)JLabel(Icon image,int horizontalAlignment):特定のアイコンを含む、特定の方法で整列されたラベルを作成します.
4)JLabel(String text):特定のテキストを含むラベルを作成します.
5)JLabel(String text,int horizontalAlignment):特定のテキストを含む、特定の方法で整列されたラベルを作成します.
6)JLabel(String text,Icon image,int horizontalAlignment):特定のテキストとアイコンを含む、特定の方法で整列したラベルを作成します.
3 JButtonコンポーネント
JButtonの構造方法は次のとおりです.
1)JButton():空ボタンを作成します.
2)JButton(Actiona):アクション作成ボタンを使用します.
3)JButton(Icon image)、JButton(String text)、JButton(String text,Icon image):アイコンまたはおよびテキストを使用してボタンを作成します.
一般的な方法.
1)addActionListener(ActionListener l)、addChangeListener(ChangeListener)、addItemListener(ItemListener l):対応するリスナーを追加します.
2)doClick()、doClick(int pressTime):プログラム方式ボタンをクリックします.
3)setRolloverIcon(Icon image):マウスのサスペンション時のアイコンを設定します.
4)getModel():ボタンの状態を取得します.
例14.4例14.5
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;//javax ,javax.swing.event.*
public class TestSwing3 extends JApplet{
JButton button=new JButton("button");
/*J*/Icon icon=new ImageIcon("icon.gif");
public TestSwing3(){
Container contentPane=getContentPane();
button.setRolloverIcon(new ImageIcon("punch.gif"));
button.setIcon(new ImageIcon("open_hand.gif"));
contentPane.setLayout(new FlowLayout());
contentPane.add(button);
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.out.println("action!");
}
}
);
button.addChangeListener(new ChangeListener(){
public void stateChanged(ChangeEvent e){
System.out.println(getButtonState());
}
}
);
}
private String getButtonState(){
ButtonModel model=button.getModel();//button getModel()
String state="Button State: ";
state+=model.isSelected() ? "selected":"deselected";
state += model.isPressed() ? ", pressed" : ", not pressed";
state += model.isArmed() ? ", armed" : ", disarmed";
state += model.isRollover() ? ", rollover" : ", not rollover";//java :?
return state;
}
}
This is a JApplet for javax.Swing.