Duda sobre uso de GridLayout y agregar botones a JPanel

Iniciado por Diego00, 9 Septiembre 2014, 17:17 PM

0 Miembros y 1 Visitante están viendo este tema.

Diego00

Hola a todos tengo una duda con mi código de Java, el problema esta en que no me aparece ningún botón en la ventana o marco, quiero hacer una calculadora

Este es parte del código :

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class MiCalculadora extends JFrame implements ActionListener{

    // creamos botones
    JButton b1 = new JButton("1");
    JButton b2 = new JButton("2");
    JButton b3 = new JButton("3");
    JButton b4 = new JButton("4");
    JButton b5 = new JButton("5");
    JButton b6 = new JButton("6");
    JButton b7 = new JButton("7");
    JButton b8 = new JButton("8");
    JButton b9 = new JButton("9");
    JButton bpunto = new JButton(".");
    JButton b0 = new JButton("0");
    JButton bcoma = new JButton(",");
   
    public MiCalculadora(){
       
        //creamos el marco
        setTitle("calculadora");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // ponemos a vigilar los botones
        b1.addActionListener(this);
        b2.addActionListener(this);
        b3.addActionListener(this);
        b4.addActionListener(this);
        b5.addActionListener(this);
        b6.addActionListener(this);
        b7.addActionListener(this);
        b8.addActionListener(this);
        b9.addActionListener(this);

        //creamos un JPanel y le agregamos los botones
        setLayout(new BorderLayout());
        JPanel p1 = new JPanel();
        GridLayout grid = new GridLayout(4, 3, 3, 3);
        p1.setLayout(grid);
        p1.add(b7);
        p1.add(b8);
        p1.add(b9);
        p1.add(b4);
        p1.add(b5);
        p1.add(b6);
        p1.add(b1);
        p1.add(b2);
        p1.add(b3);
        p1.add(b0);
        p1.add(bpunto);
        p1.add(bcoma);       
               
        setVisible(true);

Solo me aparece el marco con el titulo y el Exit-on-close
Cual creen q es mi error????
desde ya muchas gracias y saludos

lexoazul

Bien el codigo que colocaste solo te faltaria agregar el panel al Frame.
this.add(p1);

Y si quieres colocarle un tamaño a la ventana.
setSize(300,300);

Ya con eso veras la ventana y los botones.

Saludos