如何防止 Scanner 类的多个实例运行?有关于线程和锁等的信息,但我无法让它们在我的应用程序上工作。例如,我点击支付,然后出现一个 Scanner 实例,然后是创建支付的取消。然后当我点击支付时,扫描仪的数量会翻倍。这里有一个简短的总结:
@ PlaceOrder.java,我有:
btnPay.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e)
{
java.awt.EventQueue.invokeLater(new Runnable()
{
public void run()
{
PlaceOrder.this.setVisible(false);
new boundary.ScannerUI().setVisible(true);
PlaceOrder.this.dispose();
}
});
} });
@ Scanner.java,我有:
btnCancel.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
//ScannerUI.this.setVisible(false);
//ScannerUI.this.dispose();
new boundary.PlaceOrder().setVisible(false);
ScannerUI.this.dispose();
}
});