很抱歉这个新问题,我试图使用JAVA和Swing为一个简单的应用程序创建一个GUI,但是我试图从外部获取一个动作监听器中生成的变量值。 / p>
public geRes()
{
setTitle("geRes");
setBounds(100, 100, 272, 308);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
getContentPane().setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
JButton btnNewButton = new JButton("igen");
btnNewButton.addMouseListener(new MouseAdapter()
{
@Override
public void mouseClicked(MouseEvent e)
{
JFileChooser fc = new JFileChooser();
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
fc.showOpenDialog(fc.getParent());
fc.getName();
}
});
btnNewButton.setToolTipText("Selec");
getContentPane().add(btnNewButton);
JButton btnCivos = new JButton("smbinar");
btnCivos.addMouseListener(new MouseAdapter()
{
@Override
public void mouseClicked(MouseEvent e)
{
File dir = new File(); // I want to use fc.getName() as argument there
我想在第二个方法中,在另一个按钮内访问fc.getName()。有什么建议?提前谢谢!
答案 0 :(得分:4)
将您的JFileChooser
作为全局变量,以便您可以从其他方法调用它。
在方法
之外初始化它JFileChooser fc;
你可以把它放在这里:
public geRes()
{
JFileChooser fc;
setTitle("geRes");
...
然后当你使用JFileChooser时,它看起来像这样
fc = new JFileChooser();
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
...
然后,你现在可以从另一种方法调用JFileChooser。
JButton btnCivos = new JButton("smbinar");
btnCivos.addMouseListener(new MouseAdapter()
{
@Override
public void mouseClicked(MouseEvent e)
{
//you can now get the value of fc.getName()