Como adiciono interface grafica nesse codigo ? alguem poderia me ajudar pelo menos no começo?

3 respostas
D
package trab2;

import java.io.EOFException;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Manipular {
	
	private RandomAccessFile RAF_Titular;
	private RandomAccessFile RAF_Dependente;
	private List<Titular> Lista_de_Titular = new ArrayList<Titular>();
	private List<Dependente> Lista_de_Dependente = new ArrayList<Dependente>();
	
	private final int CodigoInicial = 1001;
	private final int CodigoInicialDependente = 20001;
	
	private String Caminho_Dependente;
	private String Caminho_Titular;
	
	public Manipular(String Caminho_T,String Caminho_D){
		
		Caminho_Dependente = Caminho_D;
		Caminho_Titular = Caminho_T;
		try {
			RAF_Titular = new RandomAccessFile(Caminho_Titular, "rw");
		
		RAF_Dependente = new RandomAccessFile(Caminho_Dependente, "rw");
		System.out.println("oi");
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	private void abrirEFechar() throws IOException
	{
		if(RAF_Titular!=null)
			RAF_Titular.close();
		if(RAF_Dependente!=null)
			RAF_Dependente.close();
		
		RAF_Titular = new RandomAccessFile(Caminho_Titular, "rw");
		RAF_Dependente = new RandomAccessFile(Caminho_Dependente, "rw");
	}
	
	public void fecharArquivo() throws IOException {
		if (RAF_Titular != null)
			RAF_Titular.close();
		if(RAF_Dependente!=null)
			RAF_Dependente.close();
}
	
	public void titular_criarTitular(Titular T){ 
		T.setNumeroCarteira(Integer.parseInt(String.valueOf(titular_obterID())));
		try {
			RAF_Titular.seek((T.getNumeroCarteira()-CodigoInicial) * Titular.tamtitular);
		if(titular_escrever(T))
		{
			System.out.println("Titular cadastrado com sucesso! "+ T.toString());
		}
		else 
				System.out.println("Erro ao cadastrar Titular");
		} catch (IOException e) {
				System.out.println("Erro ao cadastrar Titular");
		}
	}
	
	public void dependente_criarDependente(Dependente D){ 
		
		D.setNumeroCarteira(Integer.parseInt(String.valueOf(dependente_obterID())));
		
		try {
			//lembrar de mudar o tam
			RAF_Dependente.seek((D.getNumeroCarteira()-CodigoInicialDependente) * Dependente.tamdependente);
	
		if(dependente_escrever(D)) {
			
			System.out.println("Dependente cadastrado com sucesso!");
			D.toString();	
			}
			
		
		else 
				System.out.println("Erro ao cadastrar dependente");
			
		} catch (IOException e) {
			System.out.println("Erro ao cadastrar dependente");
		} 
	}
	
	public List<Titular> getLista_de_Titular() {
		atualizarListaTitular();
		return Lista_de_Titular;
	}
	
	public List<Dependente> getLista_de_Dependente() {
		atualizarListaDependente();
		return Lista_de_Dependente;
	}
	
	public void titular_removerTitular(Titular T){

		try {
			RAF_Titular.seek((T.getNumeroCarteira()-CodigoInicial) * Titular.tamtitular);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} 
		T.setNumeroCarteira(0);
		
		if(titular_escrever(T)) // grava o registro no arquivo
			System.out.println("Titular excluido com sucesso!");
		else 
			System.out.println("Erro ao excluir titular");
	}
	
	public void dependente_removerDependente(Dependente D){
		
		try {
			RAF_Dependente.seek((D.getNumeroCarteira()-CodigoInicialDependente) * Dependente.tamdependente);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} 
		D.setNumeroCarteira(0);
		
		if(dependente_escrever(D)) // grava o registro no arquivo
			System.out.println("Dependente excluido com sucesso!");
		else 
			System.out.println("Erro ao excluir dependente");
	}
	
	private void atualizarListaTitular(){
		try // lê um registro e exibe
	{
		abrirEFechar();
		RAF_Titular.seek( 0 );
		Lista_de_Titular= new ArrayList<Titular>();
		
		while (true) {				
			Titular T = titular_ler();
			if(T.getNumeroCarteira()!=0)
				Lista_de_Titular.add(T);
		} 
	}
	catch (EOFException eofException)
	{
		return; 
	} 
	catch (IOException ioException) {
		ioException.printStackTrace();
		System.out.println("Erro ao ler o arquivo.");
		System.exit(1);
	} 

	}
	
	public void atualizarListaDependente(){
		try // lê um registro e exibe
	{
		abrirEFechar();
		RAF_Dependente.seek( 0 );
		Lista_de_Dependente = new ArrayList<Dependente>();
		
		while (true) {				
			Dependente D = dependente_ler();
			if(D.getNumeroCarteira()!=0)
			Lista_de_Dependente.add(D);
		} 
	}
	catch (EOFException eofException)
	{
		return; 
	} 
	catch (IOException ioException) {
		ioException.printStackTrace();
		System.out.println("Erro ao ler o arquivo.");
		System.exit(1);
	} 

	}
	
	private long titular_obterID()
	{	
		try {
		long Tam;
			Tam = RAF_Titular.length();
		return CodigoInicial+(Tam/Titular.tamtitular);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return -1;
		}
	}
	
	private long dependente_obterID()
	{	
		try {
		long Tam;
	
			Tam = RAF_Dependente.length();
		
		return CodigoInicialDependente+(Tam/Dependente.tamdependente);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return -1;
		}
	}
	
	public Titular titular_obterTitular(int Codigo)
	 {

				titular_lerTitulares(false);	
				for (Titular T: Lista_de_Titular)
					if (T.getNumeroCarteira() == Codigo)
						return T;
				
				return null;	
		}
	
	
	public Dependente dependente_obterDependente(int Codigo)
	 {

				//dependente_lerDependentes(false);	
				for (Dependente D: Lista_de_Dependente)
					if (D.getNumeroCarteira() == Codigo)
						return D;
				
				return null;	
		}
	
	public Dependente dependente_obterDependentetitular(int Codigo){
		
		for(Dependente D: Lista_de_Dependente)
			if(D.getCarteiratitular()==Codigo)
				return D;
		
		return null;
	}
		
	private boolean titular_escrever(Titular T) {

		try {
			RAF_Titular.writeInt(T.getNumeroCarteira());
			titular_escreverNome(T.getNome());	
			RAF_Titular.writeInt(T.getAnocontrato());
			RAF_Titular.writeDouble(T.getValorMensalidade());
		
		} catch (IOException e) {
			e.printStackTrace();
			return false;
		}
		return true;
	}
	
	private boolean dependente_escrever(Dependente D) {

		try {
			RAF_Dependente.writeInt(D.getNumeroCarteira());
			dependente_escreverNome(D.getNome());	
			RAF_Dependente.writeDouble(D.getValorMensalidade());
			RAF_Dependente.writeInt(D.getCarteiratitular());
			
		} catch (IOException e) {
			e.printStackTrace();
			return false;
		}
		return true;
	}
	
	private void titular_escreverNome(String nome) throws IOException {
		StringBuffer buffer = null;
		if (nome != null)
			buffer = new StringBuffer(nome);
		else
			buffer = new StringBuffer(Titular.tamanhoNome);
		buffer.setLength(Titular.tamanhoNome);
		RAF_Titular.writeChars(buffer.toString());
	}

	private void dependente_escreverNome(String nome) throws IOException {
		StringBuffer buffer = null;
		if (nome != null)
			buffer = new StringBuffer(nome);
		else
			buffer = new StringBuffer(Dependente.tamanhoNome);
		buffer.setLength(Dependente.tamanhoNome);
		RAF_Dependente.writeChars(buffer.toString());
	}
//}


public void titular_atualizarTitular(Titular T) {
	
	try {
		RAF_Titular.seek((T.getNumeroCarteira()-CodigoInicial) * Titular.tamtitular);

	if(titular_escrever(T)) // grava o registro no arquivo
		
			System.out.println("Titular editado com sucesso!");
	else 
			System.out.println("Erro ao editar titular");
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	} 
}

public void dependente_atualizarDependente(Dependente D) {
	
	try {
		RAF_Dependente.seek((D.getNumeroCarteira()-CodigoInicial) * Dependente.tamdependente);

	if(dependente_escrever(D)) // grava o registro no arquivo
		
			System.out.println("Dependnete editado com sucesso!");
	else 
			System.out.println("Erro ao editar dependente");
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	} 
}



	
public void titular_lerTitulares(boolean Imprimir) {

	
	try // lê um registro e exibe
	{
		abrirEFechar();
		RAF_Titular.seek( 0 );
		if(Imprimir)
			System.out.printf("Codigo 		Nome		ano		Valor");
		while (true) {				
			Titular T = titular_ler();
			Lista_de_Titular.add(T);
			if(T.getNumeroCarteira() != 0) {
				// exibe o conteúdo de registro
				if(Imprimir)
				System.out.printf("%d 		%s		%d		%f\n",T.getNumeroCarteira(),
			T.getNome(),T.getAnocontrato(),T.getValorMensalidade());
			}
		} 
	}
	catch (EOFException eofException)
	{
		return; 
	} 
	catch (IOException ioException) {
		ioException.printStackTrace();
		System.out.println("Erro ao ler o arquivo.");
		System.exit(1);
	} 
}

public void dependnete_lerDependnete(boolean Imprimir) {

	
	try // lê um registro e exibe
	{
		abrirEFechar();
		RAF_Dependente.seek( 0 );
		if(Imprimir)
			System.out.printf("Codigo 		Nome		ano		Valor");
		while (true) {				
			Dependente D = dependente_ler();
			Lista_de_Dependente.add(D);
			if(D.getNumeroCarteira() != 0) {
				// exibe o conteúdo de registro
				if(Imprimir)
				System.out.printf("%d 		%s		%d		%f\n",D.getCarteiratitular(),
			D.getNome(),D.getNumeroCarteira(),D.getValorMensalidade());
			}
		} 
	}
	catch (EOFException eofException)
	{
		return; 
	} 
	catch (IOException ioException) {
		ioException.printStackTrace();
		System.out.println("Erro ao ler o arquivo.");
		System.exit(1);
	} 
}


//CORRIGIR
public void titular_Imprimir(int Codigo)
{
	//atualizarListaDependente();
	atualizarListaTitular();
	/*if (Codigo == 2)
	 Collections.sort(Lista_de_Titular);
	*/
	
	System.out.printf("Codigo		Nome		Valor\n");	
			
	for (Titular T : Lista_de_Titular)
		System.out.printf("%d		%s		%f\n",T.getNumeroCarteira(),
				T.getNome(),T.getValorMensalidade());
	
}

public void dependente_Imprimir(int Codigo)
{
	atualizarListaDependente();
	
	System.out.printf("Codigo 		Nome		Valor\n");	
			
	for (Dependente D : Lista_de_Dependente)
		System.out.printf("%d 		%s		%f\n",D.getNumeroCarteira(),
				D.getNome(),D.getValorMensalidade());
	
}

public void dependente_Imprimirtitular(int Codigo)
{
	atualizarListaDependente();

	if(dependente_obterDependentetitular(Codigo)!=null){
		System.out.printf("Codigo 		Nome		Valor\n");	
			
		for (Dependente D : Lista_de_Dependente)
		System.out.printf("%d 		%s		%f\n",D.getNumeroCarteira(),
				D.getNome(),D.getValorMensalidade());
	}else{
		System.out.println("Nao existe.");
	}
	
}
//CORRIGIR

private String titular_lerNome() throws IOException {
	char nome[] = new char[Titular.tamanhoNome], temp;

	for (int i = 0; i < nome.length; i++) {
		temp = RAF_Titular.readChar();
		nome[i] = temp;
	} 
	return new String(nome).replace('\0', ' ');
}

private String dependente_lerNome() throws IOException {
	char nome[] = new char[Dependente.tamanhoNome], temp;

	for (int i = 0; i < nome.length; i++) {
		temp = RAF_Dependente.readChar();
		nome[i] = temp;
	} 
	return new String(nome).replace('\0', ' ');
}

//CORRIGIR



//CORRIGIR

private Titular titular_ler() throws IOException {
	Titular T = new Titular();
	T.setNumeroCarteira(RAF_Titular.readInt());
	T.setNome(titular_lerNome());	

	T.setAnocontrato(RAF_Titular.readInt());
	T.setValorMensalidade(RAF_Titular.readDouble());
	return T;
}

private Dependente dependente_ler() throws IOException {
	Dependente D = new Dependente();
	
	D.setNumeroCarteira(RAF_Dependente.readInt());
	D.setNome(dependente_lerNome());	
	D.setValorMensalidade(RAF_Dependente.readDouble());
	D.setCarteiratitular(RAF_Dependente.readInt());
	return D;
}
/*

*/

}

3 Respostas

diegoecr

Um observação simples, e um comentário simples…vamos lá:

  • Se voce não sabe que interface adicionar, imagine eu…rs
  • Obs:. Interface não fica unida com o codigo, é por isso que voce tem programação em camadas, e padroes que divide todo o seu sistema em partes,
    na verdade você tem que saber o que o seu sistema vai fazer, oque ‘ficará visivel para o usuario’…e depois voce pode definir aonde ficará os metodos…por exemplo

Vamos supor que sua aplicação vai possuir funções para diferentes ‘topicos’ (cadastrar produto, e gerenciar usuarios) e voce precisa de interface,
voce elabora uma interface principal, permitindo que com o ‘Frame’ aberto o usuario tenha a opcao de ir até à função que deseja, o que cada botão vai fazer,
isso já nao depende da sua interface, fica no codigo à parte, até mesmo em outro classe java (interface.java + metodos.java)…

Se nao ajudei… foi mal, mas tente ser mais objetivo nas suas perguntas…flws boa sorte

E

Uma ferramenta importante para o programador Java é lápis e papel. Já tentou desenhar algumas telas?

diegoecr

Só para ressaltar, eu me expressei errado, quando disse que interface não fica ‘unida’ com o codigo, eu quis me referir aos métodos.

Você pode ter uma classe só com a interface, e invocar metodos em outra…

Criado 5 de abril de 2013
Ultima resposta 8 de abr. de 2013
Respostas 3
Participantes 3