有一段JAVA小程序在线求详细解释

有一段JAVA小程序在线求详细解释,第1张

public class CalculatorA {
private JFrame jf;
private JButton[] jbs;
private JTextField jtf;
private JButton clear;
private double num1,num2,jieguo;
private char c;
/
构造方法实例化属性

/
public CalculatorA(){
jf=new JFrame("我的计算器v10"); //定义窗口的title
jtf=new JTextField(20);//定义文本域 也就是计算器的输入和现实区域
clear=new JButton("clear");// 定义按钮
jbs=new JButton[16];//定义按钮数组
String str="123+456-7890/=";//此处用来批量创建数字和元素符号。
for(int i=0; i<strlength(); i++){//批量赋值。这样做使得定义按钮方便很多否则,你需要一个按钮一个按钮像上面的"clear"那样的定义
jbs[i]=new JButton(strcharAt(i)+"");
}
init();
addEventHandler();
// setFont();
// setColor();
showMe();
}

/
布局图形界面

/
public void init(){
// jfsetLayout(manager)
JPanel jp1=new JPanel();//定义面板,用来容纳上面的按钮文本域等组件
jp1add(jtf);//将 文本域 让如面板中

JPanel jp2=new JPanel();//定义面板,用来容纳上面的按钮文本域等组件
jp2setLayout(new GridLayout(4,4));//定义网格布局,类似html 的table一个4X4的格子,然后将计算的按钮放到这个面板中
for(int i=0; i<16; i++){
jp2add(jbs[i]);
}
JPanel jp3=new JPanel();//定义面板,用来容纳上面的按钮文本域等组件
jp3add(clear);//将 清除按钮 让如面板中
jfadd(jp1,BorderLayoutNORTH);//将显示数据面板,使用边框布局,放置最顶端。
jfadd(jp2,BorderLayoutCENTER);//将显示计算按钮面板,使用边框布局,放置中间。
jfadd(jp3,BorderLayoutSOUTH);//将显示清除按钮面板,使用边框布局,放置最底端。
}

public void setFont(){

}

public void setColor(){

}
public void addEventHandler(){//创建监听事件,用来监听每一个按钮,当点击后需要触发什么事件。
ActionListener lis=new ActionListener(){
public void actionPerformed(ActionEvent e){
// TODO Auto-generated method stub
JButton jb=(JButton)egetSource();//获取事件源
// String key=(String)egetActionCommand();
String str =jbgetText()trim();//把字符串的首尾空格去掉!
// String str2=egetActionCommand()trim();//返回事件源的文本内容
if("0123456789"indexOf(str)!=-1){//如果是数字或点号
jtfsetText(jtfgetText()+str);//设置显示文本域,也就是你点击数字按钮,在显示文本域显示出你点击的值。
return;
}
if("+-/"indexOf(str)!=-1){//当点击运算按钮触发的事件
num1=DoubleparseDouble(jtfgetText());//获取文本域的值并转换类型并暂时保存起来。

jtfsetText("");
c=strcharAt(0);
jtfsetText("");
return ;
}
if(strequals("=")){//根据点击的按钮式"="号执行结算结果
num2=DoubleparseDouble(jtfgetText());
// jtfsetText("");
switch(c){
case '+': jieguo=num1+num2;break;
case '-': jieguo=num1-num2;break;
case '': jieguo=num1num2; break;
case '/': jieguo=num1/num2;break;
}
jtfsetText(DoubletoString(jieguo)); //返回结算结果到显示文本域
return;
}

if(egetActionCommand()equals("clear")){

jtfsetText("");//清空显示文本域
return;
}
}
};
for(int i=0; i<jbslength; i++){
//为每个按钮加上监听类
jbs[i]addActionListener(lis);
}
clearaddActionListener(lis);
}
public void showMe(){
jfpack();//调整此窗口的大小,以适合其子组件的首选大小和布局。
jfsetVisible(true);//设置窗口可见
jfsetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);//设置程序的退出按钮,退出即同时停止程序

}
public static void main(String[] args){//启动程序的入口
new CalculatorA();

}
}
这代码注释写的太累人了。小窗口费劲。给加点分吧。

以上就是关于有一段JAVA小程序 在线求详细解释全部的内容,包括:有一段JAVA小程序 在线求详细解释、、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9674067.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存