Algumas duvidas Noob

olá pessoal…

tenho alguma poucas dúvidas…
se alguem soube alguma delas posta ai, que estou precisando bastante…

outra coisa… sou meio noob nessa linguagem…
toh aprendendo, então algumas dúvidas podem ser descabidas

então vamos lah

bolei uma tela principal que eh do tamnho do meio desktop
setExtendedState(JFrame.MAXIMIZED_BOTH);…

dentro desta tela principal ai…
chamo o meu menu principal
MenuPrincipal app = new MenuPrincipal();
essa tela ai tem 800x600

no menu tem uma serie de botoes…
um deles é o cadastro de estados…
CadEstado ttt = new CadEstado();

agora que vcs jah conhecem o esquema… vou postar as perguntas…

1
quando executo a aplicação…
aparece as duas telas…
a grande, que fecha a tela inteira…
e a pequena por cima da grande que tem 800X600
mas se clico na janela grande ela sobrepõe a janela pequena…
como resolver??

2
preciso que a janela pequena(menu) fique no lugar dela…
quando clico em no topo da janela, dá para arrastar para qualquer lado…

3
quando abrir a terceira tela(cadastro de estado)… ela se limita a ficar dentro do perimetro da primeira janela…

4
quando clicar para abrir a tela (cadastro de estado)… ela sobrepõe a tela de menu, fazendo o mesmo que uma JOptionPane.showMessageDialog faz com qualquer tela…

5
de preferencia quando clicar na opção do menu, a tela de menu fique oculta em baixo da tela de cadastro de estados…

6
tem com montar uma tela de menu…
numa JOptionPane.showMessageDialog???

se alguem souber alguma coisa ai…
posta ai…

abraço


Cara, faz o seguinte:

Cria uma JFrame (sua tela principal)…
Crie um JDesktopPane e adicione um JPanel a ele, os botoes vc adiciona nesse JPanel… certo?

Quantos as janelas de cadastro… crie JInternalFrame… e pronto…

espero ter ajudado…

qq coisa, estamos ai…

ah, adicione o JDesktopPane a JFrame…

:lol:

Bom, acho q vc esta querendo criar uma tela principal que fica do tamanho da tela do micro e contem menus de acesso a telas de cadastro, estou certo?!
se estou certo, o vc pode fazer é o seguinte, cria a tela principal extendendo JFrame e as demais telas extendendo JDialog(CadEstado, por exemplo).
Quando vc clicar no menu da tela principal, vc cria o objeto cadEstado com new CadEstado(telaPrincipal, true); e assim a sua tela de cadastro vai ficar modal sobre a primeira, ou seja, a tela principal nao será clicavel enquanto o cadastro estiver aberto.

Existem componentes de menu, vc nao precisa criar uma janela showmodal de menu, use um componente de menu na tela principal e nao esquente a cabeça! ta tudo pronto, é só utilizar!

Cara, implementei o que eu relatei acima…

Ficou bem toscão o código:

import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

import javax.swing.JButton;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Desktop extends JFrame {

	private JDesktopPane desktop;

	private JInternalFrame cadastro;

	private JPanel painel;

	private JButton botao;

	private JLabel label;

	private JTextField campo;

	public Desktop() {

		this.setSize(800, 600);
		
		desktop = new JDesktopPane();
		cadastro = new JInternalFrame();
		painel = new JPanel();
		botao = new JButton();
		label = new JLabel("CPF:");
		campo = new JTextField();
		
		label.setSize(50,20);
		label.setLocation(10,10);
		
		campo.setSize(150,20);
		campo.setLocation(50,10);
		
		cadastro.setLayout(null);
		cadastro.setSize(300, 300);
		cadastro.setLocation(50, 50);
		cadastro.add(label);
		cadastro.add(campo);
		
		botao.setSize(100, 40);
		botao.setText("Cadastro");

		painel.setLayout(null);
		painel.add(botao);

		this.add(desktop);
		this.add(cadastro);
		this.add(painel);

		botao.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(java.awt.event.ActionEvent evt) {
				cadastro();
			}
		});
	   this.addWindowListener(new WindowListener() {
               public void windowClosing(WindowEvent windowEvent) {
                   sair();
               }
               public void windowActivated(WindowEvent windowEvent) { }
               public void windowClosed(WindowEvent windowEvent) {
                   return ;
               }
               public void windowDeactivated(WindowEvent windowEvent) {}
               public void windowDeiconified(WindowEvent windowEvent) {}
               public void windowIconified(WindowEvent windowEvent) {}
               public void windowOpened(WindowEvent windowEvent) {}
           });
	   
	   //this.pack();
	   this.setVisible(true);
	}

	private void cadastro() {

		cadastro.setVisible(true);
	}
	
	private void sair(){
		JOptionPane.showMessageDialog(null, "Tchau...");
		System.exit(0);
	}

	public static void main(String[] args) {

		new Desktop();
	}
}

valeu galera…
toh saindo do lugar agora…

obrigado