Eu estava com essa ideia na cabeça,que é até simples e utiliza métodos Swing,JTextField,JMenu(todos os componentes) e em uma classe separada RadioButtons e ButtonGroup e um FileWriter
Queria fazer isso para deixar as classes mais bem estruturadas e ter a certeza do entendimento total dos itens.
A ideia é simples,você escreve alguma coisa no JTextField e clica no JMenuItem,nisso fecha-se a janela atual e abre-se a outra janela da outra classe
Classe 1:
import java.awt.Color;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class Testes1 extends JFrame implements ActionListener{
JTextArea text ;
String tring;
Testes1(){
setSize(800,500);
Container c = getContentPane();
c.setBackground(Color.GREEN);
text = new JTextArea();
add(text);
JScrollPane barra = new JScrollPane(text);
add(barra);
JMenuBar bar = new JMenuBar();
setJMenuBar(bar);
JMenu Salvar = new JMenu("Salvar");
bar.add(Salvar);
JMenuItem SalvarAs = new JMenuItem("Salvar como:");
Salvar.add(SalvarAs);
setVisible(true);
setTitle("Barra de Rolagem");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setResizable(false);
setLocationRelativeTo(null);
setLayout(null);
SalvarAs.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
tring = JOptionPane.showInputDialog(null,"Nome do Arquivo:");
dispose();
Radio radio = new Radio();
}
});
}
public static void main(String[] args) {
new Testes1();
}
}
Blockquote
Classe 2:
public class Radio extends JFrame implements ActionListener {
Radio(){
setSize(500,500);
setVisible(true);
setTitle("SalvarComo");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setResizable(false);
JRadioButton radio = new JRadioButton("Desktop");
JRadioButton radio2 = new JRadioButton("C:\\");
radio.setBounds(100,100,100,100);
radio2.setBounds(100,180,100,100);
add(radio2);
add(radio);
ButtonGroup separador = new ButtonGroup();
separador.add(radio);
separador.add(radio2);
setLocationRelativeTo(null);
setLayout(null);
radio.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
Testes1 teste = new Testes1();
System.out.println(teste.text.getText());
try {
FileWriter file = new FileWriter("C:\\Users\\Tarik\\Desktop\\Text.txt");
file.write(teste.text.getText());
file.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
public static void main(String[] args) {
new Radio();
}
}
O problema é que para cada uma das classes preciso instanciar uma nova classe da outra,ou seja,
Classe 1,depois salvar instancia a classe 2
Classe 2,precisa dos itens da classe 1,instancia a classe 1
E assim o método de escrever do FileWriter não está dando certo,já testei de outras maneiras e todas deram exito,precisarei juntar as duas classes?