【发布时间】:2015-04-11 07:47:22
【问题描述】:
抱歉这个新问题,我正在尝试为使用 JAVA 和 Swing 的简单应用程序创建一个 GUI,但我无法从外部获取在动作侦听器中生成的变量值。
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()。有什么建议么?提前致谢!
【问题讨论】:
-
你不应该使用
MouseListener,而是在JButton上使用ActionListener -
为什么会更好?
-
因为按钮可以通过其他方式触发,只需单击鼠标即可。根据 L&F,有时也可以通过按
Enter来触发按钮,或者如果有焦点则按空格键。如果设置了助记符,也可以和ALT+Mnemonic_char组合使用。 -
好的,谢谢你的建议,我试试看。
标签: java swing variables parameter-passing