我正在研究JavaFX应用程序,在我的场景中是显示在JavaFX中创建的密码提示,它带有两个选项的密码OK和Cancel.我已经返回了用户输入的密码.
我的密码对话框是 -
public static String showPasswordDialog(String title, String message, Stage parentStage, double w, double h) {
try {
Stage stage = new Stage();
PasswordDialogController controller = (PasswordDialogController) Utility.replaceScene("Password.fxml", stage);
passwordDialogController.init(stage, message, "/images/password.png");
if (parentStage != null) {
stage.initOwner(parentStage);
}
stage.initModality(Modality.WINDOW_MODAL);
stage.initStyle(StageStyle.UTILITY);
stage.setResizable(false);
stage.setWidth(w);
stage.setHeight(h);
stage.showAndWait();
return controller.getPassword();
} catch (Exception ex) {
return null;
}
Run Code Online (Sandbox Code Playgroud)
我的代码显示密码提示的位置如下,实际上这个提示将显示在其他UI上,所以我需要将其包含在内部Platform.runlater(),否则它会抛出Not on FX application thread.我需要这个密码提示才能显示,直到我得到正确的密码提示.如果我在runlater中显示密码,我怎样才能获得密码值.
还有其他更好的方法吗?
final String sPassword = null;
do {
Platform.runLater(new Runnable() { …Run Code Online (Sandbox Code Playgroud) 我创建了一个JavaFX应用程序,并使用Ant创建了它的本机包.当我尝试使用双击创建的包中的Jar启动应用程序时,它成功启动了我的应用程序.但是,当我尝试双击MyApplication.exe(比如说)时,它会抛出JavaFX Launcher Error"运行Application时出现异常".
我比较了两个jre,有很多缺少jar,exe,dll和我发现的一些属性文件.
我有这些环境设置 -
JAVA_HOME -- C:\Program Files\Java\jdk1.7.0_10
JREFX_HOME -- C:\Program Files\Oracle\JavaFX 2.2 Runtime
Path contains an entry of C:\Program Files\Java\jdk1.7.0_10\bin
Run Code Online (Sandbox Code Playgroud)
在我的build.xml中使用JAVA_HOME和JREFX_HOME来获取ant-javafx.jar和jfxrt.jar -
${env.JAVA_HOME}/lib/ant-javafx.jar
${env.JREFX_HOME}/lib/jfxrt.jar
Run Code Online (Sandbox Code Playgroud)
我创建包的步骤是 -
<target name="CreatingExe" depends="SignedJar">
<fx:deploy width="800" height="600" nativeBundles="all" outdir="${OutputPath}" outfile="${app.name}">
<fx:info title="${app.title}"/>
<fx:application name="${app.title}" mainClass="${main.class}"/>
<fx:resources>
<fx:fileset dir="${OutputPath}" includes="*.jar"/>
<fx:fileset dir="${WorkingFolder}/temp"/>
</fx:resources>
</fx:deploy>
</target>
Run Code Online (Sandbox Code Playgroud)
build.xml中还需要什么才能使应用程序正确启动exe?
谢谢
我有一个Java程序浏览本地文件系统的路径,为此我们使用了JFileChooser.如果文件夹名称是简单的英语在Windows,Mac OS X和Linux上正常工作.但是,如果我创建名为特殊字符的文件夹,例如 - ábcEóz,那么它仅在Windows和Linux上显示特殊字符名称,但在OS XI上无法看到那些特殊字符文件夹.它从文件夹列表中忽略它们.
我的程序基于java 7更新21. Mac OS X版本 - 10.8.2
我该如何解决这个问题?
谢谢
更新:我们正在使用JavaFX打包为Mac创建一个应用程序.当我们直接运行app.jar时,它会显示包含特殊字符的路径.但是如果我们尝试使用app启动应用程序,那么它会跳过那些特殊的char文件夹.
我想在Mac OS X上运行批处理文件(类似于Windows)来运行jar文件,搜索后我发现它运行批处理脚本.
我没有得到正确的链接,我可以从哪里获得帮助.我该如何创建呢?
我使用Ant为Mac OS X创建了Java FX软件包.它创建包含两个文件的包 - 1. MyApplication.app 2. MyApplication.dmg
我希望将这两个文件复制到其他文件夹中,所以我在build.xml中编写了命令 -
<copy todir="my_new_folder">
<fileset dir="old_folder\bundles"/>
</copy>
Run Code Online (Sandbox Code Playgroud)
它在"my_new_folder"处成功复制了两个文件.但是从"my_new_folder"运行.app并没有启动我的应用程序虽然它正在从"old_folder"正确启动.
在比较复制的应用程序时,我发现exec(Unix可执行文件)驻留在MacOS文件夹("显示包内容/内容/ MacOS")不保留,其类型在文档文件中发生了变化.
如何保存它对Unix可执行文件的类型,因为我只是执行简单的复制目录.
谢谢,Neelam Sharma
要共享Google云端存储对象,我们有此API请求 -
http://neelam-sharma.storage.googleapis.com/test.html
此前请求的终点是commondatastorage -
http://neelam-sharma.commondatastorage.googleapis.com/test.html
这两个请求都正常,您是否将所有请求从commondatastorage重定向到存储端点?
通过这种类型的URL访问对象的最佳方法是什么?这两个网址之间有什么区别?
我正在开发 Spring Boot 应用程序,其中包含用于检查功能的单元和集成测试用例。
Docker 与 Podman 一起运行并且工作正常。
我正在使用在我的计算机上配置的 POSTGRES 数据库服务器。但是在运行集成测试时,测试被忽略并出现错误:CIRCULAR REFERENCE:io.zonky.test.db.provider.ProviderException:准备数据库集群时出现意外错误;嵌套异常是 java.lang.IllegalStateException: 找不到有效的 Docker 环境。请查看日志并检查配置
详细的堆栈跟踪:
java.lang.IllegalStateException: Failed to load ApplicationContext
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:132)
at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:123)
at io.zonky.test.db.EmbeddedDatabaseTestExecutionListener.forEachDatabase(EmbeddedDatabaseTestExecutionListener.java:90)
at io.zonky.test.db.EmbeddedDatabaseTestExecutionListener.resetDatabases(EmbeddedDatabaseTestExecutionListener.java:58)
at io.zonky.test.db.EmbeddedDatabaseTestExecutionListener.beforeTestClass(EmbeddedDatabaseTestExecutionListener.java:34)
at org.springframework.test.context.TestContextManager.beforeTestClass(TestContextManager.java:213)
at org.springframework.test.context.junit.jupiter.SpringExtension.beforeAll(SpringExtension.java:77)
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeBeforeAllCallbacks$7(ClassBasedTestDescriptor.java:355)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeBeforeAllCallbacks(ClassBasedTestDescriptor.java:355)
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:189)
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:77)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:132)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) …Run Code Online (Sandbox Code Playgroud) 我们创建了一个JavaFX应用程序,其中包含许多用于显示数据的TableView。我们已经使用Ant构建了本地包,并且正在使用Proguard-4.8对 jar 进行模糊处理,并且 能够使用该经过混淆的jar成功创建本地bundle exe。当我们运行exe时,它成功启动了应用程序,一切正常,数据存在于tableView中,但是我们无法在TableView中看到数据。在exe的TableView截屏下方附有-
注意:我们可以使用创建的jar和exe来查看TableView中的数据,而不会混淆。

在build.xml中混淆jar的步骤
<target name="ObfuscatingProject" depends="apidocs">
<taskdef resource="proguard/ant/task.properties" classpath="${WorkingFolder}/proguard.jar" />
<proguard>
-dontusemixedcaseclassnames
-printmapping Project_Proguard.map
-dontshrink
-dontoptimize
-dontskipnonpubliclibraryclasses
-dontskipnonpubliclibraryclassmembers
-libraryjars "${java.home}/lib/rt.jar"
-libraryjars "${java.home}/lib/javaws.jar"
-libraryjars "${env.JAVA_HOME}/lib/ant-javafx.jar"
-libraryjars "${env.JAVA_HOME}/jre/lib/jfxrt.jar"
-libraryjars ${WorkingFolder}/libs/BareBonesBrowserLaunch.jar
-libraryjars ${WorkingFolder}/libs/activation.jar
-libraryjars ${WorkingFolder}/libs/log4j-1.2.16.jar
-libraryjars ${WorkingFolder}/libs/commons-codec-1.5.jar
-libraryjars ${WorkingFolder}/libs/commons-httpclient-3.1.jar
-libraryjars ${WorkingFolder}/libs/commons-logging-1.1.1.jar
-libraryjars ${WorkingFolder}/libs/commons-io-2.0.1.jar
-libraryjars ${WorkingFolder}/libs/xercesImpl-2.9.1.jar
-libraryjars ${WorkingFolder}/libs/javax.mail.jar
-libraryjars ${WorkingFolder}/libs/balloontip-1.2.1.jar
-libraryjars ${WorkingFolder}/libs/httpclient-4.1.1.jar
-libraryjars ${WorkingFolder}/libs/httpcore-4.1.3.jar
-libraryjars ${WorkingFolder}/libs/jcifs-1.3.16.jar
-libraryjars ${WorkingFolder}/libs/proguard-4.8.jar
-libraryjars ${WorkingFolder}/libs/xml-apis-1.3.04.jar
-libraryjars ${WorkingFolder}/libs/swingx-1.6.jar
-libraryjars ${WorkingFolder}/libs/derby.jar
-injars ${WorkingFolder}/${app.name}.jar
-injars ${WorkingFolder}/CustomJars/LicVerifier.jar(!META-INF/MANIFEST.MF)
-injars ${WorkingFolder}/CustomJars/LicUtility.jar(!META-INF/MANIFEST.MF)
-outjars ${WorkingFolder}/ObfuscatedProjectJar/ProjectObfuscated.jar
-ignorewarnings …Run Code Online (Sandbox Code Playgroud) 我已经为Java应用程序创建了app和dmg.我正在签署以及通过codesign验证dmg和app.
codesign -s"mycomapany name"myproduct.dmg/myproduct.app
使用以下命令验证两者 -
codesign -v myproduct.dmg/myproduct.app
在单独为app和dmg执行此命令时,它没有给出任何消息来确认它们是否已签名?
就像执行命令一样 - jarsigner -verify -certs myproduct.jar返回" jar验证".
如何验证dmg和app是否已正确签名.
谢谢
我们正在使用Oracle 11gWindows 8和10 OS环境中的数据库.我们需要转储(备份)数据库,然后将该转储文件恢复到另一个oracle数据库,所以我们正在尝试Recovery Manager (RMAN)它.我们发出以下命令:
Run Code Online (Sandbox Code Playgroud)C:\Users\Admin>rman Recovery Manager: Release 11.2.0.1.0 - Production on Tue Mar 8 17:24:43 2016 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. RMAN> connect target / connected to target database: MYEMP (DBID=42934358) RMAN> backup database; Starting backup at 08-MAR-16 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=133 device type=DISK channel ORA_DISK_1: starting full datafile backup set channel ORA_DISK_1: specifying datafile(s) in …
java ×5
javafx ×3
macos ×3
ant ×2
javafx-2 ×2
batch-file ×1
bundle ×1
codesign ×1
database ×1
deployment ×1
docker ×1
file-copying ×1
jfilechooser ×1
native ×1
oracle ×1
oracle11g ×1
postgresql ×1
proguard ×1
spring-boot ×1
tableview ×1