我的程序有一个JPanel和一个JButton,但是程序运行之后,只有一个窗框,什么都没有。要自己手动调整窗框的大小之后按钮才出来,请问是什么原因??我在我同学机器上跑也一样,很奇怪。下面是源代码:import javax.swing.*;
import java.awt.*;
import java.awt.image.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;public class client implements ActionListener{ /**
 * @param args
 */
BufferedImage img = null;
JPanel imgPanel;

public client()
{
JFrame app = new JFrame("Tesing of MyMaps");
app.setVisible(true);
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
app.setSize(500,500);

Container container = app.getContentPane();

JButton btnDraw = new JButton("Draw"); 
btnDraw.addActionListener(this);

imgPanel = new JPanel();

container.add(imgPanel,BorderLayout.CENTER);
container.add(btnDraw,BorderLayout.SOUTH);
}

public void actionPerformed(ActionEvent e)
{
DataOutputStream dataOut = null;
InputStream imgIn = null;
byte[] Buffer;

try
{
Socket client = new Socket("localhost",5000);
dataOut = new DataOutputStream(client.getOutputStream());
imgIn = client.getInputStream();

dataOut.writeInt(1);
while(imgIn.available()==0);
Buffer = new byte[imgIn.available()];
imgIn.read(Buffer);

//img = ImageUti.getDecompressedImage(Buffer);

Graphics2D g = (Graphics2D)imgPanel.getGraphics();

g.drawImage(img,null,0,0);

dataOut.writeInt(0);

client.close();
}
catch(Exception e2)
{
e2.printStackTrace();
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
client cc = new client();

}}