62,614
社区成员
发帖
与我相关
我的任务
分享
MainFrame.java
(代码太长 截取关键的)
...
public MainFrame(Control ct)
{
this.ct = ct;
getFrame();
}
...
//其中一个按钮的代码,其他按钮代码类似
private JButton getBackSpaceButton()
{
if (BackSpaceButton == null)
{
BackSpaceButton = new JButton();
BackSpaceButton.setBounds(new Rectangle(22, 102, 112, 43));
BackSpaceButton.setText("BackSpace");
BackSpaceButton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
// TODO Auto-generated method stub
// System.out.println(ct.s.empty());
if(!ct.s.empty())
System.out.println(ct.s.pop());
}
});
}
return BackSpaceButton;
}
Control.java
//这个类用来控制整个计算器,其中有一个栈
import java.util.Stack;
public class Control
{
public Stack<Object> s = null;
public static void main(String ag[])
{
Control ct = new Control();
ct.programStart();
}
public void programStart()
{
s = new Stack<Object>();
new MainFrame(this);
s.empty();
//这里 如果将new MainFrame(this)给不要的话 s.empty()不报NullPOINT错
//否则报错NULLPOINT;
//而且按BackSpace按钮也报错NULLPOINT
}
}