编写Java GUI程序,实现一个简单计算器。要求如下: (1)设计的界面如下图所示:窗体的标题栏显示“模拟计算器—江海大”,1个文本框用于显示输入字符和计算结果;20个按钮控件作为字符输入按键或者功能按键。程序的外观对64开平方根的运行结果 (2)计算功能:实现加、减、乘、除等双目运算,开平方、百分数等单目运算; (3)辅助功能:按钮“C”清空文本框;按钮“←”退格,删除文本框中最右边的一个字符。 提示: (1)GUI外观设计:创建“面板对象”,并设置其布局管理方式为5行X4列的GridLayout,用于容纳20个按钮。文本框布局到窗体的“BorderLayout.NORTH”,面板对象 布局到窗体的“BorderLayout.CENTER”。 (2)设置20个按钮的文本:声明并创建String型数组,存放20个按钮上的文本内容。声明并创建JButton型(或者Button型)数组,结合for循环为20个按钮添加文本。private String name[] = {"C","÷", "×", "←","7", "8", "9", "-", "4", "5", "6", "+", "1", "2", "3", "√", "%", "0", ".", "="}; //声明一个按钮数组,该数组的长度以字符串数组的长度为准 private JButton button[] = new JButton[name.length]; for(int i=0; i<button.length; i++){ button[i]="new" jbutton(name[i]); …… } (3)计算功能的实现:注意双目运算符和单目运算符的不同处理。双目运算符,定义变量保存第一个操作数的值,以及双目运算后的值,通过点击“="”后将运算结果显示到文本框中。单目运算符,输入数值后,点击运算符直接在文本框中显示运算结果。开平方根的功能通过调用Math类的sqrt()方法实现。" (4)按钮“c”清空文本框的实现:调用文本框对象的成员方法settext("")。 (5)按钮“←”退格的实现:首先获取文本框中的字符串,然后调用成员方法substring()得到除掉最后一个字符剩下的子串,最后将该字符串设置为文本框对象的内容。参考代码如下(假设文本框对象的对象名为txtresult): string text="txtResult.getText();" if(text.length()>1){ text=text.substring(0,text.length()-1); txtResult.setText(text); } else{ txtResult.setText(""); } (6)采用类似提示(2)中为按钮设置文本的途径,为按钮添加事件监听器。
程序填空题:完善程序,实现包括一个复选框的窗体。点选复选框,通过相应的事件处理后,能够在控制台显示复选框的选择信息。要求:在数字标示和注释符(//)的前面,填入合适代码;并且不要删除数字标示和注释符://(数字)。运行效果图:当复选框被选中时运行效果图:当复选框被取消选中状态时 import java.awt.*; import java.awt.event.*; /*---在(1)处进行类声明:类名为MyCheck,继承自Frame类---*/ //(1) { public MyCheck(){ super("GUI程序设计实验"); /*---在(2)处创建面板对象,并设置其布局管理方式为FlowLayout---*/ //(2) Checkbox cbx = new Checkbox("isPassed"); /*---在(3)处完成两个功能:向面板中加入组件cbx,为组件cbx注册监听器。此处填写两行语句---*/ //(3) add(p); /*---在(4)处设置窗体的属性:设置大小为(250,100),设置为可见。此处填写两行语句---*/ //(4) } public static void main(String[] args){ new MyCheck(); } /*---在(5)处声明内部类的类头:类名自定义---*/ //(5) { public void itemStateChanged(ItemEvent e){ System.out.println(e); } } }
程序填空题: 制作一个Applet小应用程序,设置其布局为BorderLayout,定义一个按钮和多行文本框并分别放到“North”区域和“Center”区域。 import java.awt.*; import java.applet.*; import javax.swing.*; import java.awt.event.*; //声明AppletDemo类,其父类为JApplet,并实现接口ActionListener (1 ) { JButton btn; JTextArea txt; public void init(){ //设置其布局为BorderLayout (2) btn=new JButton("Show Msg"); txt=new JTextArea(3,20); //把按钮btn放到“North”区域,txt放到“Center”区域 (3) //给按钮注册监听器 (4) } public void actionPerformed(ActionEvent e){ txt.append(btn.getText()); } } 对应的html网页文件为: <applet code=" (5) " width="300" height="200"></applet>
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!