Consulta através de arquivo texto

1 resposta
R

Bom dia,

Tenho 3 classes e não sei como implementar para efetuar a consulta em um arquivo txt, segue a abaixo os códigos:

Painel_Consulta

import java.awt.;
import javax.swing.
;

public class Painel_Consulta NFrame

{

JTextField Tx1,Tx2;

JTextArea Ta,Ta2 ;

JLabel L,L1,L2,L3,L4,L5;

JButton B1,B2,B3,B4,B5;

JPanel P1,P2 ;

JScrollPane SP;
public Painel_Consulta
{
	setTitle("Consulta ao Banco de Dados");
	Color Cor1 = new Color(255,240,190);
	Color Cor2 = new Color(235,220,170);
	Font F = new Font("Sans Serif",Font.BOLD,15);
	Font G = new Font("Sans Serif",Font.PLAIN,15);
	getContentPane().setBackground(Cor1);
					
	String A = "            ******* LISTA DE PRODUTOS ******\n"+" Cód_Produto          Descrição      Valor Unitário";
	
	L5 = new JLabel("Consulta de Produtos");
	L5.setFont(F);
	L5.setBounds(162,20,180,30);
	
	
	L1 = new JLabel("Codigo do Produto");
	L1.setFont(F);
	L1.setBounds(40,117,180,30);
	
	Tx1 = new JTextField();
	Tx1.setFont(G);
	Tx1.setBounds(250,125,120,20);
	
			
	L2 = new JLabel("< ENTER >");
	L2.setFont(F);
	L2.setBounds(380,117,120,30);
	
	
	
	L3 = new JLabel("Preço Unitário");
	L3.setFont(F);
	L3.setBounds(40,290,160,30);
	
	Tx2 = new JTextField();
	Tx2.setBounds(250,295,120,20);
	Tx2.setEditable(false);
	
	L4 = new JLabel("Descrição da Mercadoria");
	L4.setFont(F);
	L4.setBounds(40,180,180,30);
	
	Ta = new JTextArea(5,20);
	Ta.setBounds(250,190,160,60);
	Ta.setBorder(BorderFactory.createLoweredBevelBorder());
	Ta.setLineWrap(true);
	Ta.setEditable(false);
	
	
	
	
			
	B1 =new JButton("Consulta"); // consulta de produto
	B1.setBounds(55,410,100,25);
	B1.setBackground(Cor2);
	B1.setBorder(BorderFactory.createRaisedBevelBorder());
	
	B2 =new JButton("Incluir Produto"); // inclusão de produto
	B2.setBounds(195,410,100,25);
	B2.setBackground(Cor2);
	B2.setBorder(BorderFactory.createRaisedBevelBorder());
	
	B3 =new JButton("Sair"); // fecha o aplicativo
	B3.setBounds(325,410,100,25);
	B3.setBackground(Cor2);
	B3.setBorder(BorderFactory.createRaisedBevelBorder());
	
	
	
	// inclusão da parte de listas de compras
	
	L = new JLabel("Lista de Compras");
	L.setBounds(132,20,400,20);
						
	Ta2= new JTextArea(10,3);
	Ta2.setBounds(40,60,270,335);
	Ta2.setBorder(BorderFactory.createLoweredBevelBorder());
	Ta2.setLineWrap(false);
	Ta2.setEditable(false);
	Ta2.setText(A);
	
			
	B4 =new JButton("Listar Produtos"); // listar todos os produto
	B4.setBounds(55,410,100,25);
	B4.setBackground(Cor2);
	B4.setBorder(BorderFactory.createRaisedBevelBorder());
	
	B5 =new JButton("Limpar"); // ao clicar limpa a tela de lista de produtos
	B5.setBounds(190,410,100,25);
	B5.setBackground(Cor2);
	B5.setBorder(BorderFactory.createRaisedBevelBorder());
	
	                       
    SP = new JScrollPane(Ta2);
	SP.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
	SP.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
	
			
	// fim
	
	P1 =new JPanel();
	P1.setBackground(Cor2);
	P1.setBorder(BorderFactory.createRaisedBevelBorder());
	P1.setBounds(60,70,485,480);
	P1.setLayout(null);
	P1.add(L1);
	P1.add(Tx1);
	P1.add(L5);
	
	P1.add(L2);
	P1.add(L3);
	P1.add(Tx2);
	P1.add(L4);
	P1.add(Ta);
	
	
	P1.add(B1);
	P1.add(B2);
	P1.add(B3);
	
	
	P2 =new JPanel();
    P2.setBackground(Cor2);
    P2.setBorder(BorderFactory.createRaisedBevelBorder());
    P2.setLayout(new BorderLayout());
    P2.setBounds(590,70,345,480);
    P2.setLayout(null);
	P2.add(SP);
	P2.add(L);
	P2.add(Ta2);
	P2.add(B4);
	P2.add(B5);
	
	
	getContentPane().setLayout(null);
	getContentPane().add(P1);
	getContentPane().add(P2);

	
}
public static void main ( String arg[])
{
	NFrame fx = new Painel_Consulta();
	fx.show();
}

}

=========

Consulta_Eventos

import java.awt.<em>;

import java.awt.event.</em>;

import javax.swing.*;
public class Consulta_Eventos extends Painel_Consulta implements ActionListener, KeyListener

{

static int z = 0 ;
public Consulta_Eventos()
{
	B1.addActionListener(this);
	B2.addActionListener(this);
	B3.addActionListener(this);
			
	Tx2.addKeyListener(this);

	
}
public void actionPerformed(ActionEvent e)
{
	if(e.getSource()==B1) //botao consulta
	{
		Tx1.setText("");
		Tx2.setText("");
		Ta.setText("");
		
		z = 0;
		this.z = z;
		
	}
	if(e.getSource()==B2)
	{
		// inclusão de produto
	
	}
	
	if(e.getSource()==B3)
	{
		int selection = JOptionPane.showConfirmDialog(null,"Deseja sair do programa?","Confirmação de Saída",JOptionPane.OK_CANCEL_OPTION,JOptionPane.WARNING_MESSAGE);
		if (selection == JOptionPane.OK_OPTION) {
			
			System.exit(0);
		}
	
	}
	
	
}
public void keyPressed (KeyEvent e)
{}
public void keyTyped ( KeyEvent e)
{}	
public void keyReleased(KeyEvent e)
{}
public static void main ( String arg[])
{
	NFrame fx = new Consulta_Eventos();
	fx.show();
}

}

=========

O problema está aqui, não consigo capturar os dados no arquivo texto:

Consulta

import java.awt.<em>;

import java.awt.event.</em>;

import javax.swing.<em>;

import <a href="http://java.io">java.io</a>.</em>;
public class Consulta extends Consulta_Eventos

{

String B = " ";

String C = " ";
static String linha[][];

public Consulta()
{
	
}

public static void main ( String arg[])
{
	
	try
	{
		String texto =" ";
		linha = new String[52][3];
		FileReader fr = new FileReader("C:/Estoque.txt");
		BufferedReader br = new BufferedReader(fr);
		for(int j=0;j<52;j++)
		{
			for(int l=0;l<3;l++)
			{
				texto= br.readLine();
				linha[j][l]=texto;
			}
		}
		br.close();
		fr.close();
	}
	catch(FileNotFoundException nfex)
	{
		String st = "Arquivo não encontrado ! \nNão é possível abrir o programa !" ;
		JOptionPane.showMessageDialog(null,st,"Erro",1);
		System.exit(0);
	}
	catch(IOException ioex)
	{
		String st = "Erro durante a leitura ! \nO programa não pode ser aberto !";
		JOptionPane.showMessageDialog(null,st,"Erro de leitura",1);
		System.exit(0);
	}

	NFrame fx = new Consulta();
	fx.show();
}
	public void keyPressed (KeyEvent e)
{
	
	if(e.getSource()==Tx1 && e.getKeyCode()==10)
	{
		String A = Tx1.getText();

		for(int j=0;j<52;j++)
		{
			if(linha[j][0].equals(A))
			{
			
			
				Ta.setText(linha[j][1]);
				Ta2.append("\n" + "    " + Tx1.getText() + "          " + Tx2.getText() +
					"       " );
			}
		}
	}
}

}

Grato pela atenção,

Ramon

1 Resposta

Pedrosa

Olhe o tutorial aqui do Guj:

http://www.guj.com.br/java.tutorial.artigo.13.1.guj

Criado 22 de setembro de 2006
Ultima resposta 22 de set. de 2006
Respostas 1
Participantes 2