WEB开发网      濠电姷鏁告繛鈧繛浣冲洤纾瑰┑鐘宠壘閻ょ偓銇勯幇鍫曟闁稿鍠愰妵鍕冀閵娧佲偓鎺楁⒒閸曨偄顏柡宀嬬畱铻e〒姘煎灡绗戦梻浣筋嚙濮橈箓顢氳濠€浣糕攽閻樿宸ュΔ鐘叉啞缁傚秹宕滆绾惧ジ寮堕崼娑樺缂佹宀搁弻鐔风暋閻楀牆娈楅梺璇″枓閺呯姴鐣疯ぐ鎺濇晝闁靛牆妫欓蹇旂節閻㈤潧浠﹂柛銊ョ埣楠炴劙骞橀鑲╋紱闂佽宕樼粔顔裤亹閹烘挸浜归梺缁樺灦閿曗晛螞閸曨垱鈷戦柟鑲╁仜婵″ジ鎮楀☉鎺撴珖缂侇喖顑呴鍏煎緞濡粯娅囬梻浣瑰缁诲倿寮绘繝鍥ㄦ櫇闁稿本绋撻崢鐢告煟鎼淬垻鈯曢柨姘舵煟韫囥儳绋荤紒缁樼箖缁绘繈宕橀妸褌绱濋梻浣筋嚃閸ㄤ即宕弶鎴犳殾闁绘梻鈷堥弫鍌炴煕閳锯偓閺呮瑧妲愬Ο琛℃斀闁绘劕妯婇崵鐔封攽椤旇棄鍔ら摶鐐烘煕閺囥劌澧柛娆忕箻閺屽秹宕崟顒€娅g紓浣插亾濠㈣泛顑囩粻楣冩煙鐎涙ḿ绠橀柨娑樼У椤ㄣ儵鎮欓鍕紙闂佽鍠栫紞濠傜暦閹偊妲诲┑鈩冨絻椤兘寮诲☉銏犖╅柕澶堝労閸斿绱撴担绋库偓鍝ョ矓瑜版帒鏋侀柟鍓х帛閺呮悂鏌ㄩ悤鍌涘 ---闂傚倸鍊烽悞锔锯偓绗涘厾娲煛閸涱厾顔嗛梺璺ㄥ櫐閹凤拷
开发学院WEB开发Jsp 一个浏览图片程序 阅读

一个浏览图片程序

 2008-01-05 08:37:13 来源:WEB开发网 闂傚倸鍊风欢姘缚瑜嶈灋闁圭虎鍠栫粻顖炴煥閻曞倹瀚�闂傚倸鍊风粈渚€骞夐敓鐘插瀭闁汇垹鐏氬畷鏌ユ煙閹殿喖顣奸柛搴$У閵囧嫰骞掗幋婵冨亾閻㈢ǹ纾婚柟鐐灱濡插牊绻涢崱妤冃℃繛宀婁簽缁辨捇宕掑鎵佹瀸闂佺懓鍤栭幏锟�濠电姷鏁告慨顓㈠箯閸愵喖宸濇い鎾寸箘閹规洟姊绘笟鈧ḿ褍煤閵堝悿娲Ω閳轰胶鍔﹀銈嗗笂閼冲爼鍩婇弴銏$厪闁搞儮鏅涙禒褏绱掓潏鈺佷槐闁轰焦鎹囬弫鎾绘晸閿燂拷闂傚倸鍊风欢姘缚瑜嶈灋闁圭虎鍠栫粻顖炴煥閻曞倹瀚�  闂傚倸鍊烽懗鑸电仚缂備胶绮〃鍛村煝瀹ュ鍗抽柕蹇曞У閻庮剟姊虹紒妯哄闁诲繑姘ㄩ埀顒佸嚬閸撶喎顫忓ú顏勫瀭妞ゆ洖鎳庨崜浼存⒑闁偛鑻晶顔剧磼婢跺﹦绉虹€殿喖顭锋俊姝岊槷闁稿鎹囧Λ鍐ㄢ槈濞嗗繑娈橀梻浣风串缂嶁偓濞存粠鍓熼崺鈧い鎺戝€归弳顒勬煕鐎n亷韬€规洑鍗冲鍊燁槾闁哄棴绠撻弻銊╂偆閸屾稑顏�
核心提示:import javax.swing.*; import java.awt.Graphics; import java.awt.*; import java.awt.event.*; public class ImageViewer extends JFrame{ Image imageFirst;//初始图像 Ima

import javax.swing.*; 
import java.awt.Graphics; 
import java.awt.*; 
import java.awt.event.*; 

public class ImageViewer extends JFrame{ 

Image imageFirst;//初始图像 
ImagePanel panel=new ImagePanel();//用来显示图像的panel 

JMenuBar jmb=new JMenuBar(); 

JMenu file=new JMenu("File"); 
JMenu modify=new JMenu("Modify"); 

JMenuItem open=new JMenuItem("open"); 
JMenuItem exit=new JMenuItem("exit"); 

ButtonGroup bg=new ButtonGroup(); 
JRadioButtonMenuItem rate1=new JRadioButtonMenuItem("to 50%");//这三个菜单项 
JRadioButtonMenuItem rate2=new JRadioButtonMenuItem("to 100%");//用来改变图像 
JRadioButtonMenuItem rate3=new JRadioButtonMenuItem("to 200%");//显示的大小 

JToolBar toolbar=new JToolBar();//只有一个button简单的toolbar 
JButton button=new JButton("A JToolBar Contain A Jbutton"); 

ImageViewer(){ 

this.getContentPane().setLayout(null); 

this.setBounds(200,200,500,400); 
this.setResizable(false); 
this.setTitle("ImageViewer"); 

imageFirst=java.awt.Toolkit.getDefaultToolkit().getImage("images/opean.gif"); 
panel.setImage(imageFirst); 

jmb.add(file); 
jmb.add(modify); 

open.addActionListener(new OpenAction()); 
file.add(open); 
file.add(exit); 

bg.add(rate1); bg.add(rate2); bg.add(rate3); 
modify.add(rate1); 
modify.add(rate2); rate2.setSelected(true); 
modify.add(rate3); 

rate1.addItemListener(new ItemListener(){ 
public void itemStateChanged(ItemEvent e){ 
if(rate1.isSelected()==true){ 
panel.setRate(0.5); 
System.out.PRintln("rate1 been selected!"); 
panel.repaint(); 


}); 

rate2.addItemListener(new ItemListener(){ 
public void itemStateChanged(ItemEvent e){ 
if(rate2.isSelected()==true){ 
panel.setRate(1); 
System.out.println("rate2 been selected!"); 
panel.repaint(); 


}); 

rate3.addItemListener(new ItemListener(){ 
public void itemStateChanged(ItemEvent e){ 
if(rate3.isSelected()==true){ 
panel.setRate(2); 
System.out.println("rate3 been selected!"); 
panel.repaint(); 


}); 
exit.addActionListener(new ActionListener(){ 
public void actionPerformed(ActionEvent e){ 
System.exit(0); 
}}); 

this.setJMenuBar(jmb); 

panel.setBounds(0,30,this.getWidth(),this.getHeight()-60); 
this.getContentPane().add(panel); 

button.addActionListener(new ActionListener(){ 
public void actionPerformed(ActionEvent e){ 
JOptionPane.showMessageDialog(null,this); 

}); 
toolbar.add(button); 
toolbar.setLayout(new GridLayout()); 
toolbar.setBackground(Color.blue); 
toolbar.setBounds(0,0,500,30); 
this.getContentPane().add(toolbar); 
}//SwingDemo1 

//主方法 
public static void main(String argv[]){ 

JFrame.setDefaultLookAndFeelDecorated(true); 
ImageViewer app=new ImageViewer(); 
app.setVisible(true); 

app.repaint(); 


//内部类 菜单项opean处理事件 
class OpenAction implements ActionListener{ 
public void actionPerformed(ActionEvent e){ 

JFileChooser fc = new JFileChooser(); 
int returnVal = fc.showDialog(new ImageViewer(), "Open file"); 
String file = fc.getSelectedFile().getPath(); 
panel.setImage(file); 
panel.repaint(); 

System.out.println("open file action performed"); 





//外部类  Panel用来显示image 
class ImagePanel extends JPanel 

private Image image; 
private double rate=1; 

Dimension offDimension; 
Image offImage; 
Graphics offGraphics; 

ImagePanel(){ 
this.setBackground(Color.blue); 


public void update(Graphics g){ 
if(image!=null){ 
g.drawImage(image,0,0, 
(int)(this.getWidth()*rate/2),(int)(this.getHeight()*rate/2), 
this.getRootPane()); 

else 
{g.setColor(Color.red); 
g.fillRect(0,0,(int)(250*rate),(int)(200*rate)); 


public void paint(Graphics g){ 
update(g); 


public void setImage(Image image){ 
this.image=image; 


public void setRate(double rate){ 
this.rate=rate; 


public void setImage(String s){ 
this.image=java.awt.Toolkit.getDefaultToolkit().getImage(s); 


Tags:一个 浏览 图片

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接