草庐IT

java - 如何从 SWT 与 Javascript 函数对话

我的HTML文件有一个javascript函数xxx_return(),它将返回一个字符串值。有什么办法可以从Java层获取这个值吗?我正在使用SWTshell来显示此html。SWT是否具有获取脚本函数返回值的功能?编辑:我的代码如下:包测试.html.simulation;importorg.eclipse.swt.SWT;importorg.eclipse.swt.SWTException;importorg.eclipse.swt.browser.Browser;importorg.eclipse.swt.widgets.Display;importorg.eclipse.sw

Java 在 swing/awt 中制作一个 'dot/pixel'

我想知道如何在我的JFrame上的某个x,y坐标处制作一个点/像素。有人知道一些简单的代码吗? 最佳答案 我创建了一个小示例程序:publicclassTestextendsJFrame{publicTest(){this.setPreferredSize(newDimension(400,400));this.pack();this.setVisible(true);this.setDefaultCloseOperation(EXIT_ON_CLOSE);}@Overridepublicvoidpaint(Graphicsg){s

java - 组织.eclipse.swt.SWTException : "Widget is disposed" from table refresh

该应用程序是一个基于Eclipse3.6的RCP(因此jface版本3.5.2)在Windows7上运行。我有一个包含TableViewer并对其调用refresh()的自定义View类。有时,但不是经常,它会导致下面的堆栈跟踪。它是从UI线程中调用的。我怀疑问题出在将支持列表更改为表的其他代码,但执行此操作的任何代码也在syncExec或asyncExec方法中运行,所以我不明白它如何成为更改之间的同步问题表格项目和查看器的刷新。有什么想法可以防止这种情况发生吗?!ENTRYorg.eclipse.jface422010-10-2009:22:06.140!MESSAGEProble

java - SWT 事件传播

我正在尝试检测包含许多其他复合Material的复合控件上的点击事件。我试过:topComposite.addMouseListener(newMouseListener(){...@OverridepublicvoidmouseUp(MouseEventarg0){logger.info("HERE");});});但是事件永远不会触发。我假设当一个鼠标事件发生在一个child身上时,它会向上传播链,但那并没有发生。我该怎么做? 最佳答案 在SWT中,一般规则是事件不传播。主要的异常(exception)是遍历事件的传播——这描述

Java:将 java.awt.Color 转换为 javafx.scene.paint.Color

如何将一个转换为另一个?我想到了一种通过rgb字符串的方法,但这种情况下alpha层被忽略了。所以问题-如何使用alpha将一个转换为另一个? 最佳答案 从awtColor对象获取每个组件并使用javafx.scene.paint.Color.rgb(...)静态方法。请注意,awtColor有一个getAlpha()方法,它以0-255范围内的int形式返回alpha,而javafx.scene.paint.Color.rgb(...)期望alpha值为0.0-1.0范围内的double:java.awt.ColorawtColo

Java.awt.SystemTray 不能正确显示托盘图标

我的代码片段如下:SystemTraysystray=SystemTray.getSystemTray();try{TrayIcontrayicon=newTrayIcon(newImageIO.read(newFile("icon.png")),"Iamadescription");}catch(IOExceptione){e.printStackTrace();}一切运行顺利,但系统托盘中显示的图像被截断了。除非我缩小到16x16(从40x40),否则只显示左上部分。icon.png是正确加载的图像文件(不为空)。我以为系统托盘图标文件可以是40px?有人可以向我解释这里的问题是什

java - 我所有的 java 应用程序现在都抛出 java.awt.headlessexception

几天前,我有几个使用Swing库的Java应用程序,特别是JFrame。他们都工作得很好,现在他们都抛出这个异常:java.awt.headlessexception我不知道发生了什么变化,也许我的Java版本被意外更新了。感谢您提供的任何帮助。编辑:这是给我异常的一小段代码。importjavax.swing.JFrame;publicclasstest{publicstaticJFrameframe;publicstaticvoidmain(String[]args){frame=newJFrame("test");frame.setVisible(true);frame.setL

java - 为什么要设置 "sun.awt.exception.handler"属性呢?

下面是一些代码,用于捕获在事件调度线程上抛出的异常:packagecom.ndh.swingjunk;importjava.awt.EventQueue;importjavax.swing.JFrame;publicclassEntryPoint{publicstaticvoidmain(String[]args){Thread.setDefaultUncaughtExceptionHandler(newMyExceptionHandler());//System.setProperty("sun.awt.exception.handler",MyExceptionHandler.cl

java - 确定 SWT 中的焦点

我知道我可以通过在其上使用isFocusControl()来查看特定小部件是否在SWT中具有控制权。但是,当我期望的小部件没有焦点时,我如何确定是什么(换句话说,是什么夺走了焦点)?我能够使用遍历监听器处理键盘事件,但使用鼠标单击更改焦点似乎让我的应用程序感到困惑。我似乎无法弄清楚如何找到从上一个项目中获得焦点的项目。如果鼠标事件改变了焦点,我也遇到了从FocusLost监听器中可靠地将焦点设置到另一个小部件的问题。有什么建议吗? 最佳答案 它是:Display.getFocusControl();

java - 在 swt 中提交的多行文本上使用 Tab 键?

如何防止多行文本字段“窃取”Tab键按下?我的意思是:我想使用TAB在窗口的元素之间循环,但是当我输入多行文本时,TAB变成了一个“普通”键,只是将制表符插入到我正在输入的文本中。我该如何处理?我应该编写一些自定义监听器,还是可以使用SWT常量更改组件的行为? 最佳答案 SWT定义了一种使用TraverseListener类实现这种行为的机制。以下代码段(摘自here)显示了如何:Texttext1=newText(shell,SWT.MULTI|SWT.WRAP);text1.setBounds(10,10,150,50);tex