Java 操作后返回到另一个类侦听器
我有两个班,A班和B班。A班有方法A1,B班有主方法和另一个方法B1 A类:Java 操作后返回到另一个类侦听器,java,swing,actionlistener,Java,Swing,Actionlistener,我有两个班,A班和B班。A班有方法A1,B班有主方法和另一个方法B1 A类: public static void A1() { B.main(null); do some other work....; } B类: public static void main(String[] args) { SwingUtilities.invokeLater(() -> { f = new JFrame();
public static void A1()
{
B.main(null);
do some other work....;
}
B类:
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setResizable(false);
f.add(new B1(), BorderLayout.CENTER);
f.pack();
f.setLocationRelativeTo(null);
f.setVisible(true);
});
}
public B1() {
List population = some list;
iterator = population.iterator();
next = iterator.next();
new Timer(17, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if(!iterator.hasNext())
{
**return to A1;**
}
else
{
do some work...;
}
}).start();
}
}
如何返回A1?我已经尝试退出jframe和system.exit,但似乎都停止了整个程序的执行。我需要程序返回A1,然后在B1类的“总体”列表中没有更多元素时从A1继续。如何完成?完成什么?system.exit可以看到这是您的代码,但它说明JVMI需要程序返回A1并从A1继续,当B1类的“填充”列表中没有更多元素时。那么为什么您有计时器呢?为什么你有一个ActionListener?
返回有什么问题代码>ActionListener用于执行动画。我试着返回;但它什么也不做。它不执行a1中的其余代码,这有点像是在问“我如何解决X”,而真正的解决方案是使用完全不同的方法Y。我想知道您是否真的想使用JDialog之类的模式对话框,或者干脆用CardLayout交换JPanel视图,但我很难猜出根本目标是什么。考虑告诉我们,而不是你如何解决它,因为我担心你的方法看起来是错误的。