saveFileNameBtn
ボタンを押したときにenterFileName
テキストフィールドから文字列fileName
を返したいとします。私はinline action listener method
のテキストを取得しようとしましたが、私はそれを返すときに変数が範囲外です。ボタンを押したときにテキストフィールドから文字列を返す方法は?
String getSaveFileName()
{
JFrame enterFileNameWin = new JFrame();
JPanel fileNameP = new JPanel();
enterFileNameWin.add(fileNameP);
JLabel fileNamePrompt = new JLabel("Enter a name for the file");
TextField enterFileName = new TextField(20);
JButton saveFileNameBtn = new JButton("Save");
fileNameP.add(fileNamePrompt);
fileNameP.add(enterFileName);
fileNameP.add(saveFileNameBtn);
enterFileNameWin.setVisible(true);
enterFileNameWin.setSize(300, 100);
String fileName = enterFileName.getText();
fileName = fileName + ".dat";
saveFileNameBtn.addActionListener((ActionListener) this);
return fileName;
}
fileNameが範囲外であり返されないため、これは機能しません。
String getSaveFileName()
{
JFrame enterFileNameWin = new JFrame();
JPanel fileNameP = new JPanel();
enterFileNameWin.add(fileNameP);
JLabel fileNamePrompt = new JLabel("Enter a name for the file");
TextField enterFileName = new TextField(20);
JButton saveFileNameBtn = new JButton("Save");
fileNameP.add(fileNamePrompt);
fileNameP.add(enterFileName);
fileNameP.add(saveFileNameBtn);
enterFileNameWin.setVisible(true);
enterFileNameWin.setSize(300, 100);
saveFileNameBtn.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
String fileName = enterFileName.getText();
fileName = fileName + ".dat";
}
});
return fileName;
}