介绍两个包
1. java swing
Swing 是一个为Java设计的GUI工具包。
Swing是JAVA基础类的一部分。
Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表。
2. java awt
抽象窗口工具包,该包提供了一套与本地图形界面进行交互的接口,是Java提供的用来建立和设置Java的图形用户界面的基本工具
具体步骤
了解了这两个包以后我们可以开始画线拉
public class ShapeUI {
public void initUI(){
JFrame jf = new JFrame("图形可视化工具");
jf.setSize(800,600); //设置窗口大小
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//意思就是设置一个默认的关闭操作,也就是你的JFrame窗口的关闭按钮,点击它时,退出程序。
jf.setVisible(true);// 可视化 显示在屏幕上
// 监听器 :
ShapeListener shapeListener = new ShapeListener();
jf.addMouseListener(shapeListener); //增加监听器
Graphics g = jf.getGraphics();// Graphics 必须从 需要实现绘制功能的窗体上获取
// 将 获取的graphics的引用地址传给 监听器对象的Graphics 属性
shapeListener.gr=g;
}
public static void main(String[] args) {
ShapeUI shapeUI = new ShapeUI();
shapeUI.initUI();
}
}
上面是创建了一个UI界面,接下来开始增加功能
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
public class ShapeListener implements MouseListener { //重写监听器中的方法
Graphics gr;
@Override
public void mouseClicked(MouseEvent e) {
int x = e.getX();
int y = e.getY();
System.out.println("点击 x="+x+" y="+y);
}//点击
@Override
public void mousePressed(MouseEvent e) {
x1 = e.getX();
y1 = e.getY();//随意按下一个点 然后获取它的坐标
System.out.println("按下"+ x1 +"=x1 y1="+ y1);
}//按压
@Override
public void mouseReleased(MouseEvent e) {
x2 = e.getX();
y2 = e.getY(); //松开时通过鼠标监听器 获取坐标
System.out.println("释放"+x2+"=x2 y2="+y2);//释放
// 绘制直线
gr.drawLine(x1,y1,x2,y2); //两点确定一条直线
}
效果展示