import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class PaintSin1 extends JFrame
{
public PaintSin1()
{
super("PaintSin1");
setSize(400,300);
setLocation(100,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel jp=new JPanel();
jp.setLayout(new BorderLayout());
PPanel pp2=new PPanel();
jp.add(new JScrollPane(pp2),"Center");
setContentPane(jp);
setVisible(true);
}
public static void main(String[] args)
{
new PaintSin1();
}
}
class PPanel extends JPanel
{
private static int sn=10;
private static int pn=10;
public PPanel()
{
super();
sn=10;
pn=10;
int wid=40*(pn+4)+40;
int hei=30*(sn+4)+40;
setPreferredSize(new Dimension(wid,hei));
setMaximumSize(new Dimension(wid,hei));
setMinimumSize(new Dimension(wid,hei));
}
public void paint(Graphics g)
{
for(int i=0;i<=sn+4;i++)
{
g.drawLine(20, 30*i+20, 40*(pn+4)+20, 30*i+20);
}
//画竖线
for(int i=0;i<=pn+4;i++)
{
g.drawLine(20+i*40, 20, 20+i*40, 30*(sn+4)+20);
}
}
}
Frame 框小,我就想这么大。 但是画图的面板大,之后一移动滚动条就花了。
望指教,如何解决啊谢谢
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class PaintSin1 extends JFrame
{
public PaintSin1()
{
super("PaintSin1");
setSize(400,300);
setLocation(100,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel jp=new JPanel();
jp.setLayout(new BorderLayout());
PPanel pp2=new PPanel();
jp.add(new JScrollPane(pp2),"Center");
setContentPane(jp);
setVisible(true);
}
public static void main(String[] args)
{
new PaintSin1();
}
}
class PPanel extends JPanel
{
private static int sn=10;
private static int pn=10;
public PPanel()
{
super();
sn=10;
pn=10;
int wid=40*(pn+4)+40;
int hei=30*(sn+4)+40;
setPreferredSize(new Dimension(wid,hei));
setMaximumSize(new Dimension(wid,hei));
setMinimumSize(new Dimension(wid,hei));
}
public void paint(Graphics g)
{
for(int i=0;i<=sn+4;i++)
{
g.drawLine(20, 30*i+20, 40*(pn+4)+20, 30*i+20);
}
//画竖线
for(int i=0;i<=pn+4;i++)
{
g.drawLine(20+i*40, 20, 20+i*40, 30*(sn+4)+20);
}
}
}
Frame 框小,我就想这么大。 但是画图的面板大,之后一移动滚动条就花了。
望指教,如何解决啊谢谢
解决方案 »
- 想实现eclipse中代码自动修正(ctrl+I)的功能,感兴趣的朋友帮忙看下
- Swing内 repaint 和 Thread的问题
- JAVA面试题解惑系列(十一)——这些运算符你是否还记得?
- Soap中的名域标志符 是指的什么意思啊
- TomCat配置问题 急!
- 初学者:关于ArrayList
- List elements = dataBox.getSelectionModel().getAllSelectedElement(); 为空
- 问一个概念----静态内部类?
- 请看过petstore源码的同志进来聊聊
- 一个关于java console 的问题
- 构造字符串的问题,比较嫩的问题,忘记怎么解决了……
- rmi现在用的人还多吗?
paint方法里面,第一局加上这句:
super.paint(g);
就不花了。基类里面做了很多事情的,不能随意就说不用了。除非你真正的了解了它做的事情你全都不想要了。至于做了什么事情,请自己查阅相关文档。