Olá galera…
Gostaria de saber se tem como acessar um objeto que está no construtor para usálo dentro de um método.
O que quero fazer:
Na classe data, coloquei no Construtor, que irá pedir [color=red]dia, mes e ano[/color]. Na classe Professor, tenho que pedir a data de admissão, e depois exibir esta data no método Imprimir.
Se eu criar o objeto [color=red]fora do construtor Data[/color], ele primeiro irá pedir o dia, mes e ano, antes de pedir outras informações(nome etc)…
Por isso, fiz a instância da classe Data dentro do construtor Professor. Mas preciso usar o metodo Imprime do objeto Data, dentro do método Imprime do método Professor.
Putz, ficou confuso…
Talvez com o cógico alguem entenda…
Vejam no final da classe Professor.java o ultimo comentário. Acho que vão entender.
Data.java
import javax.swing.JOptionPane;
public class Data {
int dia, mes, ano;
Data(){
String texto = JOptionPane.showInputDialog (null,"Entre com o DIA de admissão do professor: ");
dia= Integer.parseInt(texto);
texto = JOptionPane.showInputDialog (null,"Entre com o MÊS de admissão do professor: ");
mes= Integer.parseInt(texto);
texto = JOptionPane.showInputDialog (null,"Entre com o ANO de admissão do professor: ");
ano= Integer.parseInt(texto);
}
public void Imprime(){
JOptionPane.showMessageDialog(null,"<html><body>Data de admissão: " + dia+"/"+ mes + "/"+ano);
}
Professor.java
import javax.swing.JOptionPane;
public class Professor {
//Atributos
String nome, departamento;
int admissao, registro;
Professor(){
nome = JOptionPane.showInputDialog (null,"Entre com o nome do professor: ");
departamento = JOptionPane.showInputDialog (null,"Entre com o departamento do professor: ");
/*
String texto = JOptionPane.showInputDialog (null,"Entre com a data de admissão do professor: ");
admissao= Integer.parseInt(texto);
*/
Data Data1 = new Data();
String texto = JOptionPane.showInputDialog (null,"Entre com o registro do professor: ");
registro= Integer.parseInt(texto);
}
public void Imprime(){
JOptionPane.showMessageDialog(null,"<html><body>Nome: " + nome + "<html><body><br>Departamento: "+ departamento + "<html><body><br>Registro: "+ registro);
// queria usar o ***Data1.Imprime *** aqui! , mesmo aparecendo em uma janela diferente!
}
Alguma luz?
Ah, isso é um exercício da faculdade:
Defina uma classe Professor com os dados: nome do professor, nome do departamento, data de admissão, número de registro. Inclua na classe um construtor para setar os dados e um método para imprimir o conteúdo.
Defina uma classe Data com os dados: dia, mês e ano.
Reescreva a classe Professor de forma que a data de admissão seja um objeto da classe Data.
Modifique a classe Data criada anteriormente para conter um construtor capaz de setar o dia, mês e ano e um método capaz de imprimir a data.
Acho que daria pra fazer legal usando o System.out.println, mas queria fazer usando o swing…
