我循环了10次,有10个图片和复选框,但是图片就会相互覆盖,怎样让图片与图片之间有缝隙呢?public class TwoL { public TwoL(java.util.List<BufferedImage> bim){
final JDialog dlg=new JDialog((JFrame)null,true);
JPanel imgPanel=new JPanel(new BorderLayout());
JPanel cbPane=new JPanel(new GridLayout(0,2));
for(int i=0;i < bim.size();i++){
JLabel lb=new JLabel();
lb.setIcon(new ImageIcon(bim.get(i)));
JCheckBox cb=new JCheckBox("图片" + i);
cbPane.add(lb);
cbPane.add(cb);
}
JScrollPane sp=new JScrollPane(cbPane);
imgPanel.add(sp,BorderLayout.CENTER); JPanel butPanel=new JPanel();
JButton ok=new JButton("确定");
ok.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
System.exit(0);
}
});
JButton cancel=new JButton("取消");
cancel.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
System.exit(0);
}
});
butPanel.add(ok);
butPanel.add(cancel);
dlg.setUndecorated(true);
dlg.add(imgPanel);
dlg.add(butPanel,BorderLayout.SOUTH);
dlg.setSize(350,300);
dlg.setLocation(200,200);
dlg.setVisible(true);
}
public static void main(String[] args) {
List<BufferedImage> bim = new ArrayList<BufferedImage>();
for(int i=0;i<10;i++){
bim.add(ImageCut.abscutImg("c:/c.jpg",0,i*20,100,40));
}
new TwoL(bim);
}
final JDialog dlg=new JDialog((JFrame)null,true);
JPanel imgPanel=new JPanel(new BorderLayout());
JPanel cbPane=new JPanel(new GridLayout(0,2));
for(int i=0;i < bim.size();i++){
JLabel lb=new JLabel();
lb.setIcon(new ImageIcon(bim.get(i)));
JCheckBox cb=new JCheckBox("图片" + i);
cbPane.add(lb);
cbPane.add(cb);
}
JScrollPane sp=new JScrollPane(cbPane);
imgPanel.add(sp,BorderLayout.CENTER); JPanel butPanel=new JPanel();
JButton ok=new JButton("确定");
ok.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
System.exit(0);
}
});
JButton cancel=new JButton("取消");
cancel.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
System.exit(0);
}
});
butPanel.add(ok);
butPanel.add(cancel);
dlg.setUndecorated(true);
dlg.add(imgPanel);
dlg.add(butPanel,BorderLayout.SOUTH);
dlg.setSize(350,300);
dlg.setLocation(200,200);
dlg.setVisible(true);
}
public static void main(String[] args) {
List<BufferedImage> bim = new ArrayList<BufferedImage>();
for(int i=0;i<10;i++){
bim.add(ImageCut.abscutImg("c:/c.jpg",0,i*20,100,40));
}
new TwoL(bim);
}
JPanel cbPane=new JPanel(new GridLayout(0,2));
改成
JPanel cbPane=new JPanel(new GridLayout(0,2,3,3));
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.util.ArrayList;
import java.util.List;import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;public class TwoL { public TwoL(java.util.List<BufferedImage> bim){
final JDialog dlg=new JDialog((JFrame)null,true);
JPanel imgPanel=new JPanel(new BorderLayout());
JPanel cbPane=new JPanel(new GridLayout(0,2));
for(int i=0;i < bim.size();i++){
JLabel lb=new JLabel();
lb.setPreferredSize(new Dimension(100,45));
lb.setIcon(new ImageIcon(bim.get(i)));
JCheckBox cb=new JCheckBox("图片" + i);
cbPane.add(lb);
cbPane.add(cb);
}
JScrollPane sp=new JScrollPane(cbPane);
imgPanel.add(sp,BorderLayout.CENTER); JPanel butPanel=new JPanel();
JButton ok=new JButton("确定");
ok.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
System.exit(0);
}
});
JButton cancel=new JButton("取消");
cancel.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
System.exit(0);
}
});
butPanel.add(ok);
butPanel.add(cancel);
dlg.setUndecorated(true);
dlg.add(imgPanel);
dlg.add(butPanel,BorderLayout.SOUTH);
dlg.setSize(350,300);
dlg.setLocation(200,200);
dlg.setVisible(true);
}
public static void main(String[] args) {
List<BufferedImage> bim = new ArrayList<BufferedImage>();
for(int i=0;i<10;i++){
bim.add(ImageCut.abscutImg("c:/c.jpg",0,i*20,100,40));
}
new TwoL(bim);
}}