EncoreLaw 2016-07-03 12:01 采纳率: 46.2%
浏览 1060
已采纳

JAVA简单的GUI,有一点小疑问

package frame;

import java.awt.BorderLayout;
import java.awt.event.*;
import javax.swing.*;

public class frame implements ActionListener {
JFrame f=new JFrame();
JButton button=new JButton("Change colors");
JButton button2=new JButton("Change label");
JLabel label=new JLabel("I'm just a label");
public static void main(String[] args) {
frame gg=new frame();
gg.go();
}
public void go(){
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
button.addActionListener(new colorListener());
button2.addActionListener(new textListener());
DrawPanel d=new DrawPanel();
f.getContentPane().add(BorderLayout.CENTER,d);
f.getContentPane().add(BorderLayout.SOUTH,button);
f.getContentPane().add(BorderLayout.WEST,label);
f.setSize(500,400);
f.setVisible(true);
f.getContentPane().add(BorderLayout.EAST,button2);
}
class colorListener implements ActionListener{
public void actionPerformed(ActionEvent event2){
f.repaint();
}
}
class textListener implements ActionListener{
public void actionPerformed(ActionEvent event){
label.setText("I've changed!");
}
}
public void actionPerformed(ActionEvent event3){}
}
为什么我按button2的时候,repaint也会执行?

  • 写回答

5条回答 默认 最新

  • willkinson 2016-07-04 02:17
    关注

    你改变了界面的内容,如果不repaint,怎么把改变的内容画到屏幕上呢?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥20 wpf datagrid单元闪烁效果失灵
  • ¥15 券商软件上市公司信息获取问题
  • ¥100 ensp启动设备蓝屏,代码clock_watchdog_timeout
  • ¥15 Android studio AVD启动不了
  • ¥15 陆空双模式无人机怎么做
  • ¥15 想咨询点问题,与算法转换,负荷预测,数字孪生有关
  • ¥15 C#中的编译平台的区别影响
  • ¥15 软件供应链安全是跟可靠性有关还是跟安全性有关?
  • ¥15 电脑蓝屏logfilessrtsrttrail问题
  • ¥20 关于wordpress建站遇到的问题!(语言-php)(相关搜索:云服务器)