标题:[求助] 怎么保留以前的图形
只看楼主
hellboy
Rank: 1
等 级:新手上路
威 望:1
帖 子:245
专家分:0
注 册:2006-6-24
 问题点数:0 回复次数:13 
[求助] 怎么保留以前的图形

import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import java.awt.Graphics2D;
public class DrawLine extends JPanel {
JFrame frame;
int i=1;
public DrawLine()
{


frame=new JFrame ("²âÊÔ");
frame.setBounds(160,100,600,610);
frame.getContentPane().add(this);
frame.setBackground(Color.black);
frame.setVisible(true);
}


public void paint(Graphics g)
{

if(i==1)

{

g.setColor(Color.white);
g.drawLine(300,20,300,570);//ÊúÏß

g.drawLine(20,300,580,300);//ºáÏß

g.drawLine(300,20,290,40);
g.drawLine(300,20,310,40);//ÉϼýÍ·

g.drawLine(580,300,560,290);
g.drawLine(580,300,560,310);
g.drawString("(0,0)",310,290);
i=0;

}

}



public void update(Graphics g)

{
this.paint(g);
System.out.println("dd");

}


public static void main(String[] arg){
DrawLine dl = new DrawLine();

}
}

当窗口变大的时候, 不能保留以前的东西了 怎么办 ? 很着急 希望大家帮帮忙

搜索更多相关主题的帖子: frame 图形 import awt java 
2007-05-26 23:14
a276202460
Rank: 2
等 级:新手上路
威 望:4
帖 子:392
专家分:1
注 册:2007-4-10
得分:0 

addComponentListener(new ComponentAdapter() {
public void componentResized(ComponentEvent e) {
repaint(); }

});
加上这个试试


2007-05-26 23:58
hellboy
Rank: 1
等 级:新手上路
威 望:1
帖 子:245
专家分:0
注 册:2006-6-24
得分:0 

不好用


努力 努力 !!!!!!
2007-05-27 06:23
dingoo
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2006-10-10
得分:0 
当发生变化时没repaint吧,你在paint(g)方法里第一行写上super.paint(g);试试吧

2007-05-28 09:20
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 
把以前画过的东西保存起来

可惜不是你,陪我到最后
2007-05-28 09:26
dingoo
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2006-10-10
得分:0 
晕!你这个repaint一下肯定什么都没了吗,你画图的条件是i==1;而你画完之后把i变成了0,当窗口改变它调用repaint重画时你的i是0了,i==1条件不成立了,当然什么也没了.

2007-05-28 09:40
hellboy
Rank: 1
等 级:新手上路
威 望:1
帖 子:245
专家分:0
注 册:2006-6-24
得分:0 
dingo 你的方法不好用 我早就 用过了 和 super.paint(g)没什么关系
除了 把以前的保留下来就没有别的方法了吗 为什么 重写 了 update()方法 不好用呢 真是郁闷阿

努力 努力 !!!!!!
2007-05-28 09:45
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 
把你要画的东西定义成对象,然后把它保存起来,

可惜不是你,陪我到最后
2007-05-28 09:48
dingoo
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2006-10-10
得分:0 
能问一下你为什么画图之前要用if判断呢?还在if里把i设成了0.如果一定要if且if只能执行一次的话,你可以在if后面加个else,在else里画一个默认的图吧

2007-05-28 09:55
hellboy
Rank: 1
等 级:新手上路
威 望:1
帖 子:245
专家分:0
注 册:2006-6-24
得分:0 

i==1 就是测试一下 没什么用处 我就是想让他把以前的东西保留下来 ,除了把对象保存起来 就没有别的方法了吗
比如重写update()
希望大家帮忙 谢了


努力 努力 !!!!!!
2007-05-28 17:00



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-142761-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028440 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved