如何将一个事件从一个按钮连接到另一个按钮?

时间:2015-10-13 11:44:23

标签: java swing events button

我有一个脚本,它读取并上传图像,通过按下一个按钮来执行。我有另一个按钮,它应该拍摄这个图像并读取元数据。但是,我不知道,如何连接这些事件。所以,这是第一个事件的代码,通过第一个按钮。

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {         
    JFileChooser chooser = new JFileChooser();
    chooser.showDialog(null, "Open image");
    File file = chooser.getSelectedFile();
    String filename = file.getAbsolutePath();
    JTextField_path.setText(filename);

    ImageIcon icon= new ImageIcon(filename);
    jLabel_image.setIcon(icon);
}                                        

2 个答案:

答案 0 :(得分:1)

第一个按钮代码

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
..................................
//Set selected path in text field.
JTextField_path.setText(filename);
..................................
}

你有另一个按钮代码,如

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
..................................
//Now read the above selected image by getting path from text field
String path = JTextField_path.getText();
..................................
}

答案 1 :(得分:1)

  

我有一个脚本,它读取并上传图像,通过按下一个按钮来执行。我有另一个按钮,它应该拍摄此图像并读取元数据。但是,我不知道,如何连接这些事件。

你无法连接"事件,因为这不是事件驱动的编程如何工作,但你可以在该状态上改变对象的状态和基本行为。我会把图像作为班级的一个领域。一种解决方案是在第二个JButton的ActionListener中进行if测试以查看image字段是否为null,如果没有,则发布错误JOptionPane,如果它不为null,则提取信息出来了。第二个更好的解决方案是禁用第二个JButton,并在第一个ActionListener中获取图像数据,使用图像对象设置图像字段,然后通过调用按钮上的setEnabled(true)激活第二个JButton或它的行动。

  

所以,这是第一个事件的代码,按第一个按钮。

将来,请发布minimal example program,而不是这些小片段。这不是一个完整的代码转储,而是一个小的可编译和可运行的程序,它可以向我们展示您的问题。