Note that there are some explanatory texts on larger screens.

plurals
  1. POAdd ActionListener in JPanel
    text
    copied!<p>I have a JPanel that has two Jbuttons. The purpose is that as soon as I push the first Jbutton ("Do you have predicted value ...."), another JPanel pop up and I can see other created Jbuttons. The problem is that when I run the code, I can see the first panel, but when I click on the button, nothing happens. It would be great if you can help me. </p> <pre><code>public class Main { private static Component frame; private static JFileChooser inputFile; private static JFileChooser outputFile; private static String fullpath; private static String fullpath1; private static String fullpath2; private static String fullpath3; public static void main(String args[]) throws FileNotFoundException, IOException { try { GridBagConstraints gbc = new GridBagConstraints(); gbc.insets = new Insets(5, 5, 5, 5); JButton nextPanel = new JButton("Do you have predicted values or residual errors?"); JButton inputButton = new JButton("Browse predictor dataset"); JPanel myPanel = new JPanel(new GridBagLayout()); //new panel gbc.gridwidth = 1; gbc.gridheight = 1; gbc.gridx = 0; gbc.gridy = 1; gbc.anchor = (0 == 0) ? GridBagConstraints.WEST : GridBagConstraints.EAST; gbc.fill = (0 == 0) ? GridBagConstraints.BOTH : GridBagConstraints.HORIZONTAL; gbc.weightx = (0 == 0) ? 0.1 : 0.1; gbc.weighty = 1.0; myPanel.add(nextPanel, gbc); final JPanel myPanel1 = new JPanel(new GridBagLayout()); myPanel.add(myPanel1); nextPanel.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ GridBagConstraints gbc1 = new GridBagConstraints(); gbc1.insets = new Insets(5, 5, 5, 5); JButton errorButton = new JButton("Browse residual error associated to each instance"); JButton predictedButton = new JButton("Browse predicted value associated to each instance"); gbc1.gridwidth = 1; gbc1.gridheight = 1; gbc1.gridx = 0; gbc1.gridy = 1; gbc1.anchor = (0 == 0) ? GridBagConstraints.WEST : GridBagConstraints.EAST; gbc1.fill = (0 == 0) ? GridBagConstraints.BOTH : GridBagConstraints.HORIZONTAL; gbc1.weightx = (0 == 0) ? 0.1 : 0.1; gbc1.weighty = 1.0; myPanel1.add(errorButton, gbc1); } }); gbc.gridwidth = 1; gbc.gridheight = 1; gbc.gridx = 0; gbc.gridy = 9; gbc.anchor = (0 == 0) ? GridBagConstraints.WEST : GridBagConstraints.EAST; gbc.fill = (0 == 0) ? GridBagConstraints.BOTH : GridBagConstraints.HORIZONTAL; gbc.weightx = (0 == 0) ? 0.1 : 0.1; gbc.weighty = 1.0; myPanel.add(inputButton, gbc); inputButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { JFileChooser inputFile = new JFileChooser(); inputFile.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); if (inputFile.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) { File file1 = inputFile.getSelectedFile(); String fullpathTemp = (String) file1.getAbsolutePath(); fullpath = fullpathTemp; } } }); int result = JOptionPane.showConfirmDialog(null, myPanel, "CPM Program", JOptionPane.OK_CANCEL_OPTION); } catch (Exception e) { System.err.println("Error: " + e.getMessage()); } finally { } } } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload