Danyx 0 Denunciar post Postado Junho 13, 2012 Bom dia Pessoas!! O Prof. na Universidade pediu pra nós desenvolvermos um Sistema de Matrícula em J2me: CADASTRO Aluno Disciplina Turma LISTAGEM Turma Disciplina Alunos Na parte de Cadastro e Listagem implementamos, no entanto, estamos com dificuldade na listagem do Aluno por ex: João vir a Disciplina e a turma correspondente em RMS. Desde já agradeço!! Compartilhar este post Link para o post Compartilhar em outros sites
Hikoy 0 Denunciar post Postado Junho 15, 2012 Qual a dificuldade encontrada? Mostre o código que assim fica mais fácil de ajudar. Compartilhar este post Link para o post Compartilhar em outros sites
Danyx 0 Denunciar post Postado Junho 16, 2012 Qual a dificuldade encontrada? Mostre o código que assim fica mais fácil de ajudar. ok: O que está acontecendo é o seguinte: Os cadastros, Exclusão e alteração conseguimos fazer, no entanto, na classe turma, que tem que vir os alunos e disciplinas como referencia é que trava, ou seja, seriam 03 armazéns: aluno, disciplina e turma, sendo que a turma iria ficar registrado os 03 para mostrar em uma listagem um referente ao outro. não estamos conseguindo resgatar os alunos e disciplinas na turma comparar (RecordComparator) e fazer a listagem. Segue o modelo da interface: http://aplicativos9.com.br/imagens/interface.jpg Segue o código: package midlet; import javax.microedition.midlet.MIDlet; import javax.microedition.lcdui.*; import java.io.*; import java.util.Vector; import javax.microedition.rms.*; public class Turma extends MIDlet implements CommandListener{ private Display d; private List lstNomes; private Form fmNovo; private TextField tfNome, tfFone; private Command cmAjuda, cmNovo, cmSair, cmVoltar, cmSalvar, cmExcluir, cmEditar; private Alert alAviso; private TextBox txbAjuda; private RecordStore rsNomes3; private RecordEnumeration reNomes3; private Vector vetIds = new Vector(); public void startApp() { d = Display.getDisplay(this); cmAjuda = new Command("Ajuda", Command.ITEM, 1); cmNovo = new Command("Novo", Command.ITEM, 2); cmSair = new Command("Sair", Command.EXIT, 1); cmVoltar = new Command("Voltar", Command.BACK, 1); cmSalvar = new Command("Salvar", Command.SCREEN, 1); cmExcluir = new Command("Excluir", Command.ITEM, 4); cmEditar = new Command("Editar", Command.ITEM, 5); lstNomes = new List("Cadastro de Turma", List.EXCLUSIVE); lstNomes.addCommand(cmAjuda); lstNomes.addCommand(cmNovo); lstNomes.addCommand(cmSair); lstNomes.addCommand(cmExcluir); lstNomes.addCommand(cmEditar); lstNomes.setCommandListener(this); fmNovo = new Form("Nova Turma"); fmNovo.addCommand(cmVoltar); fmNovo.addCommand(cmSalvar); fmNovo.setCommandListener(this); tfNome = new TextField("Nome: ", "", 60, TextField.ANY); tfFone = new TextField("Fone: ", "", 8, TextField.PHONENUMBER); fmNovo.append(tfNome); fmNovo.append(tfFone); alAviso = new Alert("Aviso", "Por favor, preencha todos os campos", null, AlertType.INFO); alAviso.setTimeout(Alert.FOREVER); txbAjuda = new TextBox("Ajuda", "Este sistema foi desenvolvido por " + "Daniel dos Santos Cardoso " + "Analista de Desenvolvedor Web", 500, TextField.ANY); txbAjuda.addCommand(cmVoltar); txbAjuda.setCommandListener(this); d.setCurrent(fmNovo); criaBD(); //chamando o método criBD na inicializaçao leBD(); } public void criaBD() { try { rsNomes3 = RecordStore.openRecordStore("bd_turma",true); System.out.println("Banco criado ou aberto com sucesso"); System.out.println("Nome do banco "+rsNomes3.getName()); System.out.println("Número de registros ="+rsNomes3.getNumRecords()); System.out.println("Espaço ocupado = "+rsNomes3.getSize()); System.out.println("Espaço disponível = "+rsNomes3.getSizeAvailable()); } catch(Exception erro) { System.out.println("Não foi possível criar o Banco.:"); } } public void insereDado() { try { ByteArrayOutputStream bStream = new ByteArrayOutputStream(); DataOutputStream dStream = new DataOutputStream(bStream); dStream.writeUTF(tfNome.getString()); dStream.writeUTF(tfFone.getString()); dStream.flush(); byte [] dados = bStream.toByteArray(); rsNomes3.addRecord(dados,0,dados.length); bStream.close(); dStream.close(); } catch(Exception erro) { System.out.println("Erro ao inserir dados"+erro); } } public void alteraDado() { try { ByteArrayOutputStream bStream = new ByteArrayOutputStream(); DataOutputStream dStream = new DataOutputStream(bStream); dStream.writeUTF(tfNome.getString()); dStream.writeUTF(tfFone.getString()); dStream.flush(); byte [] dados = bStream.toByteArray(); //rsNomes.addRecord(dados,0,dados.length); rsNomes3.setRecord(Integer.parseInt(vetIds.elementAt(lstNomes.getSelectedIndex()).toString()),dados, 0, dados.length); bStream.close(); dStream.close(); } catch(Exception erro) { System.out.println("Erro ao inserir dados"+erro); } } public void leBD() { try { while (lstNomes.size()>0) lstNomes.delete(0); //limpar a lista ByteArrayInputStream inputStream = null; DataInputStream dataStream = null; reNomes3 = rsNomes3.enumerateRecords(null, null, false); int id = 0; byte [] dados = null; vetIds.removeAllElements(); while (reNomes3.hasNextElement()) { id = reNomes3.nextRecordId(); vetIds.addElement(""+id); dados = rsNomes3.getRecord(id); inputStream = new ByteArrayInputStream(dados); dataStream = new DataInputStream(inputStream); lstNomes.append(dataStream.readUTF()+" - "+ dataStream.readUTF(), null); } inputStream.close(); dataStream.close(); } catch(Exception erro) { System.out.println("erro ao ler banco de dados "); } } public void deletar() { try { int indice = lstNomes.getSelectedIndex(); rsNomes3.deleteRecord(Integer.parseInt(vetIds.elementAt(indice).toString())); leBD(); } catch(Exception erro) { System.out.println("Não foi possível deletar"); } } public void commandAction(Command c, Displayable dis) { if (c == cmSair) { destroyApp(true); notifyDestroyed(); } else if (c == cmNovo) { d.setCurrent(fmNovo); d.setCurrent(lstNomes); } else if (c == cmExcluir) { deletar(); } else if(c == cmEditar) { alteraDado(); } else if (c == cmVoltar) { d.setCurrent(lstNomes); } else if (c == cmSalvar) { if (tfNome.getString().length() > 0 && tfFone.getString().length() > 0) { lstNomes.append(tfNome.getString()+" - "+ tfFone.getString(), null); insereDado(); //chamando o metodo tfNome.setString(""); tfFone.setString(""); d.setCurrent(lstNomes); } else { d.setCurrent(alAviso); } } else if (c == cmAjuda) { d.setCurrent(txbAjuda); } } public void pauseApp(){} public void destroyApp(boolean d){} } Compartilhar este post Link para o post Compartilhar em outros sites