packageteste;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;importjavax.swing.JDialog;importjavax.swing.WindowConstants;publicclassTesteextendsjavax.swing.JFrame{privateJButtonbtAbrirJDialog;publicstaticvoidmain(String[]args){newTeste().setVisible(true);}/** * Auto-generated main method to display this JFrame */publicTeste(){try{setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);getContentPane().setLayout(null);{btAbrirJDialog=newJButton();getContentPane().add(btAbrirJDialog);btAbrirJDialog.setText("Abrir JDialog");btAbrirJDialog.setBounds(161,122,67,22);btAbrirJDialog.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventevt){abrirJDIalog();}});}setSize(400,300);}catch(Exceptione){//add your error handling code heree.printStackTrace();}}publicvoidabrirJDIalog(){JDialogdialog=newJDialog();dialog.setSize(100,100);dialog.setTitle("Filho");dialog.setResizable(false);dialog.setModal(true);dialog.setLocationRelativeTo(this);dialog.setVisible(true);}}
O segredo nesse codigo todo é o setLocationRelativeTo(centralizado_em_relacao_a_quem?);
Tive que colocar dentro de um metodo a parte pois se eu colocasse dentro do actionListener e passe o this como parametro, eu estaria passando o actionListener e nao o frame.
KaosBr
Perfeito!
Obrigado
[]s
gqferreira
De nada amigo, acho que agora vc pode colocar [Resolvido] no titulo…