Tag: 摇摆

用Java绘制最简单的方法是什么?

用Java绘制最简单的方法是什么? import java.awt.*; import javax.swing.*; public class Canvas { private JFrame frame; private Graphics2D graphic; private JPanel canvas; public Canvas() { frame = new JFrame(“A title”); canvas = new JPanel(); frame.setContentPane(canvas); frame.pack(); frame.setVisible(true); } public void paint(Graphics g){ BufferedImage offImg = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Grapics2D g2 = offImg.createGraphics(); g2.setColor(new Color(255,0,0)); g2.fillRect(10,10,200,50); } } 这不起作用,我不知道如何让任何东西出现。

如何在Swing中实现“进行中”动画?

我正在开发一个执行一些运行很长时间的函数的应用程序。 为了让用户知道正在进行处理,我需要一个标签,可以显示一些可以代表该标签的标签。 所以,我为这样的标签创建了一个小部件。 下面的程序运行find,我得到了我想要的输出。 import java.awt.Dimension; import java.util.ArrayList; import java.util.List; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.SwingUtilities; /** * This is an extension to a JLabel that can be used to display an ongoing progress. * @author Ankit Gupta */ public class ProgressLabel extends JLabel { /** * The prefix label to which periods […]

更多摆动设计和动作

我对gui编程很新,所以我一直在阅读这个网站上有关摇摆和设计的每个post。 一遍又一遍地回答的是,人们应该为这些行动设置多级课程。 像这样:( GUI是一些JFrame ) 替代文字http://img341.imageshack.us/img341/255/skjermdump.png 现在,这对单向操作很有用,比如OpenDialog。 但是DialogA和B按钮的操作必须能够访问其对话框和controller所有组件(将会有很多组件)。 这就是我陷入困境的地方。 我能看到的唯一理智的方法是把它放在DialogA/B 但我需要将controller一直向下传递,通过甚至不需要它的类,它会得到所有的意大利面条。 真的不想要那个。 以前有人肯定遇到过这个问题。 那么我应该把这个Action放在哪里? 或者我应该放弃整个设计? 编辑:从别处得到了一个很好的答案。 解决。

使Swing组件同步

我正在阅读Java Threads 3rd Ed。 由奥克斯和黄(O’Reilly 2004)。 他们在整本书中都有一个Swing打字游戏的例子。 他们定义的类主要是javax.swing.JComponent自定义子类。 对我来说似乎完全错误的是,他们使用各种同步方法使这些JComponent的线程安全。 我的印象是Swing组件不应该是线程安全的,而是应该始终从Swing事件调度线程访问它们。 (有趣的是,他们通过Swing EDT修改组件的次数之一,它是一个setText ,这是很少有不需要从EDT调用的Swing方法之一。) 我想知道一些在编写/阅读Swing代码方面有很多经验的人:程序员是否常常使Swing组件同步而不是总是通过EDT修改它们? 它可以忍受吗? 编辑: 我注意到它和这个post几乎是同一个问题。 然而,它没有说明程序员在野外实际做了什么。 我很困惑,O’Reilly的书会如此公然违反Swing线程模型。 编辑: 我发现他们在本书的中间部分简要解释了Swing线程模型。 尽管如此,我想回答一下我的问题。 我觉得大多数读过这本书的人最终会违反Swing线程模型,因为他们的大部分例子都是如此。 编辑: 如果要查看代码,可以将示例代码作为zip文件下载 。 例如,参见ch03 / example1 / AnimatedCharacterDisplayCanvas。 编辑: 我刚刚了解到setText在Java7中不是线程安全的(2011年7月发布)。

如何在Swing中平滑滚动列表

在iPhone上滚动浏览列表是动画的动画。 忽略惯性效果(尽管它也很酷) – 我怎样才能让Swing列表框像这样平滑地滚动? 还有其他一些例子,比如浏览器,但那些使用我不能用于Swing的本机控件。

SwingWorker和Executor之间的差异

我正在使用SwingWorker在我正在制作的应用程序上执行一些重载任务。 虽然今天我遇到了Executor类和这个例子: Executors.newCachedThreadPool().execute(new Runnable() { public void run() { someTask(); }); 有人可以解释为什么人们会使用SwingWorker而不是上面的例子吗? 这是我目前使用SwingWorker的方式: SwingWorker worker = new SwingWorker() { protected Object doInBackground() { someTask(); return null; } }; worker.execute();

如何在java中输入键盘后更改图像?

我有以下代码向您展示: public class Test extends JPanel implements ActionListener, KeyListener { Timer tm = new Timer(5, this); int x = 0, y = 0, velX = 0, velY = 0; public Test() { tm.start(); //starts the timer addKeyListener(this); setFocusable(true); setFocusTraversalKeysEnabled(false); } public void paint(Graphics g) { super.paint(g); ImageIcon s = new ImageIcon(“C:\\Users\\Owner\\Pictures\\Stick.jpg”); s.paintIcon(this,g,x,y); } public void […]

更改线程中的JButton颜色

我正在尝试制作像西蒙这样的游戏: http ://www.freegames.ws/games/kidsgames/simon/simon.htm# 我只用2个按钮缩小比例。 我希望颜色在2个按钮,button1和button2之间切换。 这是一个线程,因为我需要在发生这种情况时点击按钮。 当我打开程序时,按钮颜色保持原样。 提前感谢您的帮助! import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import java.awt.FlowLayout; import javax.swing.*; public class TestFrame extends JFrame{ public JButton button1; public JButton button2; boolean isTrue = true; boolean switchColor = true; TestFrame(){ super(“Simon”); initialize(); this.setSize(200, 400); this.setVisible(true); } private void initialize() { this.setLayout(new BorderLayout()); button1 = new JButton(); button1.setBackground(Color.green); […]

调度程序线程上的线程更新GUI会导致exception

我有2个线程,一个是为我的应用程序运行“服务器”的线程,另一个是GUI的事件调度程序,如下所示: public static void main(String[] args) { //Connections Runnable r2 = new Runnable() { @Override public void run() { App.connectToServer(); } }; //Launch main window SwingUtilities.invokeLater(new Runnable() { public void run() { //Installs theme WebLookAndFeel.install(); //Launches main window BootWindow myMainWindow = new BootWindow(); } }); Thread thr2 = new Thread(r2); thr2.start(); } //Get instance public […]

Java Swing处理状态

我正在尝试实现一个swing架。 在此,我想在执行所需任务时使用不同的线程在textPanel中显示处理状态。 我尝试了以下代码。 当然逻辑有问题。 请提供正确的方法 import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JTextField; import javax.swing.JButton; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; public class SampleSwing { private JFrame frame; public static JTextField textField; public static boolean processing=false; /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { SampleSwing window […]