目录
1.设置画板(用于绘画图形或图片)
首先写一个类,让它去继承JAVA包中的JPanel类,也就是所谓画板类
class MyPanel extends JPanel{//JPanel为画板
@Override
public void paint(Graphics g) {//paint方法,在打开窗口或者修改窗口大小时都会被调用
super.paint(g);//g可以理解为画笔
}
其中paint方法为绘画方法,传入的参数g是画笔,使用g可以调用绘画方法,方法如下:
g.drawOval(0,0,100,100);//画椭圆,后两个参数为椭圆的高和宽
g.draw3DRect(200,200,50,50,true);
g.setColor(Color.BLUE);//设置画笔颜色
g.fill3DRect(100,20,60,70,false);//画3D填充矩形
g.setFont(new Font("楷体",10,50));//设置打印字符串的字体,参数分别为字体,风格(粗体,斜体之类),字号
g.setColor(Color.GREEN);
g.fillArc(0,0,100,100,0,360);//画填充椭圆,参数分别为x坐标,y坐标,高,宽,开始角度数,结束角度数
g.drawString("冲过人潮",50,50);//画字符串,参数分别为打印的字符,x坐标,y坐标(注意:x,y坐标在此表示打印字符串的左下角坐标)
列举的常用的绘画方法
2.设置面板(用于打印画板上的内容)
首先设置一个类,让它去继承JAVA包中的JFrame类,写出构造器,在构造器中进行面板设置
public class Paint_ extends JFrame{
public static void main(String[] args) {
new Paint_();
}
public Paint_(){
MyPanel myPanel = new MyPanel();
this.add(myPanel);//把绘好的图形放入面板中
this.setSize(400,400);//设置面板的大小
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置在点击关闭后退出程序
this.setVisible(true);//设置面板可视度为可见
}
}
设置面板格式的方法如上构造器中所示,其中创建一个MyPanel对象把上文1中的画板联系起来,让画板中的画在面板中展示
3.面板监听(事件处理)
面板监听顾明思议是监听使用者对面板的操作,其中介绍键盘监听,即监听在键盘上输入时对面板进行的操作
(1)让类去实现KeyListener接口,并重写其中的三个方法
@Override
public void keyTyped(KeyEvent e) {//有字符输出时,该方法就会触发
}
@Override
public void keyPressed(KeyEvent e) {//当某个键按下,该方法会触发
}
@Override
public void keyReleased(KeyEvent e) {//当某个键释放(松开),该方法会触发
}
根据相应的要求进行操作
(2)设置要监听的选项
比如设置WASD为绘制图形的移动键,设置如下
if(e.getKeyCode() == KeyEvent.VK_A){//当输入A键时,执行x--
x--;
}
else if(e.getKeyCode() == KeyEvent.VK_D){//当输入D键时,执行x++
x++;
}
else if(e.getKeyCode() == KeyEvent.VK_S){//当输入S键时,执行y++
y++;
}
else if(e.getKeyCode() == KeyEvent.VK_W){//当输入W键时,执行y--
y--;
}
this.repaint();//重绘图形(如果没有这一步,是看不到图形变化的)
/*
JAVA调用paint方法的原理
自动调用:
1.组件第一次在屏幕显示时,会调用一次;
2.窗口最小化再最大化的时候会调用一次;
3.窗口大小发生变化时会调用一次;
手动调用:
使用repaint()方法手动调用
*/
(3)再在JFrame中的构造器中进行监听设置
this.addKeyListener(bool);//bool为实现监听的类定义的对象
还有其他的事件类型