📄 hsdraw1.java
字号:
ly2[ltp] = e.getY() ;
ltp ++ ;
lcolor[ltp] = lcolor[ltp-1] ;
}
if(oo == 1) {
System.out.println ("otp = " + otp) ;
ox2[otp] = e.getX() ;
oy2[otp] = e.getY() ;
otp ++ ;
ocolor[otp] = ocolor[otp-1] ;
}
if(oo == 2) {
System.out.println ("rtp = " + rtp) ;
rx2[rtp] = e.getX() ;
ry2[rtp] = e.getY() ;
rtp ++ ;
rcolor[rtp] = rcolor[rtp-1] ;
}
if(oo == 3) {
System.out.println ("fotp = " + fotp) ;
fox2[fotp] = e.getX() ;
foy2[fotp] = e.getY() ;
fotp ++ ;
focolor[fotp] = focolor[fotp-1] ;
}
if(oo == 4) {
System.out.println ("frtp = " + frtp) ;
frx2[frtp] = e.getX() ;
fry2[frtp] = e.getY() ;
frtp ++ ;
frcolor[frtp] = frcolor[frtp-1] ;
}
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
//按扭事件
public void actionPerformed(ActionEvent e) {
JFileChooser fc = new JFileChooser() ;
fc.setFileSelectionMode(JFileChooser.FILES_ONLY) ;
//按下颜色按钮设置画笔颜色
if(e.getActionCommand().equals("red")) {
lcolor[ltp] = 0 ;
ocolor[otp] = 0 ;
rcolor[rtp] = 0 ;
focolor[fotp] = 0 ;
frcolor[frtp] = 0 ;
}
if(e.getActionCommand().equals("yellow")) {
lcolor[ltp] = 1 ;
ocolor[otp] = 1 ;
rcolor[rtp] = 1 ;
focolor[fotp] = 1 ;
frcolor[frtp] = 1 ;
}
if(e.getActionCommand().equals("blue")) {
lcolor[ltp] = 2 ;
ocolor[otp] = 2 ;
rcolor[rtp] = 2 ;
focolor[fotp] = 2 ;
frcolor[frtp] = 2 ;
}
if(e.getActionCommand().equals("black")) {
lcolor[ltp] = 3 ;
ocolor[otp] = 3 ;
rcolor[rtp] = 3 ;
focolor[fotp] = 3 ;
frcolor[frtp] = 3 ;
}
if(e.getActionCommand().equals("green")) {
lcolor[ltp] = 4 ;
ocolor[otp] = 4 ;
rcolor[rtp] = 4 ;
focolor[fotp] = 4 ;
frcolor[frtp] = 4 ;
}
if(e.getActionCommand().equals("orange")) {
lcolor[ltp] = 5 ;
ocolor[otp] = 5 ;
rcolor[rtp] = 5 ;
focolor[fotp] = 5 ;
frcolor[frtp] = 5 ;
}
if(e.getActionCommand().equals("pink")) {
lcolor[ltp] = 6 ;
ocolor[otp] = 6 ;
rcolor[rtp] = 6 ;
focolor[fotp] = 6 ;
frcolor[frtp] = 6 ;
}
//按下功能按钮设置画笔型号
if(e.getActionCommand().equals("Line")) {
System.out.println ("oo = 0 ;") ;
oo = 0 ;
}
if(e.getActionCommand().equals("Oval")) {
System.out.println ("oo = 1 ;") ;
oo = 1 ;
}
if(e.getActionCommand().equals("Rect")) {
System.out.println ("oo = 2 ;") ;
oo = 2 ;
}
if(e.getActionCommand().equals("fillOval")) {
System.out.println ("oo = 3 ;") ;
oo = 3 ;
}
if(e.getActionCommand().equals("fillRect")) {
System.out.println ("oo = 4 ;") ;
oo = 4 ;
}
//打开原有文件
if(e.getActionCommand().equals("OPEN")) {
fc.showOpenDialog(this) ;
File ff = fc.getSelectedFile() ;
HsDraw1.tt.setText(ff.getPath()) ;
this.read() ;
}
//保存当前画板上的图象
if(e.getActionCommand().equals("SAVE")) {
fc.showSaveDialog(this) ;
File ff = fc.getSelectedFile() ;
HsDraw1.tt.setText(ff.getPath()) ;
this.save() ;
}
//清除画板
if(e.getActionCommand().equals("clear")) {
this.clear() ;
}
}
public void windowOpened(WindowEvent e) {
// TODO: Add your code here
}
public void windowClosing(WindowEvent e) {
// this.save() ;
System.exit(0) ;
}
public void windowClosed(WindowEvent e) {
// TODO: Add your code here
}
public void windowIconified(WindowEvent e) {
// TODO: Add your code here
}
public void windowDeiconified(WindowEvent e) {
// TODO: Add your code here
}
public void windowActivated(WindowEvent e) {
// TODO: Add your code here
}
public void windowDeactivated(WindowEvent e) {
// TODO: Add your code here
}
//清除画板
void clear() {
System.out.println ("clear") ;
ltp = 0 ;
otp = 0 ;
rtp = 0 ;
fotp = 0 ;
frtp = 0 ;
for (int i = 0; i<num; i++) {
lx1[i] = 0 ;
ly1[i] = 0 ;
lx2[i] = 0 ;
ly2[i] = 0 ;
ox1[i] = 0 ;
oy1[i] = 0 ;
ox2[i] = 0 ;
oy2[i] = 0 ;
rx1[i] = 0 ;
ry1[i] = 0 ;
rx2[i] = 0 ;
ry2[i] = 0 ;
fox1[i] = 0 ;
foy1[i] = 0 ;
fox2[i] = 0 ;
foy2[i] = 0 ;
frx1[i] = 0 ;
fry1[i] = 0 ;
frx2[i] = 0 ;
fry2[i] = 0 ;
}
this.repaint() ;
}
//保存当前画板图象
void save() {
try {
;
File f = new File(HsDraw1.tt.getText()) ;
FileWriter fw = new FileWriter(f) ;
PrintWriter pw = new PrintWriter(fw) ;
//保存
System.out.println ("SAVE") ;
//保存线
pw.println(ltp) ;
for (int i = 0; i<ltp; i++){
pw.println(lcolor[i]) ;
pw.println(lx1[i]) ;
pw.println(ly1[i]) ;
pw.println(lx2[i]) ;
pw.println(ly2[i]) ;
}
//保存圆
pw.println(otp) ;
for (int i = 0; i<otp ; i++) {
pw.println(ocolor[i]) ;
pw.println(ox1[i]) ;
pw.println(oy1[i]) ;
pw.println(ox2[i]) ;
pw.println(oy2[i]) ;
}
//保存矩形
pw.println(rtp) ;
for (int i = 0; i<rtp ; i++) {
pw.println(rcolor[i]) ;
pw.println(rx1[i]) ;
pw.println(ry1[i]) ;
pw.println(rx2[i]) ;
pw.println(ry2[i]) ;
}
//保存实心圆
pw.println(fotp) ;
for (int i = 0; i<fotp ; i++) {
pw.println(focolor[i]) ;
pw.println(fox1[i]) ;
pw.println(foy1[i]) ;
pw.println(fox2[i]) ;
pw.println(foy2[i]) ;
}
//保存实心矩形
pw.println(frtp) ;
for (int i = 0; i<frtp ; i++) {
pw.println(frcolor[i]) ;
pw.println(frx1[i]) ;
pw.println(fry1[i]) ;
pw.println(frx2[i]) ;
pw.println(fry2[i]) ;
}
pw.close() ;
}
catch (Exception ex) {
}
}
//读文件中的数据 并显示在画板上
void read() {
System.out.println ("OPEN") ;
this.clear() ;//打开前清除画板
try {
File f = new File(HsDraw1.tt.getText()) ;
FileReader fr = new FileReader(f) ;
BufferedReader bfr = new BufferedReader(fr) ;
//读线的数据
int ltpnum = Integer.valueOf(bfr.readLine()) ;
ltp = ltpnum + 1 ;
for (int i = 0; i<ltpnum ; i++) {
lcolor[i] = Integer.valueOf(bfr.readLine()) ;
lx1[i] = Integer.valueOf(bfr.readLine()) ;
ly1[i] = Integer.valueOf(bfr.readLine()) ;
lx2[i] = Integer.valueOf(bfr.readLine()) ;
ly2[i] = Integer.valueOf(bfr.readLine()) ;
}
//读圆的数据
int otpnum = Integer.valueOf(bfr.readLine()) ;
otp = otpnum + 1 ;
for (int i = 0; i<otpnum; i++) {
ocolor[i] = Integer.valueOf(bfr.readLine()) ;
ox1[i] = Integer.valueOf(bfr.readLine()) ;
oy1[i] = Integer.valueOf(bfr.readLine()) ;
ox2[i] = Integer.valueOf(bfr.readLine()) ;
oy2[i] = Integer.valueOf(bfr.readLine()) ;
}
//读矩形的数据
int rtpnum = Integer.valueOf(bfr.readLine()) ;
rtp = rtpnum + 1 ;
for (int i = 0; i<rtpnum; i++) {
rcolor[i] = Integer.valueOf(bfr.readLine()) ;
rx1[i] = Integer.valueOf(bfr.readLine()) ;
ry1[i] = Integer.valueOf(bfr.readLine()) ;
rx2[i] = Integer.valueOf(bfr.readLine()) ;
ry2[i] = Integer.valueOf(bfr.readLine()) ;
}
//读实心圆的数据
int fotpnum = Integer.valueOf(bfr.readLine()) ;
fotp = fotpnum + 1 ;
for (int i = 0; i<fotpnum; i++) {
focolor[i] = Integer.valueOf(bfr.readLine()) ;
fox1[i] = Integer.valueOf(bfr.readLine()) ;
foy1[i] = Integer.valueOf(bfr.readLine()) ;
fox2[i] = Integer.valueOf(bfr.readLine()) ;
foy2[i] = Integer.valueOf(bfr.readLine()) ;
}
//读实心矩形的数据
int frtpnum = Integer.valueOf(bfr.readLine()) ;
frtp = frtpnum + 1 ;
for (int i = 0; i<frtpnum; i++) {
frcolor[i] = Integer.valueOf(bfr.readLine()) ;
frx1[i] = Integer.valueOf(bfr.readLine()) ;
fry1[i] = Integer.valueOf(bfr.readLine()) ;
frx2[i] = Integer.valueOf(bfr.readLine()) ;
fry2[i] = Integer.valueOf(bfr.readLine()) ;
}
this.repaint() ;
}
catch (Exception ex) {
}}}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -