日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 渐变橡皮擦_java 的画板上面的一个橡皮檫功能

發(fā)布時(shí)間:2023/12/20 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 渐变橡皮擦_java 的画板上面的一个橡皮檫功能 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;classToolBarextendsJPanel{//工具條Image[]img;//圖標(biāo)數(shù)組intselect=0;//選擇項(xiàng)ToolBar(String[]s){//構(gòu)造方法intn=s...

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

class ToolBar extends JPanel{//工具條

Image[] img;//圖標(biāo)數(shù)組

int select=0;//選擇項(xiàng)

ToolBar(String[] s){//構(gòu)造方法

int n=s.length;

img=new Image[n];

for(int i=0;i

setPreferredSize(new Dimension(0,30));//首選大小

addMouseListener(new MouseAdapter(){

public void mousePressed(MouseEvent e){//按下鼠標(biāo)

int n=(e.getX()-5)/25;

if(n

}

});

}

protected void paintComponent(Graphics g){//重繪

g.clearRect(0,0,getWidth(),getHeight());//清除

for(int i=0;i

g.drawRect(3+select*25,3,23,23);//突出選擇項(xiàng)

}

}

//

class P extends JPanel{//畫板

ToolBar toolBar;//工具條

int state=0;

int x=0;

int y=0;

Image bImage;//后臺(tái)圖像

Graphics bg;//后臺(tái)畫布

P(ToolBar b){//構(gòu)造方法

toolBar=b;

addMouseListener(

new MouseAdapter(){//監(jiān)聽器

public void mousePressed(MouseEvent e){

switch(toolBar.select){

case 1://橢圓

state+=1000;

x=e.getX();

y=e.getY();

break;

case 2://矩形

state+=2000;

x=e.getX();

y=e.getY();

break;

}

}

public void mouseReleased(MouseEvent e){

switch(toolBar.select){

case 1://橢圓

bg.setColor(Color.black);//黑色

bg.drawOval(x,y,e.getX()-x,e.getY()-y);//橢圓

repaint();//重繪

break;

case 2://矩形

bg.setColor(Color.black);//黑色

bg.drawRect(x,y,e.getX()-x,e.getY()-y);//橢圓

repaint();//重繪

break;

}

}

});

}

protected void paintComponent(Graphics g){//自動(dòng)重繪

if(bImage==null){//首次創(chuàng)建

bImage = createImage(getSize().width,getSize().height);//后臺(tái)圖像

bg=bImage.getGraphics();//后臺(tái)畫布

bg.setColor(Color.white);//白色

bg.fill3DRect(0, 0, getWidth(), getHeight(), true); //矩形

}

g.drawImage(bImage,0,0,this);//將背景圖復(fù)制到前臺(tái)

}

}

class paint{

public static void main(String[] args){

JFrame f=new JFrame("電子畫板");

String[] s={"橡皮擦.jpg","橢圓.jpg","矩形.jpg"};

ToolBar b=new ToolBar(s);

f.add(b,"North");

f.add(new P(b));

f.setDefaultCloseOperation(f.EXIT_ON_CLOSE);

f.setBounds(200,100,400,300);

f.setVisible(true);

}

}

-------------------------------------------------------------

放至代碼的文件夾下面有三個(gè)小圖標(biāo) 橡皮擦.jpg","橢圓.jpg","矩形.jpg 現(xiàn)在我的橡皮檫功能還沒有實(shí)現(xiàn),問一下有沒有什么Graphics里面的方法能提供這種功能·

展開

總結(jié)

以上是生活随笔為你收集整理的java 渐变橡皮擦_java 的画板上面的一个橡皮檫功能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。