我想做出一个设置头像的面板,像QQ的那样,是在一个滚动面板中的。但是做出来后要不就是有些按钮没有显示出来,要不就是按钮变成长方形,比如里面图像是32*32的,按钮变成50*40之样的,很不好看。请教原因及解决方法。
下面是部分代码。 /*以下是Center界面*/
JPanel p2 = new JPanel();
// p2.setLayout(null);           /*用这种布局按,再用jbutton.setBounds,但没法使得按钮可以拉动滚动条显示*/
p2.setLayout(new GridLayout(10,10));  //这种情况下按钮不是和图像一样大小的
JScrollPane p20 = new JScrollPane();
p20.setBounds(7,0,340,160);

for (int n=1,i=0; i<10; i++){
for(int j=0; j<10; j++,n++){
JButton jbutton = new JButton(new ImageIcon("./res/face/"+n+"-1.gif"));
jbutton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
JButton jb = (JButton)e.getSource();
Icon icon = jb.getIcon();
img.setIcon(icon);
}
}); // jbutton.setSize(32,32);
// jbutton.setBounds(j*32,i*32,32,32);
p2.add(jbutton);
}
}
p20.setViewportView(p2);
p20.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
p20.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);……
jf.add(p20,"Center");//jf的设的大小是jf.setSize(345,400);