Jump to content

Ajuda com ambiente gráfico em java utilizando o Eclipse


LykyD
 Share

Recommended Posts

Boas,

Eu estou a iniciar o desenvolvimento de uma aplicação minha, somente para não me esquecer de Java e para também alargar os meus conhecimentos, e por isso estou a tentar aprender por mim trabalhar em ambiente gráfico no eclipse.

Sei fazer algumas coisas, mas poucas, o que entretanto apareceu uma dúvida sobre jFrame e sobre jInternalFrame.

Esta é a minha jFrame principal com um jDesktoppane:

package janelas;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JDesktopPane;
public class JanelaPrincipal extends JFrame {
private JPanel contentPane;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
 JanelaPrincipal frame = new JanelaPrincipal();
 frame.setVisible(true);
} catch (Exception e) {
 e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public JanelaPrincipal() {
setTitle("Janela Principal");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);

JDesktopPane desktopPane = new JDesktopPane();
contentPane.add(desktopPane, BorderLayout.CENTER);
}
}

Esta é a minha jInternalframe para um sistema de login, mas ainda só tem o básico:

package janelas;
import java.awt.EventQueue;
import javax.swing.JInternalFrame;
import javax.swing.JTextField;
import javax.swing.JPasswordField;
import javax.swing.JButton;
public class JanelaLogin extends JInternalFrame {
private JTextField textField;
private JPasswordField passwordField;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
 JanelaLogin frame = new JanelaLogin();
 frame.setVisible(true);
} catch (Exception e) {
 e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public JanelaLogin() {
setBounds(100, 100, 450, 300);
getContentPane().setLayout(null);

textField = new JTextField();
textField.setBounds(32, 68, 86, 20);
getContentPane().add(textField);
textField.setColumns(10);

passwordField = new JPasswordField();
passwordField.setBounds(156, 68, 116, 20);
getContentPane().add(passwordField);

JButton btnNewButton = new JButton("New button");
btnNewButton.setBounds(303, 67, 89, 23);
getContentPane().add(btnNewButton);
}
}

Este é o meu main:

package source;
import java.io.IOException;
import java.util.ArrayList;
import javax.swing.JDesktopPane;
import javax.swing.JPanel;
import classes.Filme;
import classes.Utilizador;
import func.Func;
import janelas.JanelaLogin;
import janelas.JanelaPrincipal;
public class Main {
@SuppressWarnings("unchecked")
public static void main(String[] args) throws IOException {

JanelaPrincipal janela = new JanelaPrincipal();

ArrayList<Filme> filme = new ArrayList<Filme>();
filme.addAll((ArrayList<Filme>)Func.carregar("filmes.dat"));
ArrayList<Utilizador> utilizador = new ArrayList<Utilizador>();

if((ArrayList<Utilizador>)Func.carregar("utilizadores.dat") != null) {
utilizador.addAll((ArrayList<Utilizador>)Func.carregar("utilizadores.dat"));
 }
else {
//utilizador.add(Func.adicionaUtilizador());
Func.guardar(filme, utilizador);
}

janela.show();

}
}

O meu objetivo era chamar o janela de login na janela principal. Ou seja, a minha aplicação iria trabalhar somente na janela principal mas ao longo da aplicação, todas as janelas secundárias iriam aparecer na principal.

Neste caso quando a minha aplicação é executada, vai verificar se já existe ou não um utilizador, se não existir, deveria abrir o login na janela principal. a minha dúvida é como chamar a janela de login na janela principal.

sei que usar janela.show(); vai abrir a janela principal, só não sei como fazer para chamar a janela login. não esquecendo que a janela login é do tipo jinternalframe, e a janela principal é do tipo jframe com um jdesktoppane.

Muito obrigado

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.