Java - Problema ActionPerformed con botones

 
Vista:

Problema ActionPerformed con botones

Publicado por Javier (1 intervención) el 28/12/2008 22:50:52
Hola,
Estoy intentando hacer una aplicación que funcione como un gestor de fotografías. Mi problema es mucho más básico que la función que finalmente quiero que tenga el programa.

Al ejecutar, no consigo hacer que el boton "botonAnadir" me abra el JDialog que defino en la clase PanelAnadirFoto. Al pulsar el botón me salta la excepción:

Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: horizontalAlignment
at javax.swing.JLabel.checkHorizontalKey(Unknown Source)
at javax.swing.JLabel.setHorizontalAlignment(Unknown Source)
at javax.swing.JLabel.<init>(Unknown Source)
at javax.swing.JLabel.<init>(Unknown Source)
at PanelAnadirFoto.<init>(PanelAnadirFoto.java:28)
at BerrocaBook$OyenteAnadir.actionPerformed(BerrocaBook.java:40)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)

...etc
Alguien puede ayudarme?

Mi código es el siguiente:

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

public class BerrocaBook extends Panel{
/*
* Definición de variables
*/
JLabel etiqueta;
JPanel panel;
JButton botonAnadir;
JButton botonRemover;
JButton botonBuscar;


public BerrocaBook(){
etiqueta = new JLabel("Elija una opción");
botonAnadir = new JButton("Añadir foto al libro");
botonRemover = new JButton("Eliminar foto del libro");
botonBuscar = new JButton("Buscar");

panel = new JPanel();
panel.add(etiqueta);
panel.add(botonAnadir);
panel.add(botonRemover);
panel.add(botonBuscar);
add(panel);


OyenteAnadir oyente = new OyenteAnadir();

botonAnadir.addActionListener(oyente);

}

class OyenteAnadir implements ActionListener{
public void actionPerformed(ActionEvent evento) {
if(botonAnadir == evento.getSource()){
PanelAnadirFoto p = new PanelAnadirFoto();
p.setVisible(true);

}



}

}

class PanelAnadirFoto extends JDialog{
JLabel etiquetaDonante;
JTextField campoDonante;
JLabel etiquetaTelefonoDonante;
JTextField telefonoDonante;
JLabel etiquetaComentario;
JTextArea comentarioFoto;
JLabel etiquetaAmbiente;
JTextField ambienteFoto;
JLabel etiquetaDecada;
JRadioButton d1900, d1910, d1920, d1930, d1940, d1950, d1960, d1970, d1980, d1990, d2000;


public PanelAnadirFoto(){

setTitle("Introduzca los datos");
setLayout(new GridLayout(4, 2));
etiquetaDonante = new JLabel("Nombre y apellido del donante: ", JLabel.NORTH_WEST);
campoDonante = new JTextField();
add(etiquetaDonante);
add(campoDonante);

etiquetaTelefonoDonante = new JLabel("Teléfono del donante: ", JLabel.NORTH_WEST);
telefonoDonante = new JTextField();
add(etiquetaTelefonoDonante);
add(telefonoDonante);

etiquetaAmbiente = new JLabel("Tema/Ambiente de la foto: ", JLabel.NORTH_WEST);
ambienteFoto = new JTextField();
add(etiquetaAmbiente);
add(ambienteFoto);

etiquetaComentario = new JLabel("Comentario: ", JLabel.NORTH_WEST);
comentarioFoto = new JTextArea(5, 40);
add(etiquetaComentario);
add(comentarioFoto);

etiquetaDecada = new JLabel("Década: ", JLabel.NORTH_WEST);
add(etiquetaDecada);
ButtonGroup grupoBotones = new ButtonGroup();
d1900 = new JRadioButton("1900-1910");
d1900.setMnemonic(0);
grupoBotones.add(d1900);

d1910 = new JRadioButton("1910-1920");
d1910.setMnemonic(1);
grupoBotones.add(d1910);

d1920 = new JRadioButton("1920-1930");
d1920.setMnemonic(2);
grupoBotones.add(d1920);

d1930 = new JRadioButton("1930-1940");
d1930.setMnemonic(3);
grupoBotones.add(d1930);

d1940 = new JRadioButton("1940-1950");
d1940.setMnemonic(4);
grupoBotones.add(d1940);

d1950 = new JRadioButton("1950-1960");
d1950.setMnemonic(5);
grupoBotones.add(d1950);

d1960 = new JRadioButton("1960-1970");
d1960.setMnemonic(6);
grupoBotones.add(d1960);

d1970 = new JRadioButton("1970-1980");
d1970.setMnemonic(7);
grupoBotones.add(d1970);

d1980 = new JRadioButton("1980-1990");
d1980.setMnemonic(8);
grupoBotones.add(d1980);

d1990 = new JRadioButton("1990-2000");
d1990.setMnemonic(9);
grupoBotones.add(d1990);

d2000 = new JRadioButton("2000-2010");
grupoBotones.add(d2000);

add(d1900);
add(d1910);
add(d1920);
add(d1930);
add(d1940);
add(d1950);
add(d1960);
add(d1970);
add(d1980);
add(d1990);
add(d2000);


}


public static void main(String [] args){
JFrame frame = new JFrame();
frame.add(new BerrocaBook());
frame.setVisible(true);
frame.setTitle("BerrocaBook");
frame.setSize(500, 500);

}
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