0
Я хотел передать нажатой toggleButton
в другой класс, но не смог этого сделать.Как передать JToggleButton в другой класс?
активность
confirm.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
boolean buttonClicked = false;
for (int i = 0; i < 30; i++) {
if (ButtonList[i].isSelected()) { // if toggleButton is clicked
buttonClicked = true;
fillInDetails details= new fillInDetails(title,day,time,ButtonList[i]); // pass toggleButton to another class
details.setVisible(true);
setVisible(false);
frame.dispose();
}
}
if (!buttonClicked) {
JFrame parent= new JFrame();
JOptionPane.showMessageDialog(parent, "You haven't select a seat");
}
}
});
fillInDetails
public class fillInDetails extends JPanel{
static JFrame frame = new JFrame("Fill in Details");
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
createAndShowGui();
});
}
static void createAndShowGui() {
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(new fillInDetails("","","","")); //Error here
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
public fillInDetails(String title, String day, String time, JToggleButton buttonList) {
}
}
Ошибка
Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved compilation problem:
The constructor fillInDetails(String, String, String, String) is undefined
at gui.fillInDetails.createAndShowGui(fillInDetails.java:20)
at gui.fillInDetails.lambda$0(fillInDetails.java:14)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
"Конструктор fillInDetails (String, String, String, String) не определено" Вы должны пройти 3 строк и JToggleButton, а не 4 строк. Я предлагаю вам просто передать null или пустой JToggleButton и выполнить нулевую проверку – ScriptKiddy
null/new JToggleButton(); – ScriptKiddy