當前位置:編程學習大全網 - 源碼下載 - Java圖像源代碼

Java圖像源代碼

我給妳代碼,看評論。為了防止鼠標左右移動時橫向移動,我加了壹個範旋。

在二十個像素內,它被認為是水平的。

看壹看。

還好妳是按著鼠標移動的,如果只是移動鼠標就麻煩了。

-

導入Java . awt . graphics;

導入Java . awt . mouse info;

導入Java . awt . point;

導入Java . awt . event . action event;

導入Java . awt . event . action listener;

導入Java . awt . event . mouse event;

導入Java . awt . event . mouse listener;

導入Java . io . file;

導入javax . swing . image icon;

導入javax . swing . jbutton;

導入javax . swing . jfile chooser;

導入javax . swing . jframe;

導入javax . swing . jpanel;

導入javax . swing . file chooser . filenameextensionfilter;

公共類App擴展JFrame實現MouseListener,ActionListener {

int x = 0;

int y = 0;

file[]selected files = null;

int file index = 0;

int width = 200

int height = 200

公共應用(){

setDefaultCloseOperation(EXIT _ ON _ CLOSE);

setLocationRelativeTo(null);

setSize(400,300);

setResizable(false);

getContentPane()。set layout(null);

JPanel panel = new image panel();

panel.setBounds(12,40,370,218);

getContentPane()。添加(面板);

addmouse listener(this);

JButton BTN Browse = new JButton(" Browse ");

BTN browse . addactionlistener(this);

btnBrowse.setBounds(12,9,91,21);

getContentPane()。添加(BTN browse);

set visible(true);

}

公共靜態void main(String[] args) {

新App();

}

public void action performed(action event e){

jfile chooser chooser = new jfile chooser();

chooser . setmultiselectenabled(true);

FileNameExtensionFilter filter = new FileNameExtensionFilter(

JPG & amp;GIF圖片”、“jpg”、“GIF”);

//設置文件類型

chooser.setFileFilter(過濾器);

//打開選擇器面板

int return val = chooser . showopendialog(this);

if (returnVal == JFileChooser。APPROVE_OPTION) {

selected files = chooser . getselected files();

repaint();

}

}

public void mouse clicked(mouse event e){

}

public void mouse enter(mouse event e){

}

public void mouse exited(mouse event e){

}

public void mouse pressed(mouse event e){

point point = mouse info . getpointerinfo()。get location();

x = point.x

y = point.y

}

public void mouse released(mouse event e){

point point = mouse info . getpointerinfo()。get location();

int thisX = point.x

int thisY = point.y

system . out . println(" thisX = "+thisX+" "+" thisY = "+thisY);

如果((y-thisY & lt;20 & amp& ampy-thisY & gt;0)

| |(y-thisY & lt;0 & amp& ampy-thisY & gt;-20)) {

// Y在20°範圍內移動被認為是水平移動。

if(x & lt;thisX) {

//右

if (selectedFiles!=空

& amp& ampfileIndex & ltselectedFiles.length - 1) {

file index++;

}

}否則{

//左側

if (selectedFiles!= null & amp& ampfileIndex & gt0) {

文件索引-;

}

}

}否則{

if(x & lt;thisX) {

//右下方

寬度+= 20;

高度+= 20;

}否則{

//左上角

寬度-= 20;

高度-= 20;

}

}

repaint();

}

ImagePanel類擴展JPanel {

公共空白油漆(圖形g) {

super.paint(克);

if (selectedFiles!= null) {

image icon icon = new image icon(selected files[file index]

。getPath());

g.drawImage(icon.getImage(),0,0,width,height,this);

}

}

}

}

  • 上一篇:公司貸款方案
  • 下一篇:android studio怎麽導入第三方libraries
  • copyright 2024編程學習大全網