Usando JDialog

2 respostas
B

opa,
Fiz um botao num programa principal, e quando eu clicar nesse botao, kero q apareca uma janela d opcoes (inicialmente vazia mesmo :P) .
Tem q usar JDialog, nao eh? Mas n tow conseguindo.
O que coloco no evento?

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

//-------------------------------------CLASSE Principal----------------------------------

public class teste extends JFrame {

	private JDialog caixa;


//-----------------------------------CONSTRUTOR Principal--------------------------------

	public teste()
	{

	super( "teste" );

	// Criar Container Principal
	Container cont_principal = getContentPane();

	// Criar barra de Menu
		//MENU ARQUIVO
		JMenu menu_arquivo = new JMenu("Arquivo");
		menu_arquivo.setMnemonic('A');


			JMenuItem item_config = new JMenuItem("Configurações");
			item_config.setMnemonic('C');
			menu_arquivo.add( item_config );

				item_config.addActionListener(

					new ActionListener() {

						public void actionPerformed( ActionEvent evento )
						{

						caixa = new JDialog();


						// abrir uma caixa d dialogo



			            }
					}  // fim da classe anonima
				); // fim de addActionListener



			//Adionar os menus à barra de menu
			JMenuBar barra = new JMenuBar();
			setJMenuBar(barra);
			barra.add( menu_arquivo );


		setSize( 700, 500 );
		setVisible( true );

	}	// fim do construtor


//------------------------------------PRINCIPAL------------------------------------------

	public static void main( String args[] )
	{
	teste programa = new teste();

	programa.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );

	}

}

2 Respostas

D

Depois de :

caixa = new JDialog();

você deve colocar algo do tipo:

caixa.setModal(true); // para prender o foco
caixa.show(); // ou setVisible(true);
D

OBS: a sua classe teste deveria se chamar Teste. :wink:

Criado 20 de março de 2004
Ultima resposta 20 de mar. de 2004
Respostas 2
Participantes 2