一个计算器的问题:
我编写了一个计算器的程序,在编译的时候没有什么错误 但是在运行的时候却没有内容 只有标题栏 连TITLE也没有!晕!希望大家帮我看看啊!谢谢了
程序:
import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; public class Calculator 

public static void main(String[] args) 

CalculatorFrame frame = new CalculatorFrame(); 
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
frame.show(); 

} /** 
* A frame with a calculator panel 
*/ 
class CalculatorFrame extends JFrame 

public CalculatorFrame() 

setTitle("Calculator"); Container contentPane = getContentPane(); 
CalculatorPanel panel = new CalculatorPanel(); 
contenPane.add(panel); 
pack(); 


/** 
*A panel with buttons and a result display 
*/ 
class CalculatorPanel extends JPanel 

public CalculatorPanel() 

setLayout(new BorderLayout()); result = 0; 
lastCommand = "="; 
start = true; // add the display display= new JLabel("0"); 
add(display,BorderLayout.NORTH); ActionListener insert = new InsertAction(); 
ActionListener command = new CommandAction(); //add the buttons in 4X4 grid panel = new JPanel(); 
panel.setLayout(new GridLayout(4,4)); addButton("7",insert); 
addButton("8",insert); 
addButton("9",insert); 
addButton("/",command); addButton("4",insert); 
addButton("5",insert); 
addButton("6",insert); 
addButton("*",command); addButton("1",insert); 
addButton("2",insert); 
addButton("3",insert); 
addButton("-",command); addButton("0",insert); 
addButton(".",insert); 
addButton("=",command); 
addButton("+",command); add(panel,BorderLayout.CENTER); 
} /** 
*adds a button to the center panel. 
*@param label the button label 
*@param listener the button listener 
*/ 
private void addButton(String label,ActionListener listener) 

JButton button = new JButton(label); 
button.addActionListener(listener); 
panel.add(button); 
} /** 
*This action inserts the button action string to the 
*end of the display text. 
*/ 
private class InsertAction implements ActionListener 

public void actionPerformed(ActionEvent event) 

String input = event.getActionCommand(); 
if(start) 

display.setText(""); 
start = false; 

display.setText(display.getText()+input); 

} /** 
*This action executes the command that the button 
*action string denotes. 
*/ 
private class CommandAction implements ActionListener 

public void actionPerformed(ActionEvent evt) 

String command = evt.getActionCommand(); 
if(start) 

if(command.equals("-")) 

display.setText(command); 
start=false; 

else 
lastCommand = command; 

else 

calculate(Double.parseDouble(display.getText())); 
lastCommand = command; 
start=true; 



/** 
*Carries out the pending calculation. 
*@param x the value to be accumulated with the prior result. 
*/ 
public void calculate(double x) 

if(lastCommand.equals("+"))result +=x; 
else if(lastCommand.equals("-"))result -=x; 
else if(lastCommand.equals("*"))result *=x; 
else if(lastCommand.equals("/"))result /=x; 
else if(lastCommand.equals("="))result =x; display.setText(""+result); 
} private JLabel display; 
private JPanel panel; 
private double result; 
private String lastCommand; 
private boolean start; 

解决方案 »

  1.   

    你这个程序没有问题,运行也没有问题。
    唯一的就是你上面给的程序中有一个拼写错误contenPane.add(panel); 改为contentPane.add(panel);
      

  2.   

    忘记了 
    我的环境java+JC
      

  3.   

    估计你JC是中文版的吧?
    你在命令行下面javac、java一下试试看。
      

  4.   

    我的JC是英文的 
    我在CMD中实验了下 还是那样子的 晕  怎么办啊
      

  5.   

    D:\>javac Calculator.javaD:\>java Calculator
    可以运行
    鉴定完毕
    LZ贴出报什么错误来啊