2011-03-21 2 views
0

Я пытаюсь изменить программу калькулятора, которую дал мне мой учитель. Предполагается, что он состоит из основных и графических программ. Моя единственная проблема - как обрабатывать события. Как вы можете видеть Я создал класс Numerics помимо основной программы. Я хочу, чтобы, когда я нажимаю номер, он должен выкинуть значение из программы численных вычислений в текстовое поле в классе NorthPanel в основной программе. Но я не знаю, как это сделать. Может ли кто-нибудь дать мне какие-либо идеи о том, как это сделать?Java GUI: изменение программы калькулятора

Вот часть основной программы

public class NorthPanel extends JPanel { 
    private JTextField display; 
    private JLabel filler; 

    public NorthPanel() { 
    //receive the thrown value from Numerics program to be displayed 
     setLayout(new BorderLayout()); 
     String calcTF="0."; 
     display = new JTextField(calcTF); 
     display.setEditable(false); 
     display.setFont(new Font("Century Gothic",Font.BOLD,19)); 
     display.setHorizontalAlignment(JTextField.RIGHT);         
     add(display,BorderLayout.CENTER);     
    } 
} 

public class CenterPanel extends JPanel { 

    private Numerics numeric; 
    private Operations operator; 
    private Functions function; 

    public CenterPanel() { 
     setLayout(null); 

     numeric = new Numerics(); 
     numeric.setBounds(5,5,150,150); 

     operator = new Operations(); 
     operator.setBounds(158,5,45,150); 

     function = new Functions(); 
     function.setBounds(204,5,55,150); 

     add(numeric);    
     add(operator); 
     add(function,0); 
    } 
} 

и здесь является частью программы Numerics

public class Numerics extends JPanel implements ActionListener 
{ 
    private JButton c7; 
    String value=""; 
    public Numerics() 
    { 
     UIManager.put("Button.background", Color.gray); 
     setLayout(new GridBagLayout()); 

     GridBagConstraints gbc=new GridBagConstraints(); 
     gbc.weightx = 1.0; 
     gbc.weighty = 1.0; 
     gbc.fill = GridBagConstraints.BOTH; 
     gbc.insets = new Insets(0,3,5,3); 

     c7=new JButton("7"); 
     c7.setFont(new Font("Arial",Font.BOLD,20)); 
     c7.setBorder(BorderFactory.createRaisedBevelBorder()); 
     gbc.gridx=0; 
     gbc.gridy=0; 
     add(c7,gbc); 
     c7.addActionListener(this); 
public void actionPerformed(ActionEvent ae1) 
    { 
     if(ae1.getSource()==c7) 
     { 
      value+="7"; 
      //throw the value to display in the NorthPanel... 
     } 
    } 
+0

1 SSCCE (http://pscode.org/sscce.html) эффективен при получении помощи, кроме 2-х слов. ;) –

ответ

 Смежные вопросы

  • Нет связанных вопросов^_^