用eclipse编写的时候,包名与代码中的包名相对应,如新建包为Draw,则代码中需要有package Draw; 类名也要对应public class 类名{}
java中的Graphics类:可以调用它的绘图方法,可以如下使用
在 public class 类名{ }中 : Graphics g=null; //作为全局变量,不要写在主函数里
所写的方法里,中间可用类似g.drawOval(参数)进行调用
在设置可见性后,添加语句g=frame.getGraphics();//如果在可见之前,就取g的值,则g=Null;
frame.setVisible(true);//在画布取值之前
g=frame.getGraphics();//如果在可见之前,就取g的值,则g=Null;
Graphics常用方法:
void setColor(Color c )//图形当前颜色设置为指定颜色
void setFont( Font f)// 设置指定字体
void drawLine(int x1,int x2,int y1,int y2)//划线,两端点
void drawRect(int x,int y,int width, int height)//画矩形
void drawOval(int x,int y, int width,int height)//画椭圆
更多请自行百度
附上代码
package Draw;
import javax.swing.*;//跟界面相关的类都在javax.swing包中
import java.awt.*;
//import java.applet.Applet;
import java.awt.event.*;
public class Draw{
//主方法 程序入口
int x1,x2,y1,y2;//坐标值
String test;//获取字符串
Graphics g=null;//画布
public static void main(String[] args){
//创建Draw的对象
Draw draw = new Draw();
//显示界面
draw.showUI();
}
//显示画图板界面的方法
public void showUI(){
//创建窗体的对象(JFrame)
JFrame frame = new JFrame();
//设置窗体的大小
frame.setSize(400,400);
//设置窗体的标题
frame.setTitle("画图工具");
//设置窗体的位置
frame.setLocation(400,100);
//创建线性布局对象(FlowLayout)
FlowLayout layout = new FlowLayout();
//设置窗体的布局(规范组件摆放的位置)
frame.setLayout(layout);
//设置背景色为白色
//创建4个按钮对象(JButton)
JButton button_line = new JButton("直线");
JButton button_rect = new JButton("矩形");
JButton button_oval = new JButton("椭圆");
JButton button_color = new JButton("选择颜色");
//将按钮添加到窗体上
frame.add(button_line);
frame.add(button_rect);
frame.add(button_oval);
frame.add(button_color);
//创建点击监听器对象 (购买) 事件监听
ActionListener listener = new ActionListener(){
//此方法是用户点击按钮后立马执行
public void actionPerformed(ActionEvent e){
//通知程序 执行相应的操作
test=e.getActionCommand();
//用test获取指令操作
}
};
//给按钮安装点击监听器 (安装)
button_line.addActionListener(listener);
button_rect.addActionListener(listener);
button_oval.addActionListener(listener);
//创建监听器 专门监听颜色按钮
ActionListener color_listener = new ActionListener(){
public void actionPerformed(ActionEvent e){
//弹出颜色选择对话框给用户选择颜色
Color color=JColorChooser.showDialog(null,"请选择颜色",Color.black);
//创建一个color用于传递数值
g.setColor(color);
//获取颜色
}
};
button_color.addActionListener(color_listener);
//创建鼠标监听器
MouseListener mouse_listener=new MouseListener(){
public void mouseEntered(MouseEvent e){
//进入事件
}
public void mouseExited(MouseEvent e){
//离开
}
public void mousePressed(MouseEvent e){
//按下,取第一个坐标点
x1=e.getX();//变量前不带int之类的,否则用的则不是全局变量
y1=e.getY();
}
public void mouseClicked(MouseEvent e){
//点击
}
public void mouseReleased(MouseEvent e){
//释放,取坐标2点
x2=e.getX();
y2=e.getY();
//设置绘制直线的方法
if(test=="直线"){
g.drawLine(x1, y1, x2, y2);
}
//设置绘制椭圆的方法
if(test=="椭圆"){
g.drawOval(Math.min(x1,x2), Math.min(y1,y2), Math.abs(x2-x1), Math.abs(y2-y1));
}
//设置绘制矩形的方法
if(test=="矩形"){
g.drawRect(Math.min(x1,x2), Math.min(y1,y2), Math.abs(x2-x1), Math.abs(y2-y1));
}
}
};
//在窗口上添加鼠标监听器
frame.addMouseListener(mouse_listener);
//设置窗体可见
frame.setVisible(true);//在画布取值之前
g=frame.getGraphics();//如果在可见之前,就取g的值,则g=Null;
}}