MLDN魔乐科技--五子棋制作预备知识
1、JFrame
导包:import javax.swing.JFrame;
方法:
①setVisible(): 设置窗体是否显示
②setTitle(): 设置窗体标题
③setSize(): 设置窗体大小
④setLocation(): 设置窗体初始显示的位置
⑤setResizable(): 设置窗体是否可以改变大小
⑥setDefaultCloseOperation(JFram.EXIT_ON_CLOSE): 设置窗体关闭方式,关闭窗体时同时结束程序
2、JOptionPane:弹出一些对话框或提示框,不需要用new新建对象,直接使用其静态方法就可以了
导包:import javax.swing.JOptionPane;
方法:
①showMessageDialog(mf,"我的信息"):显示一个消息对话框,主要用来提示信息。
②showConfirmDialog(mf,"我的确认信息,现在要开始游戏吗?"):
详细:
返回值为int类型,“是”返回0,“否”返回1,“取消”返回2。测试方法:用
System.out.println打出来
范例:
int result = JOptionPane.showConfirmDialog(mf,"要开始游戏吗?") if(result == 0) { JOptionPane.showMessageDialog(mf,"是!"); } if(result == 1) { JOptionPane.showMessageDialog(mf,"否!"); } if(result == 2) { JOptionPane.showMessageDialog(mf,"取消"); } |
③showInputDialog("请输入你的姓名:"):显示一个信息输入对话框,作用是用来保存用户输入的信息。
返回值类型:string
范例:
string username = JOptionPane.showInputDialog("请输入你的姓名:"); if(username) { System.out.println(uername ); JOptionPane.showMessageDialog(mf,"输入的姓名为:" + username ); } else { JOptionPane.showMessageDialog(mf,"请重新输入你的姓名!"); } |
3、MouseListener
导包:import java.awt..event.MouseListener;
import java.awt..event.MouseEvent;
使用:需要调用JFrame的addMouseListener()方法加入监听。
功能:接收用户通过鼠标所作的操作。可以取得用户点击鼠标的坐标。
方法:
①mouseClicked(MouseEvent e):监听“鼠标点击事件(在窗体范围内点击)”的。
范例:
System.out.println("鼠标点击"); JOptionPane.showMessageDialog(MyJFrame,"鼠标点击"); |
②mouseEntered(MouseEvent e):监听“鼠标进入事件(鼠标进入窗体范围内)”的操作。
范例:
System.out.println("鼠标进入"); JOptionPane.showMessageDialog(MyJFrame,"鼠标进入"); |
③mouseExited(MouseEvent e):监听“鼠标离开事件(鼠标离开窗体范围)”的操作。
范例:
System.out.println("鼠标离开"); JOptionPane.showMessageDialog(MyJFrame,"鼠标离开"); |
④mousePressed(MouseEvent e):监听鼠标按下事件的操作。
范例:
public void mousePressed(MouseEvent e) { System.out.printlin("点击位置:X --> " + e.getX()); System.out.printlin("点击位置:Y --> " + e.getY()); } |
功能:可取的鼠标点击位置的横纵坐标(以程序窗体的左上角为坐标原点)。
⑤mouseReleased(MouseEvent e):监听鼠标抬起事件的操作。
鼠标点击时的执行的顺序是:
mousePressed --> mouseReleased --> mouseClicked (判断按下与抬起是否在同一位置)
4、Graphics(相当于一杆画笔):
导包:import java.awt.Graphics;
import java.awt.image.BufferedImage;
方法:
①drawString():绘制字符串
范例:重写paint方法
Public void paint (Graphics g) { g.drawString(“五子棋游戏”,20,40); } |
②drawOval():画一个空心的圆形:
范例:
Public void paint (Graphics g) { g.drawOval(20,40,40,40); } |
③fillOval():画一个实心的圆形:
范例:
Public void paint (Graphics g) { g.fillOval(20,40,40,40); } |
④drawLine():绘制一条线
范例:
Public void paint (Graphics g) { g.drawLine(20,40,80,40); //前两个数字表示线头坐标,后两个数字表示线尾坐标 } |
⑤drawRect():绘制一个空心的矩形
范例:
Public void paint (Graphics g) { g.drawRect(20,40,80,40); //前两位左上角坐标,后两位宽度、高度 } |
⑥fillRect():绘制一个实心的矩形
范例:
Public void paint (Graphics g) { g.fillRect(20,40,80,40); //前两位左上角坐标,后两位宽度、高度 } |
⑦drawImage():绘制一个已经存在的图片,将一个图片直接显示到窗体中。
范例:
//ImageIO有一个静态的read()方法,通过传入一个File对象,来得到一个图片并返回给一个BufferedImage(也就是一个缓冲图片)。相当于把磁盘上的图片读入到内存里,然后再通过Graphics对象中的g.drawImage()方法把该图片从内存中取出显示到程序的窗体中。
//导入要用到的包 import java.awt.Graphics; import java.awt.image.BufferedImage; ……
//tryCatch的时候把BufferedImage image 声明拿出来赋为空值 BufferedImage image = null;
public void paint (Graphics g) { //涉及到IO操作就要tryCatch,因为有可能出现读不到文件的错误(Can’t read input file!) t ry { image = ImageIO.read(new File(“图片的绝对路径”)); //第1个参数表示要将哪个缓冲图片绘制到窗体中,第2,3个参数表示图片放入窗体中的横纵坐标,第4个参数表示要将缓冲图片绘制到哪个窗体中。 } catch (IOException) { //TODO Auto-generated catch block e.printStackTrace(); } g.drawImage(image,10 ,10 , this); } |
⑧setColor():设置画笔的颜色
范例:
public void paint (Graphics g) { g.setColor(Color.red); g.fillRect(80,40,40,20); } |
⑨setFont():设置绘制文字的字体
范例:
public void paint (Graphics g) { g.setFont(new Font(“黑体”,40 ,40)); g.drawString(“五子棋游戏”,20,40); } |