添加图片到JPanel,再将JPanel添加入JFrame?

importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.net.URL;public... import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.net.URL;
public class Ball{

Ball(){
}
public static void main(String[]args){
JBallPanel jbp=new JBallPanel();
JFrame jf=new JFrame("Ball");
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setLayout(new GridLayout(2,1,0,0));
jf.add(jbp);
Toolkit t=jf.getToolkit();
Dimension d=t.getScreenSize();
jf.setBounds(d.width/4,d.height/4,(int)(d.width/2),d.height/2);
jf.setVisible(true);
}

}
class JBallPanel extends JPanel{ //创建四张图
JBallPanel(){
JImagePanel jip1=new JImagePanel(true);
JImagePanel jip2=new JImagePanel(true);
JImagePanel jip3=new JImagePanel(true);
JImagePanel jip4=new JImagePanel(true);
setBackground(Color.YELLOW);
setLayout(new FlowLayout());
add(jip1);
add(jip2);
add(jip3);
add(jip4);
}
}
class JImagePanel extends JPanel{ //创建带图片的面板
ImageIcon icon;
JImagePanel(boolean isRoll){
URL u=null;
if(isRoll){
u= getClass().getResource("img/bollStatic.png");
}
icon=new ImageIcon(u);
}
public void paintComponent(Graphics g){
super.paintComponent(g);
g.drawImage(icon.getImage(), 0, 0,this);
}

}
如上,由于在JFrame中还想加入别的东西,因此想把这几张图片统一放入一个JPanel中管理,可这样图片只显示出四个白色的小框,怎么解决?
展开
 我来答
jebe7282
2009-08-01 · TA获得超过190个赞
知道答主
回答量:95
采纳率:0%
帮助的人:0
展开全部
FLowLayout 改成GridLayout试试

29行
改成
//setLayout(new GridLayout(1,4));
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式