调整JFrame大小时调整Jpanel的大小

时间:2013-03-31 01:33:20

标签: java swing resize jpanel java-2d

我需要在JPanel上绘制x-y轴坐标系。我想实现一个函数,在调整JFrame大小时,x,y轴坐标可以自动调整大小。

public void paintComponent(Graphics gl) {

 Graphics2D g = (Graphics2D) gl;
 g.setColor(new Color(222, 222, 222));
 g.fillRect(0, 0, this.getWidth(), this.getHeight());
 g.setColor(new Color(0, 0, 0));
 int x=15;
 int y=15;
 g.drawString("20", 0, 10);
 for(int i=1;i<=20;i++) {
     g.drawLine(x, y+(35*(i-1)), x, y+(35*i));
     g.drawString(""+(20-i), 0, y+(35*i));
 }
 for(int i=1;i<=10;i++) {
     g.drawLine(x+(70*(i-1)),715, x+(70*i), 715);
     g.drawString(""+i,  x+(70*i),730);
 }
}

这是我绘制x y坐标系的方法 你能不能给我一些调整大小的提示?

1 个答案:

答案 0 :(得分:0)

使用ComponentListener并侦听已启动的resize事件。使UI无效以强制重绘,这会导致调用paintComponent。

ComponentListener