當我按下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;
}