java swig getscaleinstance()方法

求助各位 去掉注释后图片就无法加载 为什么?代码稍后贴出[图片说明]

感觉应该是你图片的太大 不压缩的话 解析不了 你可以试试换一个小一点的图片 不压缩试试

package Server;

import java.awt.BorderLayout;
import java.awt.Canvas;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.net.ServerSocket;
import java.net.Socket;

import javax.imageio.ImageIO;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class Server {
static int i=0;
BufferedImage buffered;
Graphics g;
ServerSocket serversocket;
Socket socket;
JFrame frame;

DataInputStream reader;
Icon icon;
JLabel label;
static private Image image;
public Server() {
    try {
        label=new JLabel("ceshi");


        serversocket=new ServerSocket(9999);
        frame=new JFrame("测试");
        frame.add(label);
        frame.setSize(500, 470);    
        frame.setLayout(null);
        new Thread(new Runnable() {
            public void run() {
                while(true) {
                    try {
                        socket=serversocket.accept();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                    receive(socket);
                }
            }
        }).start();
    } catch (IOException e) {           
        e.printStackTrace();
    }
}

public void receive(Socket socket) {//为每个socket开一个新线程
    new Thread(new Runnable() {

        @Override
        public void run() {

            try {

                reader=new DataInputStream(socket.getInputStream());
                byte[]array=new byte[102400];
                int n=reader.read(array);
                FileOutputStream writer=new FileOutputStream("D:\\testt.jpg");
                writer.write(array,0,n);                    
                BufferedImage image=ImageIO.read(new File("D:\\testt.jpg"));
                //Image image=image.getScaledInstance(200, 270, Image.SCALE_DEFAULT);                   
                xianshi(image);

            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    }).start();
}

private void xianshi(Image image) {
    new Thread(new Runnable() {

        @Override
        public void run() {
            frame.remove(label);
            label.setVisible(false);
            label=new JLabel(new ImageIcon(image));
            label.setToolTipText("dfhkdjsfh");
            label.setBounds(0, 0, 500, 470);
            frame.add(label);
            frame.setVisible(true);
            frame.repaint();

        }

    }).start();

}


public static void main(String[]args) {
    new Server();
}

}