java图形界面设计计算器,java图形用户界面计算器

  java图形界面设计计算器,java图形用户界面计算器

  用JAVA开发图形界面应用程序的SWING组件包功能强大且易于使用。接下来,我们将使用它来编写一个简单的图形界面小程序:加法计算器。

  第一步:

  首先,我们必须弄清楚我们要做什么。如果加个计算器,做出来之后就是这个样子了。

  如上图,这个程序的界面已经在我们脑海中成型了:程序的顶部有一个标题,这里用来说明我们程序的名字;在函数上,用户可以把自己要加的值放在框1和框2中,然后点击下面的“计算”按钮,结果会显示在框3中。

  第二步:

  分析一下界面,该怎么办。从上图可以看出,界面包含七个控件:标题、框1、框2、框3、加号、等号,还有一个“计算”按钮。这时候我们心里要有相应的对策:框1,框2用来接收用户动态输入的值,框3用来显示计算结果;我们可以使用三个文本框来做到这一点,其中框3不需要用户输入,我们可以为它设置用户可编辑的属性。标题,加号,等号,这三个控件总是一样的,我们选择静态标签来完成。“计算”按钮,当然得用按钮控件来做,但如果只是普通的按钮,那就没用了。我们需要为这个按钮添加一个用于计算加法的事件响应,这样当我们单击这个按钮时,计算结果就会出现在框3中。

  选择控件的使用。我们也需要分析。要实现上图所示的界面,我们需要几个模块。

  两个模块:

  1)题目是一个模块。2)方框1,方框2,方框3,加号,等于一个模块。

  这是因为框1、框2、框3、加号、等号在同一条水平线,而标题在另一条水平线。所以我们需要把它分成两个模块。(可能感觉有点多余,但程序设计就是这样,刚柔并济,方法固定,却能达到各种效果)。分成两个横向模块后,事情还没完。我们还需要将这两个水产品模块组合成一个垂直模块(从上到下排列)。我们后面会随意设置按钮的位置,这里就不把它当模块用了。

  这样,准备工作就完成了。开始手写代码。

  代码实现:

  导入Java . awt . color;导入Java . awt.component;导入Java . awt . event . action event;导入Java . awt . event . action listener;导入javax . swing . *;公共类MyWin扩展JFrame实现action listener { JTextField rValue=new JTextField(8);JTextField lValue=new JTextField(8);JTextField result=new JTextField(8);jbertcalcul=new jbutton( calculation );MyWin() {/**布局设计* **/setTitle(加法计算器);set layout(null);setBounds(680,300,512,380);set visible(true);setDefaultCloseOperation(JFrame。EXIT _ ON _ CLOSE);JPanel my title=new JPanel();MyTitle.add(新JLabel(加法计算器-v 1.0 ));JPanel my text=new JPanel();myText.add(右值);my text . add(new JLabel());my text . add(lValue);my text . add(new JLabel(=);result . set editable(false);result.setBackground(颜色。浅_灰色);myText.add(结果);box my main=box . createverticalbox();component strut 1=box . createverticalstrut(20);组件strut 2=box . createverticalstrut(200);mymain . add(strut 1);my main . add(my title);myMain.a

  dd(myText);        myMain.add(strut2);        myMain.setBounds(0, 0, 512, 380);        add(myMain);                calcul.setBounds(200, 220, 100, 60);        add(calcul);                /**事件监听**/        calcul.addActionListener(new ActionListener() {            @Override            public void actionPerformed(ActionEvent e) {                // TODO Auto-generated method stub                                try {                    int rVal = Integer.valueOf(rValue.getText());                    int lVal = Integer.valueOf(lValue.getText());                    int res = rVal + lVal;                    result.setText(String.valueOf(res));                } catch (Exception e1) {                    System.out.println(e1);                }            }                    });    }    @Override    public void actionPerformed(ActionEvent e) {        // TODO Auto-generated method stub    }}上述代码中:

  1 ~ 5 行,导入了需要使用到的包。

  想要实现窗口界面,首先我们需要一个窗口。

  7 ~ 70 行,定义了一个窗口类并在其构造函数中具体实现了控件的初始化。该窗口类继承自 JAVA 提供的JFrame 窗口类,并实现了JAVA 提供的 ActionListener 事件响应接口(我们使用该窗口类作为自己的事件监听器)。

  8 ~ 11 行,将文本框与按钮控件作为类的成员属性,因为在程序运行时他们的状态需要保存下来,如果将其定义在某个函数中,该函数结束时,控件的生命周期也会结束,控件的状态已经其中的值无法保存,我们便无法完成后序的其他操作。其中 8,9,10 行文本框控件使用有参构造定义,表示该文本框控件最大可显示 8 位字符。

  13 ~ 63 行,实现窗口类的构造函数。

  15 行,设置窗口标题。

  16 行,设置窗口布局为 null 布局,即我们需要设置每一个控件的位置。

  17 行,设置窗口程序运行时出现在屏幕上时的初始位置和窗口大小。

  18 行,设置窗口可见。若设置为 false ,则窗口不可见(你什么也看不到)。

  19 行,设置点击窗口右上角叉叉时程序的事件响应。我这里设置为 EXIT_ON_CLOSE ,即点击后退出程序。

  21 行,定义一个 myTitle 面板(即为上文中第一个模块),用来存放我们的标题。22 行,往 mytitle 面板中增加了我们的标题文本标签。

  23 ~ 30,定义 myText 面板(第二个模块)并往其中添加了类成员属性中的三个文本框控件。其中 28 行设置接受结果的文本框的属性为不可编辑,29 行设置其颜色为亮灰色。

  32 ~ 39 行,我们将上面定义的两个面板(两个模块)放入了一个垂直盒子中(将两个模块组合)。其中 33,34 行我设置了两个支撑体,用来控制两个模块之间的距离。

  40 行,将装有两个面板的盒子添加到当前窗口。

  42 行,设置 计算 按钮出现在窗口中的位置和按钮的大小。43 行,将按钮添加到当前窗口。

  46 ~ 62 行,为 计算 按钮注册监听器并实现事件响应函数(将两个文本框内的字符串转化为整形数据进行加法计算后,将结果输出在接收结果的文本框中)。

  在相同包下的 Test 文件中测试一下程序。

  

public class Test {    public static void main(String[] args) {        // TODO Auto-generated method stub        MyWin a = new MyWin();    }}

运行效果:

 

  

 

  以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持盛行IT。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: