📄 asyncworker.java
字号:
/******************************************************************************
* The contents of this file are subject to the Compiere License Version 1.1
* ("License"); You may not use this file except in compliance with the License
* You may obtain a copy of the License at http://www.compiere.org/license.html
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
* the specific language governing rights and limitations under the License.
* The Original Code is Compiere ERP & CRM Business Solution
* The Initial Developer of the Original Code is Jorg Janke and ComPiere, Inc.
* Portions created by Jorg Janke are Copyright (C) 1999-2001 Jorg Janke, parts
* created by ComPiere are Copyright (C) ComPiere, Inc.; All Rights Reserved.
* Contributor(s): ______________________________________.
*****************************************************************************/
package org.compiere.util;
import javax.swing.*;
import org.compiere.process.*;
/**
* ASync Worker for starting methods in classes implementing ASyncProcess
*
* @author Jorg Janke
* @version $Id: ASyncWorker.java,v 1.4 2003/02/15 06:31:15 jjanke Exp $
*/
public class ASyncWorker extends Thread
{
/**
* Execute method Synchronously
* @param parent parent
* @param pi process info
* @return result
*/
public static ProcessInfo executeSync (ASyncProcess parent, ProcessInfo pi)
{
ASyncWorker worker = new ASyncWorker (parent, pi);
worker.start();
try
{
worker.join();
}
catch (InterruptedException e)
{
Log.error("ASyncWorker.executeSync", e);
}
return worker.getResult();
} // executeSync
/**
* Constructor
* @param parent Parent Process
* @param pi process info
*/
public ASyncWorker (ASyncProcess parent, ProcessInfo pi)
{
m_parent = parent;
m_pi = pi;
} // ASuncWorker
private ProcessInfo m_pi;
private ASyncProcess m_parent;
/**
* The Worker Method
*/
public void run()
{
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
m_parent.lockUI(m_pi);
}
});
//
m_parent.executeASync(m_pi);
//
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
m_parent.unlockUI (m_pi);
}
});
} // run
/**
* Get Result (usually not used as result is returned via unlockUI
* @return result
*/
public ProcessInfo getResult()
{
return m_pi;
} // getResult
} // ASyncWorker
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -