import java.awt.*; import java.awt.event.*; import javax.swing.*; public class CalcGUI extends JFrame { // components for top panel private JPanel _pnlTop = new JPanel(); private JPanel _pnlStack = new JPanel(); private JTextField _tfStack1 = new JTextField(20); private JTextField _tfStack2 = new JTextField(20); private JTextField _tfStack3 = new JTextField(20); // components for the keys private JPanel _pnlKeys = new JPanel(); private JButton _jb0 = new JButton("0"); private JButton _jb1 = new JButton("1"); private JButton _jb2 = new JButton("2"); private JButton _jb3 = new JButton("3"); private JButton _jb4 = new JButton("4"); private JButton _jb5 = new JButton("5"); private JButton _jb6 = new JButton("6"); private JButton _jb7 = new JButton("7"); private JButton _jb8 = new JButton("8"); private JButton _jb9 = new JButton("9"); private JButton _jbDiv = new JButton("/"); private JButton _jbMul = new JButton("*"); private JButton _jbAdd = new JButton("+"); private JButton _jbSub = new JButton("-"); private JButton _jbEnter = new JButton("Enter"); private JButton _jbNeg = new JButton("Neg"); private JButton _jbSpc = new JButton("Spc"); private JButton _jbClrEntry = new JButton("Clr"); private JButton _jbClrStack = new JButton("Clr Stk"); private JButton _jbDropTop = new JButton("Drop"); private JButton _jbPoint = new JButton("."); private JPanel _pnlWest = new JPanel(); // components for the bottom panel private JPanel _pnlBottom = new JPanel(); private JTextField _tfEntry = new JTextField(20); // components for the center panel private JButton _jbRollUp = new JButton("Up"); private JButton _jbRollDown = new JButton("Dn"); private JButton _btnOpenFile = new JButton("Open File"); private JButton _btnSaveFile = new JButton("Save File"); private JRadioButton _radioImm = new JRadioButton("Imm"); private JRadioButton _radioExpr = new JRadioButton("Expr"); // Layout Manager components private BorderLayout _borderLayout1 = new BorderLayout(10, 10); private GridBagLayout _gridbag = new GridBagLayout(); private GridBagConstraints _c = new GridBagConstraints(); //Construct the frame public CalcGUI () { enableEvents (AWTEvent.WINDOW_EVENT_MASK); try { initGUI(); } catch(Exception e) { e.printStackTrace(); } } private void initGUI() throws Exception { //position and layout the out components } //Overridden so we can exit on System Close protected void processWindowEvent(WindowEvent e) { super.processWindowEvent(e); if(e.getID() == WindowEvent.WINDOW_CLOSING) { System.exit(0); } } public JTextField get_tfEntry() { return(_tfEntry); } public JButton get_jbDiv() { return(_jbDiv); } public JButton get_jbAdd() { return(_jbAdd); } public JButton get_jbMul() { return(_jbMul); } public JButton get_jbSub() { return(_jbSub); } public JButton get_jbClrStack() { return(_jbClrStack); } public JButton get_jbDropTop() { return(_jbDropTop); } public JButton get_jbEnter() { return(_jbEnter); } public JButton get_jbRollUp() { return(_jbRollUp); } public JButton get_jbRollDown() { return(_jbRollDown); } public JRadioButton get_radioImm() { return(_radioImm); } public JRadioButton get_radioExpr() { return(_radioExpr); } public JButton get_btnOpenFile() { return(_btnOpenFile); } public JButton get_btnSaveFile() { return(_btnSaveFile); } public JTextField get_tfStack1() { return(_tfStack1); } public JTextField get_tfStack2() { return(_tfStack2); } public JTextField get_tfStack3() { return(_tfStack3); } public JButton get_jb2() { return(_jb2); } public JButton get_jbNeg() { return(_jbNeg); } }