搞不懂,为什么,程序一运行XX就已经画好了 设置一个boolean flag = false;当点按钮之后flag = true;paintCxxx中判断if(flag == false)return; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这样改一下就可以了!import java.awt.*;import javax.swing.*;import java.awt.event.*;public class qc extends JFrame //implements ActionListener{ public static void main(String[] args) { qc qq = new qc(); } JPanel jp = new JPanel(); GridLayout bl = new GridLayout(2,2); public qc() { this.getContentPane().add(jp,new BorderLayout().CENTER); jp.setLayout(bl); for(int i = 0;i<4;i++) { jp.add(new draw()); } this.setSize(450,450); this.setVisible(true); } class draw extends JPanel { int k = 0; public draw() { this.addMouseListener(new MouseAdapter(){ public void mouseClicked(MouseEvent e){ repaint(); } }); } protected void paintComponent(Graphics g) { super.paintComponent(g); g.drawRect(0,0,200,200); //*****修改处****// if(k==0) { k=1; } //***************// else if(k==1) { g.setColor(Color.blue); g.drawLine(0,0,200,200); g.drawLine(0,200,200,0); k=2; } else if(k==2) { g.setColor(Color.red); g.drawOval(0,0,200,200); k=0; } } } } JAVA 获取PDF 文件页面大小 新手问题:为什么【数组】下表要从0开始不从1开始? 静态方法 是不是 线程 安全的 请问如何把Textarea中的内容以最快的方式读出来?(本人菜鸟) 什么方法实现像C++中的sizeof() 函数呢 在Java中? 有关网络编程的问题 谁有关于权限管理的代码! 100分周末大放送——Java面试一般会出什么样的题目,请高人指点! 关于动态菜单项,注意,不是动态菜单(一定给分) 多线程问题-积极给分 急 电子邮件问题? 菜鸟提问,protected void paintComponent(Graphics g)问题
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;public class qc extends JFrame //implements ActionListener
{
public static void main(String[] args)
{
qc qq = new qc();
}
JPanel jp = new JPanel();
GridLayout bl = new GridLayout(2,2);
public qc()
{
this.getContentPane().add(jp,new BorderLayout().CENTER);
jp.setLayout(bl);
for(int i = 0;i<4;i++)
{
jp.add(new draw());
}
this.setSize(450,450);
this.setVisible(true);
}
class draw extends JPanel
{
int k = 0;
public draw()
{
this.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e){
repaint();
}
});
}
protected void paintComponent(Graphics g)
{
super.paintComponent(g);
g.drawRect(0,0,200,200);
//*****修改处****//
if(k==0)
{
k=1;
}
//***************//
else if(k==1)
{
g.setColor(Color.blue);
g.drawLine(0,0,200,200);
g.drawLine(0,200,200,0);
k=2;
}
else if(k==2)
{
g.setColor(Color.red);
g.drawOval(0,0,200,200);
k=0;
}
}
}
}