Criando uma calculadora

Sou novato no java e comecei a desenvolver uma calculadora conforme o código abaixo. Gostaria de algumas dicas para fazer ela funcionar.

public class Calculadora extends JFrame{
    
    public Calculadora(){
        
        //definindo o título
        super("Calculadora");
        //inserindo a imagem
        ImageIcon icone = new ImageIcon("src/gui/img/calculadora.JPG");
        setIconImage(icone.getImage());
        
        Container n = new JPanel();
        n.setLayout(new GridLayout(4,4,5,5));
        n.add(new JButton("7"));
        n.add(new JButton("8"));
        n.add(new JButton("9"));
        n.add(new JButton("/"));
        n.add(new JButton("4"));
        n.add(new JButton("5"));
        n.add(new JButton("6"));
        n.add(new JButton("*"));
        n.add(new JButton("1"));
        n.add(new JButton("2"));
        n.add(new JButton("3"));
        n.add(new JButton("-"));
        n.add(new JButton("0"));
        n.add(new JButton("."));
        n.add(new JButton("="));
        n.add(new JButton("+"));
        
        JTextField display = new JTextField();
        display.setFont(new Font("serif", Font.PLAIN, 26));
        
        Container c = getContentPane();
        c.add(BorderLayout.NORTH, display);
        c.add(BorderLayout.CENTER, n);
         
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(300,300);
        setVisible(true);
    }
    
    public static void main(String[]args){
        
        //chamando a janela criada no construtor
        new Calculadora();
        
    }
    
}

Boa tarde faguanil !

Antes de codificar essa Calculadora, não acha interessante realizar uma investigação do que ela fará ?

Enxergo que ele executará

  • Operações Binárias (Adição, Subtração, Multiplicação e Divisão);
  • Operações Unárias (raiz quadrada, potência, logaritmo)

Há mais coisas, serve de início de investigação. Além disso, precisamos considerar que essas operações tem algo em comum. O que pode ser útil também.

Enfim, depende do seu propósito quanto a forma que quer projetá-la. Acredito ser necessário definir isso para que possamos dar continuidade.

Também é importante questionar: O que você sabe de Java ? Entende os conceitos de orientação a objetos ?

Uma dica?

Adicione onClickListeners nos botoes e faça algo com as ações.