草庐IT

java - 什么是可用于 Swing 的数据绑定(bind)库?

可以与组件进行双向bean同步的东西,以及更花哨(高级)的东西? 最佳答案 还有JGoodiesBinding项目。作者有相当详细的presentation在上面。如果我没记错的话,它可以使用PropertyChangeListeners。我自己没有使用过它,但我工作场所的其他开发人员已经对它进行了试验,并获得了相当积极的印象。 关于java-什么是可用于Swing的数据绑定(bind)库?,我们在StackOverflow上找到一个类似的问题: https:

java - 将字段添加到 Clojure 中的代理类

我正在使用“代理”在ClojureGUI应用程序中扩展各种Swing类,通常使用如下代码:(def^JPanelmypanel(proxy[JPanel][](paintComponent[#^Graphicsg](.drawImagegbackground-image00nil))))这很好用,但我不知道如何向新扩展的类添加额外的字段,例如使背景图像成为一个可以随后更新的字段。这在Java中是非常简单和常见的做法。在Clojure中有实现此目的的好方法吗?或者是否有另一种首选方法可以达到相同的效果? 最佳答案 你可以这样使用:(d

java - 如何对所有文本组件使用 Ctrl+Z 和 Ctrl+Y?

事实上我知道如何使用CTRL+Z(撤消)和CTRL+Y(重做)与一个JTextField。但是我的Swing应用程序中有数百个文本组件,所以有没有办法将它应用于我的应用程序中的所有文本组件,所以当我单击CTRL+Z时任何文本组件都会撤消该字段中的最后一个条目?我已经尝试在EventQueue中实现它,但它没有用! 最佳答案 要使所有文本组件“可撤销”,您可以简单地使用自己的子类创建它们,例如:publicclassMyTextFieldextendsJTextField{publicMyTextField(){finalUndoMa

java - java.awt.Robot.waitForIdle() 是否等待事件被分派(dispatch)?

我正在使用java.awt.Robot对我的Swing应用程序进行集成测试,但我无法按正确的顺序运行我的操作。我如何告诉调用robot.mousePressed(...)的线程阻塞,直到Swing完成调度该事件?显然,robot.setAutoWaitForIdle(true)没有任何好处。这是我的演示。我期待“机器人完成!”消息总是在“Actionfinishedblocking.”之后出现,但它通常发生得太快了。importjava.awt.AWTException;importjava.awt.GraphicsConfiguration;importjava.awt.Graphi

java - 子组件中的 MouseMotionListener 禁用父组件中的 MouseListener

我需要帮助来理解Swing中的事件传播。我知道每个事件只由一个组件处理。因此,当我有一个面板outside和一些子面板inside并且我将mouseListeners添加到它们两个时,inside将被调用.这很好,这是预期的行为。但我不明白以下情况下的行为:inside注册一个MouseMotionListener,outside注册一个MouseListener。我希望inside消耗所有MouseMotionEvents和outside接收MouseEvents,因为inside上没有普通MouseEvents的监听器。但事实并非如此,inside以某种方式消耗了所有MouseEv

java - MouseAdapter 方法 - 为什么包含 `mouseDragged` 、 `mouseMoved` 和 `mouseWheelMoved` ?

我的目标是简化这段代码(一切正常):packagetest;importjava.awt.Window;importjava.awt.event.MouseEvent;importjava.awt.event.MouseListener;importjava.awt.event.MouseMotionListener;importjavax.swing.JWindow;publicclassAextendsJWindowimplementsMouseListener,MouseMotionListener{publicA(){addMouseListener(A.this);addMo

java - 画一个汽车轮子

我有一个非常简单的问题。我正在学习Java,并被分配画一辆汽车。我在一个扩展JPanel的类中完成了这一切,并在paintComponent()中完成了绘图。我意识到这是糟糕的面向对象编程,并决定尝试对某些部分进行子类化以纠正这种情况。我尝试创建一个画轮子的类,但没有成功。本质上,我希望能够做到这一点:MainClassextendsJPanelpaintComponent{WheelleftWheel=newWheel(0,50,100);this.add(leftWheel);}这应该在JPanel中的点(0,50)处绘制一个轮子,其直径为100。但是,我不确定我应该如何控制JPa

java - 多次执行SwingWorker

我希望能够多次使用SwingWorker子类。这可能吗?我已经阅读了java文档:SwingWorkerisonlydesignedtobeexecutedonce.ExecutingaSwingWorkermorethanoncewillnotresultininvokingthedoInBackgroundmethodtwice. 最佳答案 实现SwingWorker的类的一个实例确实只能运行一次。根据需要实例化并运行它们没有任何限制。 关于java-多次执行SwingWorker,

java - 使用 SWING 编写触摸屏应用程序

我想知道我的应用程序UI中的按钮应该监听哪些事件?要鼠标点击?那么按下和释放事件呢?通过触摸屏点击它们是否相同?谢谢,汤姆 最佳答案 大多数触摸屏只是简单地模拟鼠标,所以如果您的需求很简单,您不需要做任何特别的事情——JButtons仍然触发ActionEvents,组合框仍然触发ItemEvents,等等。如果你想做任何花哨的事情(多点触控,轻弹-滚动等)然后您可以使用常规鼠标事件(mouseClicked、mousePressed、mouseDragged等)并提供您自己的手势逻辑,或者查看thissimilarquestion

java - 如何在 - Graphics2D 中使像素完美的 Line2D

你好,我有JPanel,上面有一些Line2D对象。问题是当我画这条线时,它并没有像我希望的那样出现。线条不流畅,很难用文字解释,所以我贴了一张图片,缩放区域,如何让它们看起来更光滑而不是皱巴巴的。谢谢 最佳答案 问题很可能是您没有在图形上下文中打开抗锯齿功能。在绘制之前尝试以下行:graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);(当然,graphics是您的Graphics2D实例)。稍后当您发