初学者请教如何做一个计数器小应用程序
我想做一个像下面这个界面的计数器
0
7 8 9 ce
4 5 6 +
1 2 3 —
0 * / =
(界面的第一行是一个文本筐,显示结果以下四行是16个按扭)
目前我只会编写实现这样界面的程序,却不知道如何实现它的功能
请教各位高手帮我写出实现这个计数器的功能的代码来好吗,我要好好学学你们的编程技巧,谢谢!
附:我编写的实现界面的程序:
import java.applet.*;
import java.awt.*;
improt java.event.*;
public class jisuan extends Applet implements ActionListener
{TextField text1;
Button b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16;
Panel p1,p2,p3,p4;
GridLayout net;
public void init()
{net=new GridLayout (5,1);
setLayout(net);
text1=new TextField("0",10);
add(text1);
p1=new Panel();
p2=new Panel();
p3=new Panel();
p4=new Panel();
p1.setLayout(new GridLayout (1,4));
p2.setLayout(new GridLayout (1,4));
p3.setLayout(new GridLayout (1,4));
p4.setLayout(new GridLayout (1,4));
b1=new Button("7");b1.addActionListener(this);
b2=new Button("8");b2.addActionListener(this);
b3=new Button("9");b3.addActionListener(this);
b4=new Button("ce");b4.addActionListener(this);
b5=new Button("4");b5.addActionListener(this);
b6=new Button("5");b6.addActionListener(this);
b7=new Button("6");b7.addActionListener(this);
b8=new Button("+");b8.addActionListener(this);
b9=new Button("1");b9.addActionListener(this);
b10=new Button("2");b10.addActionListener(this);
b11=new Button("3");b11.addActionListener(this);
b12=new Button("-");b12.addActionListener(this);
b13=new Button("0");b13.addActionListener(this);
b14=new Button("*");b14.addActionListener(this);
b15=new Button("/");b15.addActionListener(this);
b16=new Button("=");b16.addActionListener(this);
p1.add(b1);p1.add(b2);p1.add(b3);p1.add(b4);
p2.add(b5);p2.add(b6);p2.add(b7);p2.add(b8);
p3.add(b9);p3.add(b10);p3.add(b11);p3.add(b12);
p4.add(b13);p4.add(b14);p4.add(b15);p4.add(b16);
add(p1);add(p2);add(p3);add(p4);
}
public void actionPerformed(ActionEvent e){}
}
问题点数:100、回复次数:6Top
1 楼xiaoxhui(飞)回复于 2003-11-01 14:53:40 得分 40
public class Counter extends java.awt.Frame {
private String s;
private static int i=0;
private double g=0;
private int add=0;
/** Creates new form Counter */
public Counter() {
initComponents();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
private void initComponents() {
label1 = new java.awt.Label();
panel1 = new java.awt.Panel();
b1 = new java.awt.Button();
b2 = new java.awt.Button();
b3 = new java.awt.Button();
bAdd = new java.awt.Button();
bC = new java.awt.Button();
b4 = new java.awt.Button();
b5 = new java.awt.Button();
b6 = new java.awt.Button();
bMinus = new java.awt.Button();
bCE = new java.awt.Button();
b7 = new java.awt.Button();
b8 = new java.awt.Button();
b9 = new java.awt.Button();
bMult = new java.awt.Button();
try {
bBK =(java.awt.Button)java.beans.Beans.instantiate(getClass().getClassLoader(), "AWT.Counter_button1");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (java.io.IOException e) {
e.printStackTrace();
}
b0 = new java.awt.Button();
bDecimal = new java.awt.Button();
bAmount = new java.awt.Button();
bDivision = new java.awt.Button();
button4 = new java.awt.Button();
setResizable(false);
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
exitForm(evt);
}
});
label1.setAlignment(java.awt.Label.RIGHT);
label1.setText("0");
add(label1, java.awt.BorderLayout.NORTH);
panel1.setLayout(new java.awt.GridLayout(4, 4, 4, 4));
panel1.setBackground(new java.awt.Color(204, 204, 204));
b1.setFont(new java.awt.Font("Dialog", 1, 18));
b1.setLabel("1");
b1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
b1ActionPerformed(evt);
}
});
panel1.add(b1);
b2.setFont(new java.awt.Font("Dialog", 1, 18));
b2.setLabel("2");
b2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
b2ActionPerformed(evt);
}
});
panel1.add(b2);
b3.setFont(new java.awt.Font("Dialog", 1, 18));
b3.setLabel("3");
b3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
b3ActionPerformed(evt);
}
});
panel1.add(b3);
bAdd.setFont(new java.awt.Font("Dialog", 1, 18));
bAdd.setLabel("+");
bAdd.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bAddActionPerformed(evt);
}
});
panel1.add(bAdd);
bC.setFont(new java.awt.Font("Dialog", 1, 18));
bC.setLabel("C");
bC.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bCActionPerformed(evt);
}
});
panel1.add(bC);
b4.setFont(new java.awt.Font("Dialog", 1, 18));
b4.setLabel("4");
b4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
b4ActionPerformed(evt);
}
});
panel1.add(b4);
b5.setFont(new java.awt.Font("Dialog", 1, 18));
b5.setLabel("5");
b5.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
b5ActionPerformed(evt);
}
});
panel1.add(b5);
b6.setFont(new java.awt.Font("Dialog", 1, 18));
b6.setLabel("6");
b6.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
b6ActionPerformed(evt);
}
});
panel1.add(b6);
bMinus.setFont(new java.awt.Font("Dialog", 1, 18));
bMinus.setLabel("-");
bMinus.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bMinusActionPerformed(evt);
}
});
panel1.add(bMinus);
bCE.setFont(new java.awt.Font("Dialog", 1, 18));
bCE.setLabel("CE");
panel1.add(bCE);
b7.setFont(new java.awt.Font("Dialog", 1, 18));
b7.setLabel("7");
b7.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
b7ActionPerformed(evt);
}
});
panel1.add(b7);
b8.setFont(new java.awt.Font("Dialog", 1, 18));
b8.setLabel("8");
b8.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
b8ActionPerformed(evt);
}
});
panel1.add(b8);
b9.setFont(new java.awt.Font("Dialog", 1, 18));
b9.setLabel("9");
b9.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
b9ActionPerformed(evt);
}
});
panel1.add(b9);
bMult.setFont(new java.awt.Font("Dialog", 1, 18));
bMult.setLabel("*");
panel1.add(bMult);
bBK.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bBKActionPerformed(evt);
}
});
panel1.add(bBK);
b0.setFont(new java.awt.Font("Dialog", 1, 18));
b0.setLabel("0");
b0.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
b0ActionPerformed(evt);
}
});
panel1.add(b0);
bDecimal.setFont(new java.awt.Font("Dialog", 1, 18));
bDecimal.setLabel(".");
bDecimal.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bDecimalActionPerformed(evt);
}
});
panel1.add(bDecimal);
bAmount.setFont(new java.awt.Font("Dialog", 1, 18));
bAmount.setLabel("=");
panel1.add(bAmount);
bDivision.setFont(new java.awt.Font("Dialog", 1, 18));
bDivision.setLabel("/");
panel1.add(bDivision);
button4.setEnabled(false);
panel1.add(button4);
add(panel1, java.awt.BorderLayout.CENTER);
pack();
java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
setSize(new java.awt.Dimension(400, 300));
setLocation((screenSize.width-400)/2,(screenSize.height-300)/2);
}Top
2 楼xiaoxhui(飞)回复于 2003-11-01 14:55:07 得分 40
private void bMinusActionPerformed(java.awt.event.ActionEvent evt) {
// Add your handling code here:
i=0;
if(s!=null){
g-=Double.parseDouble(s);
}
if(add==0){
s=null;
add=1;
}
else{
s=String.valueOf(g);
label1.setText(s);
s=null;
}
}
private void bAddActionPerformed(java.awt.event.ActionEvent evt) {
// Add your handling code here
i=0;
if(s!=null){
g+=Double.parseDouble(s);
}
if(add==0){
s=null;
add=1;
}
else{
s=String.valueOf(g);
label1.setText(s);
s=null;
}
}
private void bDecimalActionPerformed(java.awt.event.ActionEvent evt) {
// Add your handling code here:
if(s==null){
s="0.";
i=1;
label1.setText(s);
}
else{
if(i==0){
s+=".";
i=1;
label1.setText(s);
}
}
}
private void bBKActionPerformed(java.awt.event.ActionEvent evt) {
// Add your handling code here:
if((s!=null)&&(s.length()!=0)){
if(s.equals("0.")){
s=null;
i=0;
label1.setText("0");
}
else{
if(s.charAt(s.length()-1)=='.'){
i=0;
}
s=s.substring(0,(s.length()-1));
if(s.length()==0){
s=null;
i=0;
label1.setText("0");
}
else{label1.setText(s);}
}
}
else{
s=null;
i=0;
label1.setText("0");
}
}
private void bCActionPerformed(java.awt.event.ActionEvent evt) {
// Add your handling code here:
s=null;
i=0;
g=0;
add=0;
label1.setText("0");
}
private void b0ActionPerformed(java.awt.event.ActionEvent evt) {
// Add your handling code here:
if(s!=null){
if(label1.getText()!="0"){
s+="0";
label1.setText(s);
}
}
}
private void b9ActionPerformed(java.awt.event.ActionEvent evt) {
// Add your handling code here:
if(s==null){
s="9";
}
else{
s+="9";
}
label1.setText(s);
}
private void b8ActionPerformed(java.awt.event.ActionEvent evt) {
// Add your handling code here:
if(s==null){
s="8";
}
else{
s+="8";
}
label1.setText(s);
}
private void b7ActionPerformed(java.awt.event.ActionEvent evt) {
// Add your handling code here:
if(s==null){
s="7";
}
else{
s+="7";
}
label1.setText(s);
}
private void b6ActionPerformed(java.awt.event.ActionEvent evt) {
// Add your handling code here:
if(s==null){
s="6";
}
else{
s+="6";
}
label1.setText(s);
}
private void b5ActionPerformed(java.awt.event.ActionEvent evt) {
// Add your handling code here:
if(s==null){
s="5";
}
else{
s+="5";
}
label1.setText(s);
}
private void b4ActionPerformed(java.awt.event.ActionEvent evt) {
// Add your handling code here:
if(s==null){
s="4";
}
else{
s+="4";
}
label1.setText(s);
}
private void b3ActionPerformed(java.awt.event.ActionEvent evt) {
// Add your handling code here:
if(s==null){
s="3";
}
else{
s+="3";
}
label1.setText(s);
}
private void b2ActionPerformed(java.awt.event.ActionEvent evt) {
// Add your handling code here:
if(s==null){
s="2";
}
else{
s+="2";
}
label1.setText(s);
}
private void b1ActionPerformed(java.awt.event.ActionEvent evt) {
// Add your handling code here:
if(s==null){
s="1";
}
else{
s+="1";
}
label1.setText(s);
}
/** Exit the Application */
private void exitForm(java.awt.event.WindowEvent evt) {
System.exit(0);
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
new Counter().show();
}
// Variables declaration - do not modify
private java.awt.Button bDecimal;
private java.awt.Button bMult;
private java.awt.Button bDivision;
private java.awt.Button b6;
private java.awt.Button b5;
private java.awt.Button b0;
private java.awt.Button b8;
private java.awt.Button b1;
private java.awt.Panel panel1;
private java.awt.Button b3;
private java.awt.Button bMinus;
private java.awt.Button bAdd;
private java.awt.Button b9;
private java.awt.Button bCE;
private java.awt.Button bAmount;
private java.awt.Button bC;
private java.awt.Button b4;
private java.awt.Button button4;
private java.awt.Button b7;
private java.awt.Button b2;
private java.awt.Label label1;
private java.awt.Button bBK;
// End of variables declaration
}
这个程序我还没写完,只实现了加和减,剩下的你来写,我们交换一下,互相提高吧Top
3 楼xiaoxia2003(xiaoxia)回复于 2003-11-01 18:13:54 得分 0
非常感谢:)
好的,我试一试!不懂再问你!Top
4 楼loveyousomuch(★Allen★)回复于 2003-11-01 20:13:57 得分 0
我有做好的,你把email给我,我发给你Top
5 楼tyxsoft(bfmtyx)回复于 2003-11-01 20:38:06 得分 20
用VB做好象容易些Top
6 楼xiaoxia2003(xiaoxia)回复于 2003-11-02 22:51:12 得分 0
太好了,谢谢
happyxiaoxia2002sohu.comTop




