我正在尝试获取Adempiere中的确认对话框。我用过
JOptionPane.showConfirmDialog(null, msg,"", JOptionPane.YES_NO_OPTION);
or
ADialog.ask(WindowNo, null,msg)
instead of
mTab.fireDataStatusEEvent ("NoQtyAvailable", "0", true); 我得到了弹出窗口(是的,/NO ),并且在Swing中工作得很好,但它不能与WEBUI一起工作。
我的代码:
if (product.isStocked())
{
if (available == null)
available = Env.ZERO;
if (available.signum() == 0){
//mTab.fireDataStatusEEvent ("NoQtyAvailable", "0", false);
int response = JOptionPane.showConfirmDialog(null, msg,
"", JOptionPane.YES_NO_OPTION);
if (response == JOptionPane.YES_OPTION)
mTab.setValue("BC_Qty", mTab.getValue("QtyEntered"));
else
mTab.setValue("BC_Qty", Env.ZERO);
}
}Buid错误:
Buildfile: E:\Adempiere360\svn\base\build.xml
init:
[echo] =========== Build Base
makedir:
compile:
[javac] E:\Adempiere360\svn\base\build.xml:56: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
[javac] Compiling 1 source file to E:\Adempiere360\svn\base\build
[javac]
E:\Adempiere360\svn\base\src\org\compiere\model\CalloutOrder.java:27: package org.adempiere.webui.window does not exist
[javac] import org.adempiere.webui.window.FDialog;
[javac] ^
[javac]
E:\Adempiere360\svn\base\src\org\compiere\model\CalloutOrder.java:827: warning: [deprecation] getQtyAvailable(int,int,int,java.lang.String) in org.compiere.model.MStorage has been deprecated
[javac] BigDecimal available = MStorage.getQtyAvailable
[javac] ^
[javac]
E:\Adempiere360\svn\base\src\org\compiere\model\CalloutOrder.java:833: cannot find symbol
[javac] symbol : variable FDialog
[javac] location: class org.compiere.model.CalloutOrder
[javac] if(FDialog.ask(WindowNo, null, msg))
[javac] ^
[javac]
E:\Adempiere360\svn\base\src\org\compiere\model\CalloutOrder.java:1309: warning: [deprecation] getQtyAvailable(int,int,int,java.lang.String) in org.compiere.model.MStorage has been deprecated
[javac] BigDecimal available = MStorage.getQtyAvailable
[javac] ^
[javac] 2 errors
[javac] 2 warnings
BUILD FAILED
E:\Adempiere360\svn\base\build.xml:56: Compile failed; see the compiler error output for details.啊,建议将不胜感激。
发布于 2014-06-04 13:51:36
ADempiere将按以下顺序构建代码
tools/build.xml
base/build.xml
extend/build.xml
client/build.xml
JasperReports/build.xml
serverRoot/build.xml
serverApps/build.xml
webStore/build.xml
webCM/build.xml
sqlj/build.xml
posterita/posterita/build.xml
zkwebui/build.xml
install/build.xml'FDialog‘类在'zkwebui’文件夹中定义。您已经在CalloutOrder.java(导入org.adempiere.webui.window.FDialog;)中使用了FDialog类。所以它(FDialog)在构建'Base‘文件夹时是不可见的。
只需从CalloutOrder.java类中删除import org.adempiere.webui.window.FDialog; statemenet即可。它将优化您的构建,并在webUI中正常工作。
您可以在here中找到构建顺序的详细信息
发布于 2014-05-13 16:23:55
我已经修改了你的情况。只需将您现有的条件替换为以下条件:
if (product.isStocked())
{
if (available == null) {
available = Env.ZERO;
}
if (available.signum() == 0) {
//mTab.fireDataStatusEEvent ("NoQtyAvailable", "0", false);
boolean response = org.adempiere.webui.window.FDialog.ask(1,
null,"message1","Message 2");
if (response) {
mTab.setValue("BC_Qty", mTab.getValue("QtyEntered"));
} else {
mTab.setValue("BC_Qty", Env.ZERO);
}
}
}https://stackoverflow.com/questions/23577808
复制相似问题