Bom dia
Pessoal estou fazendo uns testes em classe java e desenvolvi um pequeno aplicatico que envia dados para uma classe e retorna as informações, Existem 5 campos no formulário onde manda para a classe aluno, consigo armazenar todos mas não consigo retornar os valores da JList, ele esta me retornando isso: [Lacademico.Disciplina;@7259da. Como eu corrijo? Veja como esta a minha classe:
A estrutura é simples tenho uma formulário onde o JList tem as displina em multipla escolha, a classe aluno agrega a classe disciplina e por meio de um array armazena os dados do JList, se eu exibir uma por uma as disiciplinas funciona mas preciso exibir todas de uma vez.
Esse é o código que exibe os dados, tudo exibe apenas a lista de displina que esta com esse problema de mostra um endereço
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
for(int i=0 ; i<alunos.length ; i++)
{
txtExibir.setText(txtExibir.getText() + "Aluno " + i + "\nRGM: " + alunos[i].getRGM() + "\nNome: " + alunos[i].getNome() + "\nSobre Nome: " + alunos[i].getSobreNome() + "\nCampus: " + alunos[i].getCampus() + "\nDisciplinas: " + alunos[i].getDisciplinas().toString() + "\n\n");
}
}
Formulário:
public class CadastroAluno extends javax.swing.JFrame {
Aluno aluno;
public CadastroAluno() {
initComponents();
carregarDisciplina();
}
...
private void carregarDisciplina() {
// Add new objects Diciplina into model
mdlDis.add(0, new Disciplina("banco de dados"));
mdlDis.add(1, new Disciplina("estrutura de dados"));
mdlDis.add(2, new Disciplina("tecnicas de programação"));
mdlDis.add(3, new Disciplina("engenharia de software"));
mdlDis.add(4, new Disciplina("projetos de sistemas"));
//set the default list model data into jlist
txtDisciplina.setModel(mdlDis);
}
...
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
aluno = new Aluno();
Object obs[] = null;
// if(alunos.length<10){
aluno.setNome(txtNome.getText());
aluno.setRGM(txtRGM.getText());
aluno.setSobreNome(txtSobreNome.getText());
aluno.setCampus(txtCampus.getText());
obs = this.txtDisciplina.getSelectedValues();
for(int i=0 ; i<obs.length ; i++)
{
aluno.setDisciplina((Disciplina)obs[i]);
}
this.alunos[this.qtdAluno++] = aluno;
txtNome.setText(null);
txtRGM.setText(null);
txtSobreNome.setText(null);
txtCampus.setText(null);
}
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
for(int i=0 ; i<alunos.length ; i++)
{
txtExibir.setText(txtExibir.getText() + "Aluno " + i + "\nRGM: " + alunos[i].getRGM() + "\nNome: " + alunos[i].getNome() + "\nSobre Nome: " + alunos[i].getSobreNome() + "\nCampus: " + alunos[i].getCampus() + "\nDisciplinas: " + alunos[i].getDisciplinas().toString() + "\n\n");
}
}
private Aluno alunos[] = new Aluno[10];
private int qtdAluno = 0;
}
Essa é a classe aluno:
package academico;
public class Aluno {
private String rgm;
private String nome;
private String sobrenome;
private String campus;
private Disciplina disciplinas[] = new Disciplina[10];
public void setNome(String n){
this.nome = n;
}
public void setRGM(String rgm){
this.rgm = rgm;
}
public void setSobreNome(String sn){
this.sobrenome = sn;
}
public void setCampus(String c){
this.campus = c;
}
public String getNome(){
return this.nome;
}
public String getRGM(){
return this.rgm;
}
public String getSobreNome(){
return this.sobrenome;
}
public String getCampus(){
return this.campus;
}
public void setDisciplina(Disciplina disciplina){
if(disciplinas.length == 0)
disciplinas[disciplinas.length] = disciplina;
else
disciplinas[disciplinas.length -1] = disciplina;
}
public void setDisciplina(Disciplina[] disciplinas){
this.disciplinas = disciplinas;
}
public Disciplina getDisciplina(int index){
return disciplinas[index];
}
public Disciplina[] getDisciplinas()
{
return disciplinas;
}
}
Essa é a classe Disciplina
package academico;
/**
*
* @author emerson
*/
public class Disciplina {
private String nome;
private Departamento depto;
/**
* este construtor viola as restrições impostas no diagrama de classes.
* @param nome String
*/
public Disciplina(String nome) {
this.nome = nome;
}
public Disciplina(Departamento depto) throws Exception{
if(depto == null)
throw new Exception("attribute depto cannnot be null.");
this.depto = depto;
}
public Disciplina(String nome, Departamento depto) throws Exception{
this(depto);
this.nome = nome;
}
public String toString()
{
return nome;
}
}