java paint函数

我在frame中画了很多根线,然后把frame最小化,在重现frame时,frame上至剩下最后一根线,为什么?怎么解决求大虾帮助... 我在frame中画了很多根线,然后把frame最小化,在重现frame时,frame上至剩下最后一根线,为什么?怎么解决 求大虾帮助 展开
 我来答
匿名用户
2013-11-26
展开全部
import javax.swing.*;
import java.awt.*;
/**
* @author Hardneedl
*/
class GridPainter extends JFrame {

private static final Dimension minSize = new Dimension(300, 200);

private static final Dimension maxSize = new Dimension(1024, 768);

private static final Dimension preferredSize = new Dimension(600, 400);

public Dimension getMaximumSize() {return maxSize;}

public Dimension getMinimumSize() {return minSize;}

public Dimension getPreferredSize() {return preferredSize;}

public String getTitle() {return "Frame Title";}

private final JComponent canvas = new JComponent(){

protected void paintComponent(Graphics g) {

super.paintComponent(g);

Graphics gg = g.create();

gg.setColor(Color.BLACK);

int w = getWidth(), h = getHeight();

gg.fillRect(0,0,w,h);

gg.setColor(Color.BLUE);

for (int i = 0; i < w; i+=10) gg.drawLine(i,0,i,h);

gg.setColor(Color.YELLOW);

for (int i = 0; i < h; i+=10) gg.drawLine(0,i,w,i);

gg.dispose();

}

};

GridPainter() throws HeadlessException {

doLay();

attachListeners();

}
private void doLay() {

Container container = getContentPane();

container.add(canvas,BorderLayout.CENTER);

pack();

}

private void attachListeners() {

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public static void main(String[] args) {

new GridPainter().setVisible(true);

}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式