Ich möchte eine Zeichenfolge fileName
aus dem Textfeld enterFileName
zurückgeben, wenn ich die Taste saveFileNameBtn
drücke. Ich habe versucht, den Text in einem inline action listener method
zu bekommen, aber wenn ich das tue, ist die Variable außerhalb des Bereichs, wenn ich versuche, es zurückzugeben.Wie gebe ich einen String aus einem Textfeld zurück, wenn die Taste gedrückt wird?
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;
}
Dies funktioniert nicht, da Dateiname außerhalb des Gültigkeitsbereichs liegt und nicht zurückgegeben werden kann.
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;
}