Pues mira a mi no me aparece ninguna tazita de cafe cuando hago un JDialog, ahi te dejo el codigo del programita, no tiene ningiun error y espero que te sirva.
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.*;
import javax.swing.*;
public class DosVentanas {
private JFrame ventanaPrincipal;
private JDialog VentanaSecundaria;
public JTextField txtNombre,txtCodigo;
private JLabel lblTodos;
public JButton btGuardar,btCancelar;
public JComboBox jcbFacultad;
Font arialB;
Color blanco;
/**
* @param args
*/
public static void main(String[] args) {
new DosVentanas();
}
public DosVentanas()
{
// Construcción de ventana principal
ventanaPrincipal = new JFrame("Ventana principal");
JButton boton = new JButton("Abre secundaria");
ventanaPrincipal.getContentPane().add(boton);
ventanaPrincipal.setIconImage(new ImageIcon("./Fotos/Nuevo.gif").getImage());
ventanaPrincipal.pack();
// Construcción de ventana secundaria
VentanaSecundaria = new JDialog(ventanaPrincipal,"INSERTAR MATERIA");
crearJDialog();
// Hacer que el botón abra la ventana secundaria y cierre la
// principal
boton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
ventanaPrincipal.setVisible(false);
VentanaSecundaria.setVisible(true);
txtNombre.setText("");
txtCodigo.setText("");
}
});
ventanaPrincipal.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
// Hacer que al cerrarse la secundaria con la x de arriba a la
// derecha, se muestre la primaria
VentanaSecundaria.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
ventanaPrincipal.setVisible(true);
VentanaSecundaria.setVisible(false);
}
public void windowClosed(WindowEvent e) {
ventanaPrincipal.setVisible(true);
VentanaSecundaria.setVisible(false);
}
});
// Mostrar la ventana principal
// ventanaPrincipal.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
ventanaPrincipal.setVisible(true);
}
public void crearJDialog(){
VentanaSecundaria.setSize(290,220);
Dimension pantalla=Toolkit.getDefaultToolkit().getScreenSize();
Dimension ventana=VentanaSecundaria.getSize();
VentanaSecundaria.setLocation((pantalla.width-ventana.width)/2,(pantalla.height-ventana.height)/2);
// VentanaSecundaria.setIconImage(new ImageIcon("./Fotos/Nuevo.gif").getImage());
arialB=new Font("Arial Black",Font.ROMAN_BASELINE,11);
blanco=new Color(255,255,255);
inicieComponentes();
VentanaSecundaria.setResizable(false);
}
private void inicieComponentes(){
VentanaSecundaria.getContentPane().setLayout(null);
// VentanaSecundaria.getContentPane().setBackground(new Color(0,42,83));
this.agregarTexto("INGRESE LOS DATOS DE LA MATERIA");
lblTodos.setFont(arialB);
lblTodos.setBounds(20,8,250,20);
VentanaSecundaria.getContentPane().add(lblTodos);
this.agregarTexto("Codigo: ");
lblTodos.setBounds(30,50,60,20);
VentanaSecundaria.getContentPane().add(lblTodos);
txtCodigo=new JTextField();
txtCodigo.setBounds(85,50,160,20);
VentanaSecundaria.getContentPane().add(txtCodigo);
this.agregarTexto("Nombre: ");
lblTodos.setBounds(30,75,60,20);
VentanaSecundaria.getContentPane().add(lblTodos);
txtNombre=new JTextField();
txtNombre.setBounds(85,75,160,20);
VentanaSecundaria.getContentPane().add(txtNombre);
this.agregarTexto("Facultad :");
lblTodos.setBounds(30,100,70,20);
VentanaSecundaria.getContentPane().add(lblTodos);
jcbFacultad=new JComboBox();
jcbFacultad.setBounds(85,100,160,20);
jcbFacultad.addItem("Ingenieria");
jcbFacultad.addItem("Ciencias Basicas");
jcbFacultad.addItem("Ciencias Empresariales");
VentanaSecundaria.getContentPane().add(jcbFacultad);
// jcbFacultad.addItemListener(new ImprimirItem(jcbFacultad));
btGuardar=new JButton("Guardar");
btGuardar.addActionListener(imprimir);
btGuardar.setBounds(50,138,80,20);
VentanaSecundaria.getContentPane().add(btGuardar);
btCancelar=new JButton("Cancelar");
btCancelar.setBounds(140,138,80,20);
VentanaSecundaria.getContentPane().add(btCancelar);
}
ActionListener imprimir=new ActionListener(){
public void actionPerformed(ActionEvent e){
if(txtNombre.getText().equals("")||txtCodigo.getText().equals("")){
JOptionPane.showMessageDialog(null,"Debe Ingresar un Nombre y
un Codigo","ERROR",JOptionPane.ERROR_MESSAGE);
}else
System.out.println("La materia "+txtNombre.getText()+", con el codigo "+
txtCodigo.getText()+" pertenece a la facultad de "+jcbFacultad.getSelectedItem());
}
};
private void agregarTexto(String t){
lblTodos=new JLabel(t);
}
}
|