Tag: 摆动

放大Java Swing应用程序

我正在寻找放大Java Swing应用程序的方法。 这意味着我想通过给定的因子调整给定JPanel中的所有组件的大小,就好像我将截取UI并仅应用“图像缩放”操作一样。 必须调整字体大小以及复选框,文本框,光标等的大小。 可以通过将变换应用于图形对象来缩放组件: protected Graphics getComponentGraphics(Graphics g) { Graphics2D g2d=(Graphics2D)g; g2d.scale(2, 2); return super.getComponentGraphics(g2d); } 只要您不关心自我更新组件,这就有效。 如果您的应用程序中有一个文本框,则此方法将停止工作,因为文本框每秒更新一次以显示(闪烁)光标。 并且由于此时它不使用修改的图形对象,因此组件出现在旧位置。 是否有可能永久更改组件图形对象? 鼠标单击事件处理程序也存在问题。 另一种可能性是将JPanel的所有子组件(setPreferredSize)调整为新大小。 这对复选框不起作用,因为复选框的显示图片不会改变其大小。 我还想过编写自己的布局管理器,但我认为这不会起作用,因为布局管理器只改变了对象的位置(和大小),但是无法放大复选框(参见上一段)。 或者我错了这个假设? 您是否有任何想法如何在不编程自定义组件的情况下实现可缩放的Swing GUI? 我寻找可旋转的用户界面,因为问题似乎很熟悉,但我也没有找到任何令人满意的解决方案来解决这个问题。 谢谢你的帮助,克里斯

如何在Java中绘制一个实心圆?

我有一个带网格布局的JPanel。 在网格的“单元格”中,我可以放置不同的元素(例如JButtons)。 这没有问题。 但是现在我想在一些细胞中加上一个圆圈。 我还想将ActionListener与这些圈子联系起来。 更详细地说,如果我单击圆圈,它将从当前单元格中消失并显示在另一个圆圈中。 我怎么能用Java做呢? 我正在使用Swing。

JAVA Swing GUI组件如何实现RTL视图?

如何从NetBeans桌面应用程序中为阿拉伯语创建Java Swing GUI组件[从右到左]?

我的GUI被冻结了

我有一些我无法理解的东西:我的Swing GUI包含一个“播放”和“暂停”按钮。 我还有一个定义’ON’和’OFF’状态的静态变量。 (主程序生成GUI)。 通过克服’play’,我将静态变量的状态更改为’ON’,并在一个也修改GUI的线程中启动一个耗时的过程。 只要静态变量是’ON’循环在同一个进程中。 单击“暂停”会将静态变量更改为OFF。 但是通过点击“播放”,GUI就会冻结,因此: GUI不会更新 使用“暂停”按钮无法“暂停”此过程。 我听说过EDT和SwingWorker,但是我有一个简单的方法可以做到这一点。 谢谢你的帮助,原谅我的英语不好……

Java:在图像上创建阴影效果

我正在尝试在图像上创建阴影效果(使用java)。 我已经看到了多个相关问题,我已经实现了几个建议的解决方案。 不幸的是,我总是遇到同样的问题:阴影效果以灰色(即阴影颜色)重新绘制整个图像 – 因此原始图像不再可见。 我测试的代码示例(基于JIDE免费库): ShadowFactory sf = new ShadowFactory(2, 0.5f, Color.black); ImageIO.write(sf.createShadow(ImageIO.read(new File(“c:\\out2.png”))), “png”, new File(“c:\\out3.png”)); 不需要说我用多个源文件(out2.png)测试了这个。 我很无能为力:任何暗示/帮助都会受到高度赞赏。

为什么SwingWorker意外停止?

我想用SwingWorker尝试一些想法,因为我没有太多使用它。 相反,我遇到了一个问题,我无法弄清楚出了什么问题。 这是一个简短的SSCCE来演示这个问题(我知道这里的人就像SSCCEs): import javax.swing.SwingUtilities; import javax.swing.SwingWorker; public class SwingWorkerTest { public static void main (String[] args) { SwingUtilities.invokeLater (new Runnable () { @Override public void run () { new MySwingWorker (500).execute (); new MySwingWorker (900).execute (); new MySwingWorker (1200).execute (); } }); } } class MySwingWorker extends SwingWorker { private int ms; public MySwingWorker […]

如何使用多个class级的swing

我只想知道关于挥杆的一些事情1)如何在挥杆中使用MVC模型? 2)说我有一个主窗口,我需要将菜单作为单独的类,所有组件作为单独的类和.which将是集成它的最佳方法

Java:如何从文件中获取缩略图

在Windows资源管理器(和linux gnome)中为每个文件显示缩略图或图标 。 与EXE,图像,video,txt文件,ini文件,Word文档和其他许多文件类型一样。 现在是我的问题:有没有办法通过文件获得(最好是大)图标。 就像是: public static BufferedImage getThumbnail(File file) {…} 谢谢

涉及Swing和AWT-EventQueue的无响应线程

我有一个没有响应的应用程序,似乎陷入僵局或类似僵局。 请参阅下面的两个主题。 请注意, My-Thread@101c线程阻止AWT-EventQueue-0@301 。 但是, My-Thread刚刚调用了java.awt.EventQueue.invokeAndWait() 。 所以AWT-EventQueue-0阻止My-Thread (我相信)。 My-Thread@101c, priority=5, in group ‘main’, status: ‘WAIT’ blocks AWT-EventQueue-0@301 at java.lang.Object.wait(Object.java:-1) at java.lang.Object.wait(Object.java:485) at java.awt.EventQueue.invokeAndWait(Unknown Source:-1) at javax.swing.SwingUtilities.invokeAndWait(Unknown Source:-1) at com.acme.ui.ViewBuilder.renderOnEDT(ViewBuilder.java:157) . . . at com.acme.util.Job.run(Job.java:425) at java.lang.Thread.run(Unknown Source:-1) AWT-EventQueue-0@301, priority=6, in group ‘main’, status: ‘MONITOR’ waiting for My-Thread@101c at com.acme.persistence.TransactionalSystemImpl.executeImpl(TransactionalSystemImpl.java:134) . . . at […]

在一个JFrame中同时处理两个JPanel

我是新手到java swing。 在尝试使用图形时,我遇到了这个问题。 我无法在网络上找到合适的解决方案。 所以我想发布在这里。 所以现在让我们来解决我的问题。 首先,我将解释我想做什么。 然后我将解释我的问题。 我试图让两个球在JFrame中同时向不同的方向移动。 (基本上我想做类似连锁反应的游戏,当你点击一个装满的盒子时,球会同时向不同的方向移动)。 在这里我创建两个(截至目前)两个球的JPanels,我试图同时在JFrame上移动。 这是我试过的代码, public class chainGraphics扩展JPanel实现Runnable { int oldX,oldY,newX,newY; int changeX,changeY; Container myPane; public chainGraphics(int oldX,int oldY,int newX,int newY,Container myPane) { // TODO Auto-generated constructor stub this.myPane=myPane; this.oldX=oldX; this.oldY=oldY; this.newX=newX; this.newY=newY; myPane.add(this); } public void paintComponent(Graphics g) { //super.paintComponent(g); System.out.println(“hj”); g.drawOval(changeX,changeY, 40, 40); } @Override public […]