Tag: java

JOptionPane – 检查用户input,并防止closures,直到条件满足

请有人告诉我是否有一个方便的方法来阻止JOptionPaneclosures后单击确定,除非满足用户input字段的条件? 还是我别无select,只能使用JFrame ? 我的validation逻辑到目前为止。 似乎不工作,因为button是一次点击某种原因… final JDialog dialog3 = new JDialog(OmniGUI.getFrame(), "Create new Node – id:" + newNodeID); dialog3.setContentPane(theOPane); dialog3.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE); theOPane.addPropertyChangeListener(new PropertyChangeListener(){ public void propertyChange(PropertyChangeEvent e) { if(e.getSource() == theOPane){ String val = (String) ((JOptionPane) e.getSource()).getValue(); if(val=="Create"){ System.out.println("Checking content"); if(!valid){ System.out.println("closing the window"); dialog3.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); dialog3.removeAll(); dialog3.dispatchEvent(new WindowEvent(dialog3, WindowEvent.WINDOW_CLOSING)); } } } } }); dialog3.setLocation(p); dialog3.pack(); […]

用java 8 lambdaexpression式打印错误信息

我想使用一个静态方法作为setter助手来捕获exception,并打印有关失败操作的debugging信息。 我不想只有例外的细节。 我想显示哪些属性正在设置,以便详细帮助快速debugging问题。 我正在使用Java 8。 我应该如何提供或检测设置的财产? 我希望在示例中删除“名称”string,并得到相同的结果。 我知道我不能使用所提供的setter方法的reflection来转换为lambdaexpression式,然后转换为BiConsumer。 我得到这个,但需要提供属性名称。 /** setter helper method **/ private static <E, V> void set(E o, BiConsumer<E, V> setter, Supplier<V> valueSupplier, String propertyName) { try { setter.accept(o, valueSupplier.get()); } catch (RuntimeException e) { throw new RuntimeException("Failed to set the value of " + propertyName, e); } } 例: Person p […]

PDF库来渲染Android中的PDF文件

我需要一个PDF库对于Android可以读取PDF文件和访问来编辑和更改其内容。 我已经使用了一些图书馆: iText PDF库( http://itextpdf.com/ ) PDF查看器 但是在图书馆里只有文本的话第一个有用是有用的。 它不会拍摄图像,然后将PDF转换为图像,以至于无法编辑。

以最佳性能将图像写入servlet响应

我正在用最好的性能写一个servlet响应的图像。 任何build议,做法,经验?

Java:从一个文件读取整数到一个数组

File fil = new File("Tall.txt"); FileReader inputFil = new FileReader(fil); BufferedReader in = new BufferedReader(inputFil); int [] tall = new int [100]; String s =in.readLine(); while(s!=null) { int i = 0; tall[i] = Integer.parseInt(s); //this is line 19 System.out.println(tall[i]); s = in.readLine(); } in.close(); 我正在尝试使用“Tall.txt”文件将其中包含的整数写入名为“tall”的数组中。 它在一定程度上做到了这一点,但是当我运行它时,会抛出以下exception(: Exception in thread "main" java.lang.NumberFormatException: For input string: "" […]

java.lang.UnsatisfiedLinkError:java.library.path中没有rxtxSerial

我正在尝试使用64位Windows 7和Eclipse的64位rxtx串行通信库(从cloudhopper下载)。 我收到消息: java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path 。 这些DLL在/jre/lib目录以及Windows/System32 。 RXTXcomm.jar位于eclipse的构buildpath以及jre/lib/ext目录中。 我在后台运行进程监视器,看到RXTXcomm.jar , rxtxSerial.dll和rxtxParallel.dll都被find​​并已被打开,所以我不清楚为什么会出现这个问题。 有什么build议么。

我如何自定义JFrame上的标题栏?

我想在我的Java Swing桌面应用程序中有一个定制的标题栏。 什么是最好的方法来做到这一点? 我可以在我的JFrame的构造函数中使用下面的代码来使用“Swing-title bar”: this.setUndecorated(true); this.getRootPane().setWindowDecorationStyle(JRootPane.FRAME); 但是,我如何定制它? 是否有任何UI委托 ,我可以重写,或者我必须从头开始实现我自己的标题栏? 我想要Lawson Smart Office之类的东西:

如何从Java的HTTP头中检索IP地址

我很好奇,如果有任何图书馆已经处理了这种东西,或者我必须再次自己做。 所以,我想从我的服务器上的访问者HTTP头请求中获取IP地址字段,并在Java中完成整个事情? 任何帮助将是很好的。 提前致谢。

如何从一个端口为Jetty提供https和http?

(我知道这是一个重复的问题,但是原来的海报却错误地提出了这个问题,我并不是暗示我是在为了正确的理由而提出这个问题,但是让我们来看看)。 我们有一个运行在非标准端口号上的Web服务。 即使用户似乎能够记住端口号,偶尔也会错误地inputhttp:而不是https:。 有人问我们是否可以在该端口上提供HTTP,然后将它们redirect到同一端口上的HTTPS。 这听起来是邪恶的…我喜欢可用性,但它也许应该是浏览器的工作,这样做? 我看到的一个解决scheme是“在docker前写你自己的代理”。 这个解决scheme是可行的,但是我不认为它会工作得很好,因为我不确定我能写一个和Jetty本身一样高效的代理。 另外,即使代理本身是有效的,所有的数据仍然需要额外的一跳,这保证了stream量减慢。 有没有比这更好的方法? 也许Jetty本身有一个地方,协议检测逻辑可以被楔入,这将允许利用他们的速度,同时也删除代理将引入的额外跳跃。

使用Java解密openssl aes-256-cbc使用提供的密钥和iv

我一直在寻找一个Java代码示例来执行以下操作,但不成功。 我正在为我的特定情况寻找解决scheme。 一个密钥和IV已经使用“testtest”生成密码: openssl enc -aes-256-cbc -P salt=2855243412E30BD7 key=E4A38479A2349177EAE6038A018483318350E7F5430BDC8F82F1974715CB54E5 iv=629E2E1500B6BA687A385D410D5B08E3 使用openssl命令在Linux上encryption了一个文件(名为text): openssl enc -aes-256-cbc -K E4A38479A2349177EAE6038A018483318350E7F5430BDC8F82F1974715CB54E5 -iv 629E2E1500B6BA687A385D410D5B08E3 -e -in text -out text_ENCRYPTED 它可以使用以下方式成功解密: openssl enc -aes-256-cbc -K E4A38479A2349177EAE6038A018483318350E7F5430BDC8F82F1974715CB54E5 -iv 629E2E1500B6BA687A385D410D5B08E3 -d -in text_ENCRYPTED -out text_DECRYPTED 我可以访问encryption文件,盐,密钥和iv。 我不相信我会收到密码。 此外,我已经安装了无限强度JCE政策。 到目前为止,我只find另一个Java程序执行encryption并生成这些参数的示例。 对于我的情况,我必须使用给予我的salt,key和iv值来解密一个文件。 这可能与Java? 请记住我受此configuration的约束,非常感谢您的时间和帮助。