Acesso a componentes de outro formulÁrio

Olá amigos,
Como posso manipular as propriedades dos componentes de um formulário, fazendo isto em um outro formulário.
Por exemplo: Um formulário principal (JFrame) é aberto maximizado. Junto com ele abre-se outro formulário (login). Daí, neste formulário de cima (que é o login), eu aplico o nome de usuário e a senha. Em seguida, faço uma consulta ao banco de dados e pégo o nível do usuário (no caso, um usuário operador comum). Só que para este usuário, eu preciso desabilitar alguns itens de menu do formulário principal (que está por baixo), que este tipo de usuário não pode ter acesso.
Não sei se fui bem claro. Tudo o que eu expliquei eu já estou conseguindo, o que ainda não consegui foi desabilitar alguns itens de menu do formulário de baixo.´
Em Delphi e VB eu simplesmente faria assim:
forDeBaixo.Menu1.Submenu.Enabled.
Em java não consigo sair do lugar.

Alguém me dá uma luz?
Obrigado.

quando fiz uma aplicação desse tipo, no formulário pai eu passei alguns objetos como parâmetro para o formulário filho, assim pude manipulá-los
:wink:

Certo.
Desse jeito realmente dá prá fazer. Mas o meu caso é o contrário. Eu preciso passar os valores do filho para o pai.
Gente… Isto é um dos recursos mais utilizados por programadores (em outras linguagens), tipo: setar várias propriedades de componentes quaisquer, alimentar listas, combos, desabilitar menus, configurar várias outras coisas. O formulário que está lá no fundo receberia vários parâmetros para trabalhar com eles mais tarde, sendo todos esses parâmetros passados pelo formulário que está por cima (modal). E NINGUÉM FAZ ISTO EM JAVA? EU REALMENTE PREFIRO NÃO ACREDITAR NISTO…
Abraços.

OK!!!

Depois de algumas horas de sono perdidas, decifrei sozinho a melhor maneira de se fazer isto:

No formulário pai (JFrame) crie o seguinte método:

private void MudaMenu(boolean x) { menu1.setEnabled(x); }
Ainda no formulário pai chame o formulário filho (JDialog) , assim:

frmLogin u = new frmLogin(this, true); u.pack(); u.setLocationRelativeTo( null ); u.setVisible(true); MudaMenu(u.k); //onde k é uma variável boolean pública do frmLogin
No form filho (JDialog - é o frmLogin), declare a seguinte variável pública:

E, ainda no JDialog, no evento do botão OK, que valida a senha, coloque as seguintes linhas adicionais (dependendo aí do seu código):

k = false; dispose(); //é a última linha do evento.

Na realidade, inicialmente, ao abrirmos o JDialog chamamos o método MudaMenu. Este método irá desabilitar o menu1, mas ele não faz isto de imediato, pois ficará aguardando os dados que irão ser passados pelo frmLogin. Lá no frmLogin, eu informo que quero desabilitar o menu, fazendo k=false - e passo este valor. Imediatamente, quando o frmLogin se fecha, o menu do form pai se desabilita.

Daí você poderá modificar o código (ou a idéia acima) para fazer qualquer coisa, utilizando mais parâmetros, se necessário - não tem limites. É mesmo o fim desta questão. O engraçado é que este tipo de coisa é bastante comum nas outras linguagens de programação. Achei que fosse bicho de sete cabeças aqui, mas que nada. É mutíssimo simples.

BINGO!!!
Mais um ponto para o JAVA
Nada é mesmo impossível aqui.