java吧 关注:1,306,261贴子:12,877,290
  • 3回复贴,共1

自己写的程序编译有错 ,大神帮忙看一下····

只看楼主收藏回复

编译的错误:
XLJ$ javac -d bin src/Calculator.java
src/Calculator.java:56: addActionListener(java.awt.event.ActionListener) in javax.swing.AbstractButton cannot be applied to (com.briup.test.Calculator)
briup_allBtns[i].addActionListener(this);
^
src/Calculator.java:59: addActionListener(java.awt.event.ActionListener) in javax.swing.AbstractButton cannot be applied to (com.briup.test.Calculator)
briup_resultBtn.addActionListener(this);
^
2 errors


1楼2014-07-04 10:39回复
    源代码:
    package com.briup.test;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class Calculator extends JFrame{
    private Container briup_Pane;
    private JTextField briup_field;
    private JButton briup_resultBtn;
    private JButton[] briup_allBtns;
    private String briup_Op = null;
    private String briup_m = null;
    private String briup_n=null;
    private boolean briup_cls = false;
    public Calculator(String briup_title){
    setTitle(briup_title);
    setSize(400,300);
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    briup_Pane = getContentPane();
    briup_field = new JTextField(30);
    briup_resultBtn = new JButton(" = ");
    initAdd();
    }
    public void initAdd(){
    briup_Pane.setLayout(new BorderLayout());
    JPanel briup_northPan = new JPanel();
    JPanel briup_centerPan = new JPanel();
    JPanel briup_southPan = new JPanel();
    briup_northPan.setLayout(new FlowLayout());
    briup_centerPan.setLayout(new GridLayout(4,4));
    briup_southPan.setLayout(new FlowLayout());
    briup_northPan.add(briup_field);
    briup_southPan.add(briup_resultBtn);
    briup_Pane.add(briup_northPan,BorderLayout.NORTH);
    briup_Pane.add(briup_centerPan,BorderLayout.CENTER);
    briup_Pane.add(briup_southPan,BorderLayout.SOUTH);
    briup_allBtns = new JButton[17];
    String briup_str = "123+456-789*0.c/";
    for(int i=0;i<briup_allBtns.length;i++){
    briup_allBtns[i] = new JButton(briup_str.substring(i,i+1));
    }
    for(int i=0;i<briup_allBtns.length;i++){
    briup_centerPan.add(briup_allBtns[i]);
    }
    for(int i=0;i<briup_allBtns.length;i++){
    briup_allBtns[i].addActionListener(this);
    briup_resultBtn.addActionListener(this);
    }
    }
    public void actionPerformed(ActionEvent e){
    String briup_str = e.getActionCommand();
    if("0123456789.".indexOf(briup_str) != -1){//-1biaoshibubaohan
    if(briup_cls){
    briup_field.setText("");
    briup_cls = false;
    }
    briup_field.setText(briup_field.getText()+briup_str);
    }else if("+-*/".indexOf(briup_str) !=-1){
    if(briup_field.getText().equals("")){
    briup_Op = briup_str;
    }else if(briup_m==null){
    briup_m = briup_field.getText();
    briup_Op = briup_str;
    briup_field.setText("");
    }else if(briup_m!=null){
    setResult();
    briup_m = briup_field.getText();
    briup_Op = briup_str;
    }
    }else if(briup_str.equals("=")){
    setResult();
    }else if(briup_str.equals("c")){
    briup_field.setText("");
    briup_m = null;
    briup_n = null;
    }
    }
    public void setResult(){
    if(briup_field.getText().equals("")){
    briup_cls = true;
    briup_m = null;
    briup_n = null;
    }else if(briup_m != null){
    briup_n = briup_field.getText();
    if(briup_Op.equals("+")){
    briup_field.setText(Double.parseDouble(briup_m) + Double.parseDouble(briup_n)+"");
    }
    if(briup_Op.equals("-")){
    briup_field.setText(Double.parseDouble(briup_m) - Double.parseDouble(briup_n)+"");
    }
    if(briup_Op.equals("*")){
    briup_field.setText(Double.parseDouble(briup_m) * Double.parseDouble(briup_n)+"");
    }
    if(briup_Op.equals("/")){
    briup_field.setText(Double.parseDouble(briup_m) / Double.parseDouble(briup_n)+"");
    }
    briup_cls = true;
    briup_n = null;
    briup_m=null;
    }
    }
    public static void main(String[] args){
    Calculator c = new Calculator("Calculator_1");
    c.setVisible(true);
    }
    }


    2楼2014-07-04 10:40
    回复
      2026-07-23 03:50:09
      广告
      不感兴趣
      开通SVIP免广告
      在线等····


      3楼2014-07-04 10:41
      回复
        自己找到了
        public classCalculator extends JFrame implements ActionListener{


        4楼2014-07-04 11:08
        回复