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