Java中的按钮,不弹起来,图形界面就不能重绘吗,有没什么好的方法 用的java的SWing做了一个界面,按下一个按钮的时候,按钮响应函数执行(程序行比较多),期间还需要重绘界面的某些部分指示程序的进行状况(就是更新一个JTextArea做的状态栏),但我在响应函数中调用了repaint()函数状态栏还是不能实时更新,是响应函数必须执行完(就是按钮必须弹起来)图形界面才能接着重绘吗 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不要EDT里执行耗时的任务,使用一个单独的线程。 事件的处理形式是mouseClicked而不是mousePressed的原因么? import javax.swing.*;import java.awt.*;import java.awt.event.*;public class Test { public static void main(String[] args) { JFrame frame = new JFrame(); JButton button = new JButton("按钮"); final JLabel label = new JLabel() { @Override public void paintComponent(Graphics g) { super.paintComponent(g); System.out.println("发生重绘"); } }; button.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent e) { label.setText("按钮按下"); } @Override public void mouseReleased(MouseEvent e) { label.setText(""); } }); frame.add(label, BorderLayout.CENTER); frame.add(button, BorderLayout.SOUTH); frame.setSize(400, 300); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); }}用代码说话是最直接的…… 优先使用 button.addActionListener(anActionListernImpl);而不是 MouseListener 我就是用的button.addActionListener,看来可能是另外几位说的开个独立线程处理响应 老题了,一直不理解:String s = "a" + "b" + "c" + "d" + "e";一共创建了几个对象??? 谁能说下field和local variable的区别吗? 精简jre 如何将一个结构保存文件 ++100分。答对就有分 Java 编程规范的问题, 高质量代码的困扰~ 请高手或有相关方面经验的大牛看看 老大,给一下结果 关于有状态session bean的问题,50分! 不能把一个抽象类中的对象实例化? 如何在文件浏览框<input type="file" name="input" >框里事先设定一个值? 请教:自制弹球中的一些BUG 帮忙做个小题,谢谢啦。
import java.awt.*;
import java.awt.event.*;public class Test {
public static void main(String[] args) {
JFrame frame = new JFrame();
JButton button = new JButton("按钮");
final JLabel label = new JLabel() {
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
System.out.println("发生重绘");
}
};
button.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
label.setText("按钮按下");
}
@Override
public void mouseReleased(MouseEvent e) {
label.setText("");
}
});
frame.add(label, BorderLayout.CENTER);
frame.add(button, BorderLayout.SOUTH);
frame.setSize(400, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}用代码说话是最直接的……
而不是 MouseListener