Vou colocar o código inteiro, pois acho que irá ficar mais facil entender.
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileWriter;
import java.io.;
import javax.swing.;
public class Tela extends JFrame implements ActionListener{
JComboBox statusop;
String a, functexts , manutexts , datatexts , temptextos, horatexts , motivotexts , solutexts , statustexts;
JButton botaosalvar;
JTextArea functext , manutext , datatext , temptexto, horatext , motivotext , solutext , statustext;
public Tela(){
super();
setTitle("Gerador de Relatórios de Manutenção");
setBounds(128,86,768,576);
setLocationRelativeTo(null);
BorderLayout borda = new BorderLayout();
getContentPane().setLayout(borda);
JPanel painel = new JPanel ();
painel.setBounds(128,86,768,576);
painel.setLayout(null);
JLabel funclabel= new JLabel("Funcionário");
funclabel.setBounds(10,10,70,20);
painel.add(funclabel);
JTextArea functext = new JTextArea("");
functext.setBounds(90,15,170,25);
painel.add(functext);
JLabel manulabel = new JLabel("Manutenção efetuada na máquina de:");
manulabel.setBounds(270,10,230,30);
painel.add(manulabel);
JTextArea manutexto = new JTextArea("");
manutexto.setBounds(500,15,250,25);
painel.add(manutexto);
JLabel datalabel = new JLabel("Data:");
datalabel.setBounds(10,50,50,30);
painel.add(datalabel);
JTextArea datatext = new JTextArea("");
datatext.setBounds(50,55,70,25);
painel.add(datatext);
JLabel templabel = new JLabel("Tempo de manutenção:");
templabel.setBounds(130,50,140,30);
painel.add(templabel);
JTextArea temptexto = new JTextArea("");
temptexto.setBounds(270,55,100,25);
painel.add(temptexto);
JLabel horalabel = new JLabel("Horário de deslocamento");
horalabel.setBounds(390,50,150,30);
painel.add(horalabel);
JTextArea horatext= new JTextArea("");
horatext.setBounds(550,55,200,25);
painel.add(horatext);
JLabel motivolabel = new JLabel("Motivo de Manutenção");
motivolabel.setBounds(10,90,170,30);
painel.add(motivolabel);
JTextArea motivotext = new JTextArea("");
motivotext.setLineWrap(true);
motivotext.setBounds(10,125,740,135);
painel.add(motivotext);
JLabel solulabel = new JLabel("Solução");
solulabel.setBounds(10,265,50,20);
painel.add(solulabel);
JTextArea solutext = new JTextArea("");
solutext.setLineWrap(true);
solutext.setBounds(10,290,740,135);
painel.add(solutext);
JLabel status = new JLabel("Status");
status.setBounds(10,430,40,20);
painel.add(status);
JTextArea statustext = new JTextArea("");
statustext.setBounds(50,435,60,25);
painel.add(statustext);
setDefaultCloseOperation(EXIT_ON_CLOSE);
getContentPane().add(painel);
}
public void salvar ()
{
try
{
File Arquivo;
JFileChooser SelecionaArquivo = new JFileChooser ("d:\\");
int Retorno = SelecionaArquivo.showSaveDialog(this);
if (Retorno == 0)
{
Arquivo = SelecionaArquivo.getSelectedFile();
FileWriter NovoArquivo = new FileWriter(Arquivo.getPath());
functexts = functext.getText();
manutexts = manutext.getText();
datatexts = datatext.getText();
temptextos = temptexto.getText();
horatexts = horatext.getText();
motivotexts =motivotext.getText();
solutexts = solutext.getText();
statustexts = statustext.getText();
a = (functexts + "\n " + manutexts + "\n " + datatexts + "\n " + temptextos + "\n " +
horatexts + "\n " + motivotexts + "\n " + solutexts + "\n " + statustexts);
NovoArquivo.write(a);
NovoArquivo.close();
}
}
catch (Exception e) {
JOptionPane.showMessageDialog(null,"ERROR");
}
}
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
}
}
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
public class Menus extends Tela implements ActionListener{
JMenuItem Novo;
JMenuItem ISalvar;
JMenuItem Limpar;
JMenuItem sobre;
JDialog Sobre;
public Menus(){
super();
// CRIA A BARRA DE MENUS
{
setLocationRelativeTo(null);
//CLASSE PARA CRIAR A BARRA
JMenuBar BarraMenu = new JMenuBar ();
setJMenuBar(BarraMenu);
//CLASSE PRA CRIAR OS MENUS
JMenu Arquivo = new JMenu (" Arquivo ");
BarraMenu.add(Arquivo);
ISalvar = new JMenuItem (" Salvar ");
Arquivo.add(ISalvar);
ISalvar.addActionListener(this);
//MENU AJUDA
JMenu ajuda = new JMenu (" Ajuda ");
BarraMenu.add(ajuda);
sobre = new JMenuItem (" Sobre F1");
ajuda.add(sobre);
sobre.addActionListener(this);
//ATALHO PARA ACESSO
Arquivo.setMnemonic('A');
ajuda.setMnemonic('J');}
}
public void actionPerformed(ActionEvent evt){
Object RecebeuEvento = evt.getSource();
if (RecebeuEvento == sobre)
{
Sobre S = new Sobre();
S.show();
S.setVisible(true);
}
if (RecebeuEvento == ISalvar){
salvar();
}
}
public static void main(String[] args)
{
Menus T = new Menus();
T.setVisible(true);
T.show();
}
}
O Erro que ocorre é o seguinte…
Se eu deixar a String ‘a’ receber as variáveis functexts , manutexts ,datatexts , temptextos , horatexts ,motivotexts , solutexts e statustexts ele simplesmente dá a Mensagem de ERROR na tela com um JOptionPane… E se eu colocar para salvar um JTextArea só também da o erro… Mas não consegui identificar ainda o porque…
Por favor, se puderem me ajudar…
Obrigado.