Tag: 摇摆

Java事件传播已停止

我有一个主窗口: public class MainPanel extends JFrame implements MouseListener { public MainPanel() { setLayout(new FlowLayout()); setDefaultCloseOperation(EXIT_ON_CLOSE); addMouseListener(this); ChildPanel child = new ChildPanel(); add(child); JPanel spacer = new JPanel(); spacer.setPreferredSize(new Dimension(50, 50)); add(spacer); pack(); setLocationRelativeTo(null); } @Override public void mouseClicked(MouseEvent e) { System.out.println(“Mouse click event on MainPanel”); } } 和一个孩子JPanel: public class ChildPanel extends JPanel implements MouseListener […]

处理发生时动态刷新JTextArea?

我正在尝试创建一个非常简单的Swing UI,通过JTextArea将信息记录到屏幕上,因为处理在后台进行。 当用户点击按钮时,我希望每次调用: textArea.append(someString + “\n”); 立即显示在用户界面中。 目前,在单击按钮后处理完成之前,JTextArea不会显示所有日志信息。 我怎样才能让它动态刷新?

如何将图像添加到JFrame标题栏?

我想在javax.swing.JFrame标题栏中添加一个图像(小图标)。 我该怎么做?

为什么Swing线程模型被认为是错误的,应该如何?

我多次听说Java Swing线程模型是错误的。 我不完全理解为什么,我知道这个问题与你可以从主UI线程以外的另一个线程Drawable这一事实有关。 我知道有一些实用function,如SwingUtilities.invokeAndWait和SwingUtilities.invokeLater ,可以让你在Runnable绘制,而Runnable则由Event Dispatcher线程运行。 我猜这种方式可以确保绘画是同步完成的,这不会使缓冲区处于不稳定的状态。 我的问题是 :“好”的UI工具包如何表现? 采用了哪些解决方案?

在swing中使用sleep()

public class TestFrame extends JFrame { public TestFrame() { setBounds(10, 10, 500, 500); setLocationRelativeTo(null); setDefaultCloseOperation(3); } public static void main(String[] args) throws InterruptedException { TestFrame tf = new TestFrame(); tf.add(new JButton(“test1”)); tf.setVisible(true); Thread.sleep(2000); tf.getContentPane().removeAll(); tf.add(new JButton(“test2”)); System.out.print(“Show test”); } } 我希望程序在2秒后显示JButton(“test2”) 。 然后我在test1之后添加thread.sleep(2000) 。 但我不知道为什么程序停止显示test1 JButton ,没有显示test2 JButton并且“show test”消息可以成功打印出来

Swing GUI不等待用户输入

我是Swing的新手,我创建了一个带有按钮和文本字段的简单GUI类。 这个类中有一个方法, String createAndShowUI() ,我希望它返回文本字段的文本。 我创建了另一个调用此方法的主类,并期望返回文本字段的文本。 但是我的问题是这个方法不等待用户输入文本字段并单击按钮; 一旦调用GUI就会返回。 我希望它等待按钮点击。 // TestSwing.java import javax.swing.*; import java.awt.*; import java.awt.event.*; public class TestSwing extends JPanel implements ActionListener { JButton submit; JTextField t1; String msg = “No Msg”; public TestSwing() { submit = new JButton(“Submit”); t1 = new JTextField(10); submit.addActionListener(this); setLayout(new FlowLayout()); add(t1); add(submit); } public void actionPerformed(ActionEvent e) […]

Java JTable改变单元格颜色

我想制作一个可编辑的表格,然后检查数据以确保其有效。 我不知道如何改变一个细胞的颜色。 我想得到一个单元格,例如(0,0)并将前景颜色变为红色。 我已经阅读了SO以及Oracle关于自定义ColorRenderer的其他post,但我只是不知道如何使用它。 谢谢。

paintComponent中的图像仅在调整窗口大小后显示

我想使用paintComponent(Graphics g)使用for循环绘制一些图像。 但是,JFrame只显示为白色屏幕,它只显示调整窗口大小后的黑色背景和图像。 import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; import javax.imageio.*; import java.awt.geom.*; import java.awt.image.BufferedImage; import java.awt.Graphics; import java.util.Scanner; public class SimpleAdventure { private JFrame frame; private CardLayout cards; private Container c; private DrawPanel1 gamepanel; private BufferedImage greentiles, pinktiles, sandtiles, charsprites; private Image left1, right1, left2, right2, front; private Image pinkbg, greenbg, sandbg; […]

如何在swing中创建通知

使用Java和Swing,是否有任何(方便)方法来创建通知? 通知,我的意思是: 这http://productivelinux.com/images/notify-osd-screenshot.png , 这是http://images.maketecheasier.com/2010/01/kfirefox-notify-indexed.png ,或者 (那是否有更正确的术语?)。 如果它跨平台工作会很好,但我主要关心它在Ubuntu和Gnome一起工作。 如果可能的话,我想避免在系统托盘/通知区域中有一个图标。 如果所有其他方法都失败了,我总是可以使用java中的滑动通知栏中的滑动通知(一个火狐)

使用Gridbag布局时的动画。

我最近开始使用Java,并想知道在使用GridBag Layout时是否可以制作动画。 这些可能吗?如何? 任何教程,帮助等都将非常感谢:)