16. 26. 3. 원하는 크기의 그림 로드 Image and scale it
import javax.swing.JFrame;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Image;
import javax.swing.JButton;
import javax.swing.JPanel;
import java.awt.Graphics;
import java.awt.BorderLayout;
import javax.swing.JFileChooser;
import java.io.File;
import javax.swing.filechooser.FileFilter;
import java.awt.Toolkit;
/**
* : ,
* eclipse, EditPlus , ....
* , , , ....
*/
public class ImageFileFilterImageScale extends JFrame implements ActionListener{
Image img;// , , ?
JButton getPictureButton = new JButton(" ");
public ImageFileFilterImageScale(){
this.setSize(300,300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//
JPanel picPanel = new PicturePanel();// ? paint
this.add(picPanel,BorderLayout.CENTER);
JPanel buttonPanel = new JPanel();
getPictureButton.addActionListener(this);
buttonPanel.add(getPictureButton);
this.add(buttonPanel,BorderLayout.SOUTH);
this.setVisible(true);
}
class PicturePanel extends JPanel{
public void paint(Graphics g){// !
g.drawImage(img,0,0,this);
}
}
public void actionPerformed(ActionEvent e){
String file = getImageFile();// ,
if(file != null){// ,
//Toolkit: , , , !
Toolkit kit = Toolkit.getDefaultToolkit();
img = kit.getImage(file);//
/**getScaleInstance() 。
* 300, ,-1 ? :
* width height , 。
* width height , 。
*scale_smooth 。
*/
img = img.getScaledInstance(300,-1,Image.SCALE_SMOOTH);
this.repaint();
}
}
private String getImageFile(){
JFileChooser fc = new JFileChooser();//
fc.setFileFilter(new ImageFilter());// ,
int result = fc.showOpenDialog(null);
File file = null;//
if(result == JFileChooser.APPROVE_OPTION){
file = fc.getSelectedFile();// , file
return file.getPath();
}else{
return null;
}
}
public static void main(String[] args) {
new ImageFileFilterImageScale();
}
}
class ImageFilter extends FileFilter{//// ImageFilter(),
public boolean accept(File f){
if(f.isDirectory()){// , true
return true;
}
String name = f.getName();
if(name.matches(".*((.jpg)|(.gif)|(.png))")){
return true;
}else{
return false;
}
}
public String getDescription(){
return " (*.jpg,*.gif,*.png)";
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
m1 이클립스에 oracle cloud (오라클 클라우드)연결하기m1에는 oracle이 설치되지 않는다.... 큰맘먹고 지른 m1인데 oracle이 설치되지 않는다니... 하지만 이뻐서 용서가 된다. 이거 때문에 웹 개발 국비수업을 듣는 도중에 몇번 좌절하고 스트레스를 크게 받았...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.