多个按钮和多个侦听器执行Java Swing的各种操作
如何让多个按钮和多个侦听器在JavaSwing中执行各种操作。下面是一个例子,我可以重定向到AddStudent类,但是重定向到Add成人类的按钮不会重定向到Add成人类多个按钮和多个侦听器执行Java Swing的各种操作,java,swing,event-listener,Java,Swing,Event Listener,如何让多个按钮和多个侦听器在JavaSwing中执行各种操作。下面是一个例子,我可以重定向到AddStudent类,但是重定向到Add成人类的按钮不会重定向到Add成人类 private class ButtonHandler implements ActionListener { // handle button event public void actionPerformed( ActionEvent Student ) { if ( Student.getSource()
private class ButtonHandler implements ActionListener {
// handle button event
public void actionPerformed( ActionEvent Student ) {
if ( Student.getSource() == button1 ){
try {
AddStudent newmember = new AddStudent();
newmember.setVisible( true );
} catch ( Exception e1 ) {
e1.printStackTrace();
}
}
}
public void actionPerformed( ActionEvent Adult ) {
if ( Adult.getSource() == button2 ){
try {
AddAdult newmember = new AddAdult();
newmember.setVisible( true );
} catch ( Exception e1 ) {
e1.printStackTrace();
}
}
}
感谢您提前提供的帮助。您可以在每个
JButton
上附加一个ActionListener
,如中所述
所以你最终会得到这样的结果
JButton firstButton = ...;
firstButton.addActionListener( myFirstButtonActionListener );
JButton secondButton = ...;
secondButton.addActionListener( mySecondActionListener );
//add them to a UI
contentPane.add( firstButton );
contentPane.add( secondButton );
有关您的程序和按钮的更多具体问题,您需要向我们提供更多当前问题中可用的代码(换句话说,发布一个)您可以在每个
JButton
上附加一个ActionListener
,如中所述
所以你最终会得到这样的结果
JButton firstButton = ...;
firstButton.addActionListener( myFirstButtonActionListener );
JButton secondButton = ...;
secondButton.addActionListener( mySecondActionListener );
//add them to a UI
contentPane.add( firstButton );
contentPane.add( secondButton );
有关您的程序和按钮的更多具体问题,您需要向我们提供更多代码,这些代码目前可在您的问题中找到(换句话说,发布一个)如果您希望有多个处理程序,您可以定义多个类,每个类实现ActionListener接口,并实现相应的逻辑,并将其附加到相应的按钮。
如果要对所有按钮使用单个处理程序,可以使用ActionEvent的getActionCommand()(比使用getSource()更清晰)方法检查按钮文本,并使用If-else实现相应的处理逻辑。如果要有多个处理程序,您可以定义多个类,每个类实现ActionListener接口,并实现相应的逻辑,并将其附加到相应的按钮。
如果要对所有按钮使用单个处理程序,可以使用ActionEvent的getActionCommand()(比使用getSource()更清晰)方法来检查按钮文本,并使用If-else相应地实现处理逻辑。还有三种方法 1) 使用 2) 使用内部ActionListener 代码
myButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent ae) {
//some stuff
}
});
3) 使用你还有三种方法 1) 使用 2) 使用内部ActionListener 代码
myButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent ae) {
//some stuff
}
});
3) 你说的“行不通”是什么意思?另外,发布的代码不会编译,因为第二个方法不在类中。你说的“不会工作”是什么意思?另外,发布的代码不会编译,因为第二个方法不在类中@罗宾汉克斯,这就是我要找的例子@罗宾