62,615
社区成员
发帖
与我相关
我的任务
分享
//图片面板,这个显示是没有问题的
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
class PersonImage extends JPanel{
Image image=null;
PersonImage(int cSex){
if(cSex==1)image=new ImageIcon("ff1.jpg").getImage();
else if(cSex==2)image=new ImageIcon("ff2.jpg").getImage();
else image=new ImageIcon("ff3.jpg").getImage();
setPreferredSize(new Dimension(image.getWidth(this),image.getHeight(this)));
}
public void paintComponent(Graphics g){
super.paintComponent(g);
g.drawImage(image, 0, 0, this);
}
}
//第二个面板,什么也显示不出来
import java.awt.Dimension;
import java.awt.FlowLayout;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class PersonPanel extends JPanel{
PersonImage pi;
JLabel p_name,p_ip;
public void PersonPanel(){
pi=new PersonImage(3);
pi.setBounds(0, 30, 470, 260);
p_name=new JLabel("漫舞流雲");//将由某个变量显示当前用户昵称
p_name.setBounds(6, 20, 85, 21);
p_ip=new JLabel("IP:127.0.0.1");//将由某个变量显示当前socket的Ip
p_ip.setBounds(5, 520, 100, 21);
this.setLayout(null);
this.add(pi);
this.add(p_name);
this.add(p_ip);
this.setPreferredSize(new Dimension(260,550));
}
}
//窗口,用pi是可以成功显示图片的,用pers就全灰的
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.FlowLayout;
class TestFrame extends JFrame{
//PersonImage pi;
PersonPanel pers;
TestFrame(){
super("测试");
pers=new PersonPanel();
//pi=new PersonImage(3);
setLayout(new FlowLayout());
//add(pi);
this.add(pers);
this.setBounds(0,0,280,550);
this.setVisible(true);
}
public static void main(String[] args){
new TestFrame();
}
}