java實(shí)現(xiàn)計(jì)算器加法小程序(圖形化界面)
對于一個(gè)簡單的計(jì)算器加法小程序,它首先是由五個(gè)組件構(gòu)成的,三個(gè)文本框,兩個(gè)用來輸入數(shù)字,一個(gè)用來輸出最后的結(jié)果,接下來是一個(gè)標(biāo)簽,標(biāo)簽的內(nèi)容是加號(hào),表示這里計(jì)算的是加法,最后一個(gè)組建是一個(gè)按鈕,點(diǎn)擊該按鈕時(shí)會(huì)輸出計(jì)算的結(jié)果.在這個(gè)小程序中,我們采用的布局管理器時(shí)FlowLayout.基本元素就是這些,接下來我們將演示兩種實(shí)現(xiàn)的方法:
(1)、傳遞成員局部變量的方法,具體代碼如下:
package 實(shí)例11;
import java.awt.*;
import java.awt.event.*;
public class Test {
public static void main(String[]args){
new MyFrame().launchMyFrame();
}
}
class MyFrame extends Frame{
public void launchMyFrame(){
TextField tf1 = new TextField();
TextField tf2 = new TextField();
TextField tf3 = new TextField();
Label l = new Label("+");
Button b = new Button("=");
Monitor m = new Monitor(tf1, tf2, tf3); //通過構(gòu)造方法將三個(gè)局部變量傳遞Monitor
b.addActionListener(m);
setLayout(new FlowLayout());
add(tf1);
add(l);
add(tf2);
add(b);
add(tf3);
pack();
setVisible(true);
}
}
class Monitor implements ActionListener{
TextField tf1, tf2, tf3;
public Monitor(TextField tf1, TextField tf2, TextField tf3){
this.tf1 = tf1;
this.tf2 = tf2;
this.tf3 = tf3;
}
public void actionPerformed(ActionEvent e){
int a = Integer.parseInt(tf1.getText());
int b = Integer.parseInt(tf2.getText());
int c = a + b;
tf3.setText(""+c);
System.out.println(c);
}
}
(2)、傳遞引用的方式,具體代碼如下:
package 實(shí)例11;
import java.awt.*;
import java.awt.event.*;
public class Test {
public static void main(String[]args){
new MyFrame().launchMyFrame();
}
}
class MyFrame extends Frame{
TextField tf1, tf2, tf3;
public void launchMyFrame(){
tf1 = new TextField();
tf2 = new TextField();
Label l = new Label("+");
Button b = new Button("=");
Monitor m = new Monitor(this);
b.addActionListener(m);
setLayout(new FlowLayout());
add(tf1);
add(l);
add(tf2);
add(b);
add(tf3);
pack();
setVisible(true);
}
}
class Monitor implements ActionListener{
MyFrame mf = null;
public Monitor(MyFrame mf){
this.mf = mf;
}
public void actionPerformed(ActionEvent e){
int a = Integer.parseInt(mf.tf1.getText());
int b = Integer.parseInt(mf.tf2.getText());
int c = a + b;
mf.tf3.setText(""+c);
System.out.println(c);
}
}
總結(jié):通常使用第二種方法比較好,因?yàn)橹恍枰谑录O(jiān)聽器中接收引起事件發(fā)生的類的引用即可,無需知道該類中具體的成員
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
使用IDEA將Java/Kotliin工程導(dǎo)出Jar包的正確姿勢
這篇文章主要介紹了使用IDEA將Java/Kotliin工程導(dǎo)出Jar包的正確姿勢,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
java switch語句使用注意的四大細(xì)節(jié)
很多朋友在使用java switch語句時(shí),可能沒有注意到一些細(xì)節(jié),本文將詳細(xì)介紹使用java switch語句四大要點(diǎn),需要的朋友可以參考下2012-12-12
SpringMVC Json自定義序列化和反序列化的操作方法
這篇文章主要介紹了SpringMVC Json自定義序列化和反序列化的操作方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
SpringBoot多controller添加URL前綴的實(shí)現(xiàn)方法
這篇文章主要介紹了SpringBoot多controller添加URL前綴的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-02-02

