这几天我编写java源代码都是用记事本,今天在编译那个对我而言较复杂的程序时发现很不理想,主要是如果编译出错,cmd会提示错误行号。但记事本没有行号,需要一行行的去数,如果代码很长就比较麻烦。下载试用了几个后,觉得JCreator还行,能提示行号,提供运行,关键字补齐,自动缩进。为方便初学者和E文不太好的朋友,特意找了个汉化破解版,发到资源里,需要的朋友请自行下载安装。以下是一个学习数据类型转换和for循环语句的小程序,还用到了gridlayout布局和适配器:
import java.awt.*;import java.applet.*;import java.awt.event.*;
class myp1 extends Panel { Label l1; myp1() { setLayout(new GridLayout(1,1)); Label l1=new Label("计算从数a到数b的连续和",Label.CENTER); add(l1); } } class myp2 extends Panel { Label l1,l2; TextField t1,t2; Button b1; myp2() { l1=new Label("输入起始数:"); l2=new Label("输入终止数:"); setLayout(new GridLayout(1,5)); t1=new TextField(10); t2=new TextField(10); b1=new Button("确定"); add(l1);add(t1);add(l2);add(t2);add(b1); } } class myp3 extends Panel { Label l1;TextField t1; myp3() { setLayout(new GridLayout(1,3)); l1=new Label("计算结果:"); t1=new TextField(10); add(l1);add(t1);add(new Label()); } } public class mylayout extends Applet implements ActionListener{ myp1 p1;myp2 p2;myp3 p3; public void init() { setLayout(new GridLayout(3,1)); p1=new myp1();p2=new myp2();p3=new myp3(); add(p1);add(p2);add(p3); (p2.b1).addActionListener(this); } public void actionPerformed(ActionEvent e) { if(e.getSource()==(p2.b1)) { long n1,n2,sum=0; n1=Long.parseLong(p2.t1.getText()); n2=Long.parseLong(p2.t2.getText()); for(long i=n1;i<=n2;i++) { sum=sum+i; } p3.t1.setText(String.valueOf(sum)); } }
}
保存为mylayout.java编译,新建hehe.html,代码为<applet code=mylayout.class width=300 height=80></applet>,appletviewer hehe.html运行。
1、JCreator可能不能运行小程序(至少现在还没有弄明白怎么用它来运行applet小程序)。
2、多记,特别是需要大写的字母,比如 n1=Long.parseLong(p2.t1.getText()); n2=Long.parseLong(p2.t2.getText());就因为第一个Long没有把首字母大写浪费了很多时间。
3、知道这个程序写了什么,但不知道为什么这么写,是不是可以换其他方式来写呢?今后要加强练习,试着更改稍复杂的代码来提高自己的水平。