Java - bloqueado en este ejercicio de java

   
Vista:

bloqueado en este ejercicio de java

Publicado por kotito (3 intervenciones) el 09/07/2016 12:53:45
Hola, señores. Agradecería vuestra ayuda para solucionar un problema que tengo.

Lo que quiero hacer es dividir una ventana JFrame en dos: la parte izquierda para los botones de un menu viendose los botones en una sola columna de arriba a abajo; y en la parte derecha quiero dibujar un rectangulo con Graphics2D donde dentro de dicho rectangulo se utilizará para dibujar en funcion de los botones.

Yo he puesto el menu sin ningun problema, luego la parte de la derecha no se como hacerlo, se me ocurrio poner una clase anonima con extension en JPanel pero no me da el resulado que quiero, me da fallos
Expongo el codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
package tema12;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JButton;
import javax.swing.JTextField;
import java.awt.GridLayout;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Color;
import java.awt.geom.Rectangle2D;
 
public class veintitres extends JFrame{
 
    private JPanel leftPanel, rightPanel;
    private JButton menu[];
        private final String nombres[] = {"Pluma ON", "Pluma OFF", "Avanzar", "Girar Derecha", "Girar Izquierda"};
    private JTextField pasos;
 
    public veintitres()
    {
        super("veintitres");
 
        //CREACION DE LOS PANELES ==========================================================
        leftPanel = new JPanel();
            leftPanel.setLayout(new GridLayout(5,1));
 
        menu = new JButton[5];
        for(int i=0; i<nombres.length; i++)
        {
            menu[i] = new JButton(nombres[i]);
           // menu[i].addActionListener(this);
           leftPanel.add(menu[i]);
        }
 
        pasos = new JTextField();
            pasos.setPreferredSize(new Dimension(20,20));
            leftPanel.add(pasos);
 
        //---------clase anonima para poder dibujarlo en rightPanel
        class panelDibujo extends JPanel
        {
            public void paintComponent(Graphics g)
            {
                super.paintComponent(g);
                Graphics2D g2D = (Graphics2D) g;
 
                g2D.setColor(Color.BLACK);
                g2D.draw(new Rectangle2D.Double(10,10, 200,200));
            }
        }//fin class
        panelDibujo panelDibujo = new panelDibujo(); //creamos el objeto
            rightPanel.add(panelDibujo);
 
        setLayout(new BorderLayout());
        add(leftPanel,BorderLayout.WEST);
        add(rightPanel,BorderLayout.EAST);
 
    }
 
 
}


Este es el codigo para abrir la ventana

1
2
3
4
veintitres VEINTITRES = new veintitres();
                VEINTITRES.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                VEINTITRES.setSize(800,500);
                VEINTITRES.setVisible(true);


Todo esto es sacado de un ejercicio, de ahi a que la clase lo haya llamado veintitres que corresponde al numero dell ejercicio
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder