如何将 JToggleButton 传递给另一个 class?
How to pass JToggleButton to another class?
我想将 pressed toggleButton
传递给另一个 class 但没有成功。
Activity一个
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[=13=](fillInDetails.java:14)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access0(Unknown Source)
at java.awt.EventQueue.run(Unknown Source)
at java.awt.EventQueue.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)
frame.getContentPane().add(new fillInDetails("","","","")
正如 ScriptKiddy 和您的错误所述,构造函数 fillInDetails(String, String, String, String)
未定义。
你的是fillInDetails(String title, String day, String time, JToggleButton buttonList)
我想将 pressed toggleButton
传递给另一个 class 但没有成功。
Activity一个
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[=13=](fillInDetails.java:14)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access0(Unknown Source)
at java.awt.EventQueue.run(Unknown Source)
at java.awt.EventQueue.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)
frame.getContentPane().add(new fillInDetails("","","","")
正如 ScriptKiddy 和您的错误所述,构造函数 fillInDetails(String, String, String, String)
未定义。
你的是fillInDetails(String title, String day, String time, JToggleButton buttonList)