Eu já todos as narrativas acima, mas mesmo assim o meu fonte esta dando esta mensagem de erro e eu não acertei ainda onde colocar o tratamento de erro. Vocês podem me ajudar :
C:\PROGJAVA\entrada.java:129: unreported exception java.io.FileNotFoundException; must be caught or declared to be thrown
ChecaArq(TX_ArqEnt.getText());}}
^
1 error
Process completed.
import javax.swing.*;
import javax.swing.text.*;
import java.awt.*;
import java.awt.event.*;
import java.text.*;
import java.io.File;
import java.io.*;
import java.io.FileReader;
import java.io.IOException;
import java.io.FileNotFoundException;
class entrada extends JFrame{
JButton BT_Confirma,BT_Sair;
JLabel ImgFundo;
JLabel LB_Titulo,LB_ArqEnt,LB_ArqSai,WCx_Senha;
JFormattedTextField TX_ArqEnt,TX_ArqSai;
MaskFormatter MascArqEnt,MascArqSai;
JList WLista;
String Op_Lista[]={"01-JList","02-JList","03-JList"};
JComboBox WCombo;
String Op_Combo[]={"01-JComboBox","02-JComboBox","03-JComboBox"};
JCheckBox WCk01,WCk02,WCk03,WCk04,WCk05;
JRadioButton WRd01,WRd02,WRd03;
JPasswordField WDs_Senha;
//****
public entrada(){
//*** Exibe Tela Principal(dialog)
super("MARPRESS INFORMÁTICA");
Container tela=getContentPane();
//tela.setBackground(new Color(200,250,199));
setLayout(null);
//*** Exibe imagem na tela, como se fosse papel de parede...
ImageIcon icone=new ImageIcon("C:\PROGJAVA\logo_marpress.gif");
ImgFundo=new JLabel(icone);
ImgFundo.setBounds(625,000, 380,200);
tela.add(ImgFundo);
//*** Exibe o pedido de Senha, só para exibição na tela
WCx_Senha=new JLabel("Acesso : ");
WCx_Senha.setBounds(650,300,150,030);
WCx_Senha.setForeground(Color.red);
WCx_Senha.setFont(new Font("Arial",Font.BOLD,20));
tela.add(WCx_Senha);
WDs_Senha=new JPasswordField(10);
WDs_Senha.setBounds(750,300,150,030);
WDs_Senha.setForeground(Color.blue);
WDs_Senha.setFont(new Font("Arial",Font.BOLD,20));
WDs_Senha.setBackground(Color.orange);
WDs_Senha.setEchoChar('#');
tela.add(WDs_Senha);
//*** Rotina do JList
WLista=new JList(Op_Lista);
WLista.setVisibleRowCount(5);
JScrollPane painel_lista=new JScrollPane(WLista);
WLista.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
painel_lista.setBounds(40,250,150,100);
WLista.setForeground(Color.white);
WLista.setFont(new Font("Arial",Font.BOLD,17));
WLista.setBackground(Color.blue);
tela.add(painel_lista);
//*** Rotina do JComboBox
WCombo=new JComboBox(Op_Combo);
WCombo.setMaximumRowCount(5);
WCombo.setBounds(40,400,150,030);
WCombo.setForeground(Color.blue);
WCombo.setFont(new Font("Arial",Font.BOLD,17));
WCombo.setBackground(Color.orange);
tela.add(WCombo);
//*** Rotina do JCheckBox
WCk01=new JCheckBox("01-JCheckBox");
WCk01.setBounds(050,470,150,30);
tela.add(WCk01);
WCk02=new JCheckBox("02-JCheckBox");
WCk02.setBounds(050,500,150,30);
tela.add(WCk02);
WCk03=new JCheckBox("03-JCheckBox");
WCk03.setBounds(050,530,150,30);
tela.add(WCk03);
WCk04=new JCheckBox("04-JCheckBox");
WCk04.setBounds(050,560,150,30);
tela.add(WCk04);
WCk05=new JCheckBox("05-JCheckBox");
WCk05.setBounds(050,590,150,30);
tela.add(WCk05);
//*** Rotina do JRadioButton
ButtonGroup WGrupo = new ButtonGroup();
WRd01=new JRadioButton("01-JRadioButton");
WRd01.setBounds(050,650,150,30);
WGrupo.add(WRd01);
tela.add(WRd01);
WRd02=new JRadioButton("02-JRadioButton");
WRd02.setBounds(050,680,150,30);
WGrupo.add(WRd02);
tela.add(WRd02);
WRd03=new JRadioButton("03-JRadioButton");
WRd03.setBounds(050,710,150,30);
WGrupo.add(WRd03);
tela.add(WRd03);
//*** Define Botões
UIManager.put("ToolTip.background",Color.orange);
BT_Confirma=new JButton("Confirma");
BT_Confirma.setBounds(600,650,150,90);
BT_Confirma.setForeground(Color.blue);
BT_Confirma.setFont(new Font("Arial",Font.BOLD,20));
BT_Confirma.setToolTipText("Confirma os Dados Acima Digitados...");
BT_Confirma.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
ChecaArq(TX_ArqEnt.getText());}}
);
tela.add(BT_Confirma);
BT_Sair =new JButton("Sair");
BT_Sair.setBounds(800,650,150,90);
BT_Sair.setForeground(Color.red);
BT_Sair.setFont(new Font("Arial",Font.BOLD,20));
BT_Sair.setToolTipText("Sair do Sistema...");
BT_Sair.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
int opcao;
Object[] BT_Sair ={"Sim","Não"};
opcao=JOptionPane.showOptionDialog(null,"Deseja Realmente SAIR ?","SAIR",
JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,null,BT_Sair,BT_Sair[0]);
if(opcao==JOptionPane.YES_OPTION)
System.exit(0);}});
tela.add(BT_Sair);
//*** Define o conteúdo dos Labels
LB_Titulo = new JLabel("MALA DIRETA");
LB_ArqEnt = new JLabel("Arquivo de Entrada");
LB_ArqSai = new JLabel("Arquivo de Saída");
//*** Mascaras/Pictures dos Campos
try{
MascArqEnt = new MaskFormatter("************");
MascArqSai = new MaskFormatter("************");
MascArqEnt.setPlaceholderCharacter('*');
MascArqSai.setPlaceholderCharacter('*');
TX_ArqEnt = new JFormattedTextField(MascArqEnt);
TX_ArqSai = new JFormattedTextField(MascArqSai);
}
catch(ParseException excp){}
//*** Posicionamento dos JLabel : (Col,Lin,Compr,Alt)
LB_Titulo.setBounds(350, 20,470,30);
LB_ArqEnt.setBounds( 50, 90,300,25);
LB_ArqSai.setBounds( 50,130,300,25);
//*** Posicionamento dos JTextField: (Col,Lin,Compr,Alt)
TX_ArqEnt.setBounds(300, 90, 200,30);
TX_ArqSai.setBounds(300,130, 200,30);
//*** Define as Cores dos JLabel
LB_Titulo.setForeground(Color.blue);
LB_ArqEnt.setForeground(Color.blue);
LB_ArqSai.setForeground(Color.blue);
//*** Define as Cores dos JTextField
TX_ArqEnt.setForeground(Color.orange);
TX_ArqSai.setForeground(Color.orange);
//*** Define as Fontes dos JLabel
LB_Titulo.setFont(new Font("Arial",Font.BOLD,36));
LB_ArqSai.setFont(new Font("Arial",Font.BOLD,25));
LB_ArqEnt.setFont(new Font("Arial",Font.BOLD,25));
//*** Define as Fontes dos JTextField
TX_ArqEnt.setFont(new Font("Arial",Font.BOLD,25));
TX_ArqSai.setFont(new Font("Arial",Font.BOLD,25));
//*** Atribui ao objeto TELA, os JLabel
tela.add(LB_Titulo);
tela.add(LB_ArqEnt);
tela.add(LB_ArqSai);
//*** Atribui ao objeto TELA, os JTextField
tela.add(TX_ArqEnt);
tela.add(TX_ArqSai);
//*** sempre no final!!
setSize(1000,800);
setVisible(true);
setLocationRelativeTo(null);
}
//**************************************************************************
// ativa os objetos na tela, ou seja, executa as operações
public static void main(String args[]){
entrada app=new entrada();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}
// verifica a existencia do arquivo de entrada
// throws FileNotFoundException, IOException
public static void ChecaArq(String NmArq) throws FileNotFoundException, IOException {
File WProcArq = new File(NmArq);
if (!WProcArq.isFile()) {
JOptionPane.showMessageDialog(null,"Arquivo Inexistênte! "+NmArq,"ERRO",JOptionPane.ERROR_MESSAGE);
// depois dar um jeito de retornar lá pra cima.....
}
// Lê o arquivo de texto
FileReader reader = new FileReader(WProcArq);
BufferedReader leitor = new BufferedReader(reader);
String linha = null;
String fonte = null;
while((linha=leitor.readLine())!=null) {
fonte +="\n"+ leitor.readLine();
}
leitor.close();
reader.close();
}
}
EDIT - Ponha as tags CODE quando postar código. Basta clicar no botãozinho “CODE” que está ao lado do título “Corpo da Mensagem”.