| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 466 人关注过本帖
标题:一个有关new的问题???
取消只看楼主 加入收藏
pgyan
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2011-11-1
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:0 
一个有关new的问题???
import java.awt.*;
import java.awt.event.*;

public class jisuanqi extends WindowAdapter {
 Panel p1 = new Panel();
 Panel p2 = new Panel();
 Panel p3 = new Panel();
 TextField txt;
 private Button[] b = new Button[17];
 private String ss[] = { "7", "8", "9", "+", "4", "5", "6", "-", "1", "2",
   "3", "*", "清空", "0", "=", "/", "关闭" };
 static double a;
 static String s, str;//定义变量 创建对像

 public static void main(String args[]) {
  (new jisuanqi()).frame();
 }

 public void frame() {
  Frame fm = new Frame("简单计算器");
  for (int i = 0; i <= 16; i++) {
   b[i] = new Button(ss[i]);
  }                              
  for (int i = 0; i <= 15; i++) {
   p2.add(b[i]);
  }                               //创建按钮 并添加到P2
  b[16].setBackground(Color.yellow);
  txt = new TextField(15);
  txt.setEditable(false);
  for (int i = 0; i <= 16; i++) {
   b[i].addActionListener(new buttonlistener());//添加监听器
  }
  b[16].addActionListener(new close());
  fm.addWindowListener(this);
  fm.setBackground(Color.red);
  p1.setLayout(new BorderLayout());
  p1.add(txt, "North");
  p2.setLayout(new GridLayout(4, 4));
  p3.setLayout(new BorderLayout());
  p3.add(b[16]);
  fm.add(p1, "North");
  fm.add(p2, "Center");
  fm.add(p3, "South");
  fm.pack();
  fm.setVisible(true);//都是些窗中设置 添加相关组件和监听器
 }

 public void windowClosing(WindowEvent e) {
  System.exit(0);//退出系统
 }

 class buttonlistener implements ActionListener {//编写监听器事件 通过按键得出给果
  public void actionPerformed(ActionEvent e) {
   Button btn = (Button) e.getSource();
   if (btn.getLabel() == "=") {
    jisuan();
    str = String.valueOf(a);
    txt.setText(str);
    s = "";
   } else if (btn.getLabel() == "+") {
    jisuan();
    txt.setText("");
    s = "+";
   } else if (btn.getLabel() == "-") {
    jisuan();
    txt.setText("");
    s = "-";
   } else if (btn.getLabel() == "/") {
    jisuan();
    txt.setText("");
    s = "/";

   } else if (btn.getLabel() == "*") {
    jisuan();
    txt.setText("");
    s = "*";
   } else {
    txt.setText(txt.getText() + btn.getLabel());

    if (btn.getLabel() == "清空")
     txt.setText("");
   }
  }

  public void jisuan() {//编写具体计算方法
   if (s == "+")
    a += Double.parseDouble(txt.getText());
   else if (s == "-")
    a -= Double.parseDouble(txt.getText());
   else if (s == "*")
    a *= Double.parseDouble(txt.getText());
   else if (s == "/")
    a /= Double.parseDouble(txt.getText());
   else
    a = Double.parseDouble(txt.getText());
  }
 }
}

class close implements ActionListener {//退出
 public void actionPerformed(ActionEvent e) {
  System.exit(0);
 }
}
一个有关计算器的程序,其中 p3.setLayout(new BorderLayout()); new代表什么意思?为什么在括号里呢?
求大神解答???
搜索更多相关主题的帖子: class jisuanqi private public 
2011-12-24 17:16
快速回复:一个有关new的问题???
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022339 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved