実験XI:2つのグラフィックインタフェース

 

出典

パッケージjisuanqi。

インポート持つjava.awt。*;
輸入java.awt.eventの*。;
インポートするjavax.swing。*;

パブリッククラスP {

テキストフィールドのTF =新しいテキストフィールド(40) ; // テキストボックス
のStringBuffer S1 =新規のStringBuffer(); // オペランド、および予約の結果を記録し
たStringBuffer S2 =新規のStringBuffer(); //はオペランド、予約入力を記録デジタルOR演算
、*、/ - +://マーク算術符号、静的な文字列フラグ=新しい文字列( )
//動作開始または終了マークが一回の操作の後に、第2の操作が行わことを保証する場合、ブール開始=真ディスプレイインターフェイスは同時に空にすることができる、すなわち、S1が空であります

無効(){INITパブリック
//メインインターフェイス
のJFrameのF =新しいJFrameの( "電卓");
JPanelのJPanelの新しい新P1 =();
p1.add(TF);
f.add(P1、BorderLayout.NORTH);
JPanelのP2 (=新しい新しいJPanelの);
p2.setLayout(新しい新規のGridLayout(0,2));
//アクションリスナー
のActionListener新しい新しい=のActionListenerは(聞く){
公共ボイドのactionPerformed(のActionEvent T)
{//デジタル入力〜0 9。
(T IF .getActionCommand()== "0") {

(!)(s1.toString等号(新しいString())){場合
(!スタート)の場合{
// S1清零、保证可以重新输入数字
s1.delete(0、s1.length());
}
= trueを開始。
tf.setText(。s1.append( "0")のtoString());
}
}
もし(T.getActionCommand()== "1"){
(!開始)であれば{
s1.delete(0、s1.length())。
}
= trueを開始。
tf.setText(s1.append( "1")のtoString())。
}
IF(T.getActionCommand()== "2"){
もし{(開始!)
s1.delete(0、s1.length())。
}
= trueを開始。
tf.setText(s1.append( "2")のtoString())。
}
IF(T.getActionCommand()== "3"){
もし{(開始!)
s1.delete(0、s1.length())。
}
真=を開始。
tf.setText(s1.append( "3")のtoString())。
}
IF(T.getActionCommand()== "4"){
もし{(開始!)
s1.delete(0、s1.length())。
}
= trueを開始。
tf.setText(s1.append( "4")のtoString())。
}
IF(T.getActionCommand()== "5"){
もし{(開始!)
s1.delete(0、s1.length())。
}
= trueを開始。
tf.setText(。s1.append( "5")のtoString());
}
IF(T.getActionCommand()== "6"){
もし{(開始!)
s1.delete(0、s1.length())。
}
= trueを開始。
tf.setText(s1.append( "6")のtoString())。
}
IF(T.getActionCommand()== "7"){
IF(!

}
= trueを開始。
tf.setText(s1.append( "7")のtoString())。
}
IF(T.getActionCommand()== "8"){
もし{(開始!)
s1.delete(0、s1.length())。
}
= trueを開始。
tf.setText(s1.append( "8")のtoString())。
}
IF(T.getActionCommand()== "9"){
もし{(開始!)
s1.delete(0、s1.length())。
}
= trueを開始。
tf.setText(s1.append( "9")のtoString())。
}

//退格Backspaceキー
(T.getActionCommand()== "バックスペース"){場合
はtrue =始めます。
IF(s1.length()!= 0){
//删除最后输入的一位
s1.deleteCharAt(s1.length() - 1)。
tf.setText(s1.toString())。



(T.getActionCommand()== "CE")IF {
//すべてクリア、フラグがtrueに設定されている開始
真へ=スタート;
s1.delete(0、s1.length());
s2.delete(0、s2.length ());
tf.setText(s1.toString());
}
//クリアC
IF(T.getActionCommand()== "C"){
//現在の入力をクリア、即ちS1がクリア
trueに=スタートし、
S1。削除(0、s1.length());
tf.setText(s1.toString());
}
//プラス
IF(T.getActionCommand()== "+"){
スタート= trueに、
フラグに= "+" ;
値// S2 S1が受信される
s2.appendを(String.valueOf(s1.toString()));
//クリアS1、次の新たに受信したデータ
s1.delete(0、s1.length());
TF。 setText(s1.toString());
}
//マイナス
であれば(T.getActionCommand()== " - "){
= trueを開始。
フラグ=「 - 」。
s2.append(String.valueOf(s1.toString()))。
s1.delete(0、s1.length())。
tf.setText(s1.toString())。
}
//乘号
(T.getActionCommand()== "*")場合、{
= trueを開始します。
フラグ= "*";
s2.append(String.valueOf(s1.toString()))。
s1.delete(0、s1.length())。
tf.setText(s1.toString())。
}
//除号
IF(T.getActionCommand()== "/"){
= trueを開始。
フラグ=「/」。
s2.append(String.valueOf(s1.toString()))。
s1.delete(0、s1.length())。
tf.setText(s1.toString())。
}

}。

}。


//添加按钮以及监听器
のJButton BKS =新しいJButtonの( "バックスペース")。
bks.addActionListener(聞きます);

JButtonのC =新しいJButtonの( "C")。
c.addActionListener(聞きます);
p2.add(BKS)。
p2.add(C);
f.add(P2)。
JPanelのP3 =新しいJPanelの();
p3.setLayout(新しいのGridLayout(4,4));
JButtonのB1 =新しいJButtonの( "7");
p3.add(B1)。
b1.addActionListener(聞きます);
JButtonのB2 =新しいJButtonの( "8");
p3.add(B2)。
b2.addActionListener(聞きます);
JButtonのB3 =新しいJButtonの( "9");
p3.add(B3)。
b3.addActionListener(聞きます);
JButtonのB4 =新しいJButtonの( "/");
p3.add(B4)。
b4.addActionListener(聞きます);

p3.add(B5)。
b5.addActionListener(聞きます);
JButtonのB6 =新しいJButtonの( "5");
p3.add(B6)。
b6.addActionListener(聞きます);
JButtonのB7 =新しいJButtonの( "6");
p3.add(B7)。
b7.addActionListener(聞きます);
JButtonのB8 =新しいJButtonの( "*");
p3.add(B8)。
b8.addActionListener(聞きます);
JButtonのB9 =新しいJButtonの( "1");
p3.add(B9)。
b9.addActionListener(聞きます);
JButtonのB10 =新しいJButtonの( "2");
p3.add(B10)。
b10.addActionListener(聞きます);
JButtonのB11 =新しいJButtonの( "3");
p3.add(B11)。
b11.addActionListener(聞きます);
JButtonのB12 =新しいJButtonの( " - ");
p3.add(B12)。
b12.addActionListener(聞きます);
JButtonのB13 =新しいJButtonの( "CE");
p3.add(B13)。
b13.addActionListener(聞きます);
JButtonのB14 =新しいJButtonの( "0");
p3.add(B14)。
b14.addActionListener(聞きます);
JButtonのB16 =新しいJButtonの( "=");
p3.add(B16)。
b16.addActionListener(聞きます);
JButtonのB17 =新しいJButtonの( "+");
p3.add(B17)。
b17.addActionListener(聞きます);
f.add(P3、BorderLayout.SOUTH)。
f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE)。
f.pack();
f.setVisible(真の);
}

静的な無効メインパブリック(文字列引数[]){
//計算機で実行される方法、呼び出し
新しい新しいPを()のinit();.
}

}

 

 

 

 

結果:

 

経験:

 1.私は設計の原則とプログラム構造のJavaグラフィカル・ユーザー・インターフェースの作成に精通しています

 そこに書き込むことにより2は、まだ多くの問題ですが、また改善し続ける必要があります。

 
 
 

 

出典

パッケージjisuanqi。

インポート持つjava.awt。*;
輸入java.awt.eventの*。;
インポートするjavax.swing。*;

パブリッククラスP {

テキストフィールドのTF =新しいテキストフィールド(40) ; // テキストボックス
のStringBuffer S1 =新規のStringBuffer(); // オペランド、および予約の結果を記録し
たStringBuffer S2 =新規のStringBuffer(); //はオペランド、予約入力を記録デジタルOR演算
、*、/ - +://マーク算術符号、静的な文字列フラグ=新しい文字列( )
//動作開始または終了マークが一回の操作の後に、第2の操作が行わことを保証する場合、ブール開始=真ディスプレイインターフェイスは同時に空にすることができる、すなわち、S1が空であります

無効(){INITパブリック
//メインインターフェイス
のJFrameのF =新しいJFrameの( "電卓");
JPanelのJPanelの新しい新P1 =();
p1.add(TF);
f.add(P1、BorderLayout.NORTH);
JPanelのP2 (=新しい新しいJPanelの);
p2.setLayout(新しい新規のGridLayout(0,2));
//アクションリスナー
のActionListener新しい新しい=のActionListenerは(聞く){
公共ボイドのactionPerformed(のActionEvent T)
{//デジタル入力〜0 9。
(T IF .getActionCommand()== "0") {

(!)(s1.toString等号(新しいString())){場合
(!スタート)の場合{
// S1清零、保证可以重新输入数字
s1.delete(0、s1.length());
}
= trueを開始。
tf.setText(。s1.append( "0")のtoString());
}
}
もし(T.getActionCommand()== "1"){
(!開始)であれば{
s1.delete(0、s1.length())。
}
= trueを開始。
tf.setText(s1.append( "1")のtoString())。
}
IF(T.getActionCommand()== "2"){
もし{(開始!)
s1.delete(0、s1.length())。
}
= trueを開始。
tf.setText(s1.append( "2")のtoString())。
}
IF(T.getActionCommand()== "3"){
もし{(開始!)
s1.delete(0、s1.length())。
}
真=を開始。
tf.setText(s1.append( "3")のtoString())。
}
IF(T.getActionCommand()== "4"){
もし{(開始!)
s1.delete(0、s1.length())。
}
= trueを開始。
tf.setText(s1.append( "4")のtoString())。
}
IF(T.getActionCommand()== "5"){
もし{(開始!)
s1.delete(0、s1.length())。
}
= trueを開始。
tf.setText(。s1.append( "5")のtoString());
}
IF(T.getActionCommand()== "6"){
もし{(開始!)
s1.delete(0、s1.length())。
}
= trueを開始。
tf.setText(s1.append( "6")のtoString())。
}
IF(T.getActionCommand()== "7"){
IF(!

}
= trueを開始。
tf.setText(s1.append( "7")のtoString())。
}
IF(T.getActionCommand()== "8"){
もし{(開始!)
s1.delete(0、s1.length())。
}
= trueを開始。
tf.setText(s1.append( "8")のtoString())。
}
IF(T.getActionCommand()== "9"){
もし{(開始!)
s1.delete(0、s1.length())。
}
= trueを開始。
tf.setText(s1.append( "9")のtoString())。
}

//退格Backspaceキー
(T.getActionCommand()== "バックスペース"){場合
はtrue =始めます。
IF(s1.length()!= 0){
//删除最后输入的一位
s1.deleteCharAt(s1.length() - 1)。
tf.setText(s1.toString())。



(T.getActionCommand()== "CE")IF {
//すべてクリア、フラグがtrueに設定されている開始
真へ=スタート;
s1.delete(0、s1.length());
s2.delete(0、s2.length ());
tf.setText(s1.toString());
}
//クリアC
IF(T.getActionCommand()== "C"){
//現在の入力をクリア、即ちS1がクリア
trueに=スタートし、
S1。削除(0、s1.length());
tf.setText(s1.toString());
}
//プラス
IF(T.getActionCommand()== "+"){
スタート= trueに、
フラグに= "+" ;
値// S2 S1が受信される
s2.appendを(String.valueOf(s1.toString()));
//クリアS1、次の新たに受信したデータ
s1.delete(0、s1.length());
TF。 setText(s1.toString());
}
//マイナス
であれば(T.getActionCommand()== " - "){
= trueを開始。
フラグ=「 - 」。
s2.append(String.valueOf(s1.toString()))。
s1.delete(0、s1.length())。
tf.setText(s1.toString())。
}
//乘号
(T.getActionCommand()== "*")場合、{
= trueを開始します。
フラグ= "*";
s2.append(String.valueOf(s1.toString()))。
s1.delete(0、s1.length())。
tf.setText(s1.toString())。
}
//除号
IF(T.getActionCommand()== "/"){
= trueを開始。
フラグ=「/」。
s2.append(String.valueOf(s1.toString()))。
s1.delete(0、s1.length())。
tf.setText(s1.toString())。
}

}。

}。


//添加按钮以及监听器
のJButton BKS =新しいJButtonの( "バックスペース")。
bks.addActionListener(聞きます);

JButtonのC =新しいJButtonの( "C")。
c.addActionListener(聞きます);
p2.add(BKS)。
p2.add(C);
f.add(P2)。
JPanelのP3 =新しいJPanelの();
p3.setLayout(新しいのGridLayout(4,4));
JButtonのB1 =新しいJButtonの( "7");
p3.add(B1)。
b1.addActionListener(聞きます);
JButtonのB2 =新しいJButtonの( "8");
p3.add(B2)。
b2.addActionListener(聞きます);
JButtonのB3 =新しいJButtonの( "9");
p3.add(B3)。
b3.addActionListener(聞きます);
JButtonのB4 =新しいJButtonの( "/");
p3.add(B4)。
b4.addActionListener(聞きます);

p3.add(B5)。
b5.addActionListener(聞きます);
JButtonのB6 =新しいJButtonの( "5");
p3.add(B6)。
b6.addActionListener(聞きます);
JButtonのB7 =新しいJButtonの( "6");
p3.add(B7)。
b7.addActionListener(聞きます);
JButtonのB8 =新しいJButtonの( "*");
p3.add(B8)。
b8.addActionListener(聞きます);
JButtonのB9 =新しいJButtonの( "1");
p3.add(B9)。
b9.addActionListener(聞きます);
JButtonのB10 =新しいJButtonの( "2");
p3.add(B10)。
b10.addActionListener(聞きます);
JButtonのB11 =新しいJButtonの( "3");
p3.add(B11)。
b11.addActionListener(聞きます);
JButtonのB12 =新しいJButtonの( " - ");
p3.add(B12)。
b12.addActionListener(聞きます);
JButtonのB13 =新しいJButtonの( "CE");
p3.add(B13)。
b13.addActionListener(聞きます);
JButtonのB14 =新しいJButtonの( "0");
p3.add(B14)。
b14.addActionListener(聞きます);
JButtonのB16 =新しいJButtonの( "=");
p3.add(B16)。
b16.addActionListener(聞きます);
JButtonのB17 =新しいJButtonの( "+");
p3.add(B17)。
b17.addActionListener(聞きます);
f.add(P3、BorderLayout.SOUTH)。
f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE)。
f.pack();
f.setVisible(真の);
}

静的な無効メインパブリック(文字列引数[]){
//計算機で実行される方法、呼び出し
新しい新しいPを()のinit();.
}

}

 

 

 

 

結果:

 

経験:

 1.私は設計の原則とプログラム構造のJavaグラフィカル・ユーザー・インターフェースの作成に精通しています

 そこに書き込むことにより2は、まだ多くの問題ですが、また改善し続ける必要があります。

おすすめ

転載: www.cnblogs.com/Z-js/p/10983545.html