導入Java . awt . borderlayout;
導入Java . awt . dimension;
導入Java . awt . event queue;
導入Java . awt . graphics;
導入javax . imageio . imageio;
導入javax . swing . jframe;
導入javax . swing . jpanel;
導入javax . swing . border . empty border;
導入Java . awt . gridbaglayout;
導入Java . awt . event . action event;
導入Java . awt . event . action listener;
導入Java . awt . image . buffered image;
導入javax . swing . joptionpane;
導入javax . swing . jscrollpane;
導入javax . swing . jtextfield;
導入javax . swing . jbutton;
導入javax . swing . jlabel;
導入Java . io . file;
公共類PainterFrame擴展JFrame {
私有JPanel contentPane
私有JTextField文本字段;
私有JScrollPane scrollPane
私有JPanel imagePanel
/**
*啟動應用程序。
*/
公共靜態void main(String[] args) {
event queue . invoke later(new Runnable(){
公共無效運行(){
嘗試{
painter frame frame = new painter frame();
frame . set visible(true);
} catch(異常e) {
e . printstacktrace();
}
}
});
}
/**
*創建框架。
*/
公共PainterFrame() {
setDefaultCloseOperation(JFrame。EXIT _ ON _ CLOSE);
setBounds(100,100,672,446);
setResizable(false);
content pane = new JPanel();
content pane . set border(new empty border(5,5,5,5));
setContentPane(內容窗格);
content pane . set layout(null);
scroll pane = new JScrollPane();
scrollPane.setBounds(10,10,644,351);
content pane . add(scroll pane);
textField = new JTextField();
textfield . set bounds(211,372,169,21);
content pane . add(textField);
textfield . set columns(10);
JButton btnNewButton = new JButton(" \ u 6253 \ u5f 00 ");
btnNewButton.setBounds(425,371,93,23);
btnnewbutton . addactionlistener(new action listener(){
public void action performed(action event e){
嘗試{
paint image();
}catch(Exception ex){
warn();
}
}
});
content pane . add(btnNewButton);
JLabel label = new JLabel(" \ u60a 8 \ u 8981 \ u 6253 \ u5f 00 \ u 7684 \ u 6587 \ u4ef 6 \ uff 1A ");
label.setBounds(83,375,118,15);
contentPane.add(標簽);
}
私有void paintImage()引發異常{
File image File = new File(textfield . gettext());
if(image file . exists()& amp;& ampimageFile.isFile()){
//InputStream is = new file InputStream(image file);
final buffered image bi = imageio . read(image file);
imagePanel=new JPanel(){
公共空白油漆(圖形g){
g.drawImage(bi,0,0,null);
}
};
imagepanel . setpreferredsize(new Dimension(bi . getwidth()、bi . getheight()));
scroll pane . setviewportview(image panel);
}否則{
拋出新的異常();
}
}
私有void warn(){
Joptionpane。顯示消息對話框(這個,“妳輸入的圖片打不開”);
}
}