JTextField.setText()で取得した文字列を格納する変数を用意します。
もちろん、変数はインスタンス変数として用意しなければ、他のメソッド(俗にいう関数)で使えません。
以下、サンプルです。
Java
1public class SwingSample extends JFrame {
2 private JTextField tfName = new JTextField();
3 private String name;
4
5 public static void main(String[] args){
6 final SwingSample s = new SwingSample();
7 s.setTitle("SwingSample");
8 s.setSize(400, 400);
9 s.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
10 SwingUtilities.invokeLater(new Runnable(){
11 @Override public void run(){
12 s.setVisible(true);
13 }
14 });
15 }
16
17 SwingSample(){
18 final JButton btn1 = new JButton("Save");
19 btn1.addActionListener(new ActionListener(){
20 @Override public void actionPerformed(ActionEvent e){
21 name = tfName.getText();
22 tfName.setText("");
23 }
24 });
25 final JButton btn2 = new JButton("Restore");
26 btn2.addActionListener(new ActionListener(){
27 @Override public void actionPerformed(ActionEvent e){
28 tfName.setText(name);
29 }
30 });
31
32 final JPanel keyPanel = new JPanel();
33 keyPanel.setLayout(new GridLayout(3, 1));
34 keyPanel.add(tfName);
35 keyPanel.add(btn1);
36 keyPanel.add(btn2);
37 getContentPane().add(keyPanel);
38 }
39}
SwingSampleクラスをJPanelの派生クラスに変更し、Java 8の環境であれば、次のようなコードになります。
Java
1public class SwingSample extends JPanel {
2 private JTextField tfName = new JTextField();
3 private String name;
4
5 public static void main(String[] args){
6 final JFrame f = new JFrame("SwingSample");
7 f.getContentPane().add(new SwingSample());
8 f.setSize(400, 400);
9 f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
10 SwingUtilities.invokeLater(()->f.setVisible(true));
11 }
12
13 SwingSample(){
14 final JButton btn1 = new JButton("Save");
15 final JButton btn2 = new JButton("Restore");
16
17 setLayout(new GridLayout(3, 1));
18 add(tfName);
19 add(btn1);
20 add(btn2);
21
22 btn1.addActionListener((e)->{
23 name = tfName.getText();
24 tfName.setText("");
25 });
26
27 btn2.addActionListener((e)->tfName.setText(name));
28 }
29}