swing获取网络图片,并压缩显示

来源:互联网 发布:加拿大28百分百中算法 编辑:程序博客网 时间:2024/05/21 09:11
import java.awt.Container;import java.awt.Dimension;import java.awt.FlowLayout;import java.awt.Image;import java.awt.Toolkit;import java.awt.image.BufferedImage;import java.io.IOException;import java.net.URL;import javax.imageio.ImageIO;import javax.swing.GroupLayout;import javax.swing.ImageIcon;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;public class GUIOutPanel extends JFrame {private int width;private int height;private Dimension windowsize;private Container contentpanel;private FourPixCreator fourPixCreator;private JLabel jLabel1;private JLabel jLabel2;private JLabel jLabel3;private JLabel jLabel4;GUIOutPanel(){init();setPanel();}public void setfourPixCreator(FourPixCreator fourPixCreator){this.fourPixCreator=fourPixCreator;}public void init() {// TODO 自动生成的方法存根width=600;height=500;windowsize=Toolkit.getDefaultToolkit().getScreenSize();setBounds((windowsize.width-width)/2, (windowsize.height-height)/2, width, height);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);contentpanel=getContentPane();}public JLabel getJLabel(){JLabel jLabel=new JLabel();Dimension dimension=new Dimension(200,200);jLabel.setMinimumSize(dimension);jLabel.setMaximumSize(dimension);return jLabel;}public ImageIcon getImageIcon(String urlString){URL url;try {url = new URL(urlString);BufferedImage bufferedImage=ImageIO.read(url.openStream());Image itemImage=bufferedImage.getScaledInstance(bufferedImage.getWidth()/2, bufferedImage.getHeight()/2, BufferedImage.SCALE_SMOOTH);ImageIcon imageIcon=new ImageIcon(itemImage);return imageIcon;} catch (IOException e) {// TODO 自动生成的 catch 块e.printStackTrace();}return null;}public void updatePicture(){jLabel1.setIcon(getImageIcon(fourPixCreator.getURL1()));jLabel2.setIcon(getImageIcon(fourPixCreator.getURL2()));jLabel3.setIcon(getImageIcon(fourPixCreator.getURL3()));jLabel4.setIcon(getImageIcon(fourPixCreator.getURL4()));}public void setPanel() {// TODO 自动生成的方法存根JPanel jPanel=new JPanel();GroupLayout groupLayout=new GroupLayout(jPanel);jPanel.setLayout(groupLayout);jLabel1=getJLabel();jLabel2=getJLabel();jLabel3=getJLabel();jLabel4=getJLabel();groupLayout.setAutoCreateContainerGaps(true);groupLayout.setAutoCreateGaps(true);groupLayout.setHorizontalGroup(groupLayout.createSequentialGroup().addGroup(groupLayout.createParallelGroup().addComponent(jLabel1).addComponent(jLabel3)).addGroup(groupLayout.createParallelGroup().addComponent(jLabel2).addComponent(jLabel4)));groupLayout.setVerticalGroup(groupLayout.createSequentialGroup().addGroup(groupLayout.createParallelGroup().addComponent(jLabel1).addComponent(jLabel2)).addGroup(groupLayout.createParallelGroup().addComponent(jLabel3).addComponent(jLabel4)));setLayout(new FlowLayout());add(jPanel);}}

0 0
原创粉丝点击