一个jPanel里加上9个小的jLabel,布局管理器用的gridLayout,给jPanel和9个jLabel都加上边框之后为什么label和panel的边框对不齐?panel总是会露出点边,把panel的边框去掉就label就填满了不知应该如何解决 用的下面这个句子加的边框,
setBorder(BorderFactory.createLineBorder(new Color(0, 0, 0))); 
 
 

解决方案 »

  1.   

    import java.awt.Color;
    import java.awt.EventQueue;import javax.swing.JFrame;
    import javax.swing.JPanel;
    import java.awt.GridLayout;
    import javax.swing.border.LineBorder;
    public class SwingTest extends JFrame { private static final long serialVersionUID = -6515422758706597486L;
    private JPanel contentPane; public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
    public void run() {
    try {
    SwingTest frame = new SwingTest();
    frame.setVisible(true);
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    });
    } /**
     * Create the frame.
     */
    public SwingTest() {
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBounds(100, 100, 659, 526);
    contentPane = new JPanel();
    contentPane.setLayout(new GridLayout(1, 0, 0, 0));
    contentPane.setBorder(new LineBorder(new Color(0, 0, 0)));
    setContentPane(contentPane);
    {
    JPanel panel = new JPanel();
    panel.setLayout(new GridLayout(0, 1, 0, 0));
    contentPane.add(panel);
    {
    JPanel panel_1 = new JPanel();
    panel_1.setBorder(new LineBorder(new Color(0, 0, 0)));
    panel.add(panel_1);
    }
    {
    JPanel panel_1 = new JPanel();
    panel_1.setBorder(new LineBorder(new Color(0, 0, 0)));
    panel.add(panel_1);
    }
    {
    JPanel panel_1 = new JPanel();
    panel_1.setBorder(new LineBorder(new Color(0, 0, 0)));
    panel.add(panel_1);
    }
    }
    {
    JPanel panel = new JPanel();
    panel.setLayout(new GridLayout(0, 1, 0, 0));
    contentPane.add(panel);
    {
    JPanel panel_1 = new JPanel();
    panel_1.setBorder(new LineBorder(new Color(0, 0, 0)));
    panel.add(panel_1);
    }
    {
    JPanel panel_1 = new JPanel();
    panel_1.setBorder(new LineBorder(new Color(0, 0, 0)));
    panel.add(panel_1);
    }
    {
    JPanel panel_1 = new JPanel();
    panel_1.setBorder(new LineBorder(new Color(0, 0, 0)));
    panel.add(panel_1);
    }
    } {
    JPanel panel = new JPanel();
    panel.setLayout(new GridLayout(0, 1, 0, 0));
    contentPane.add(panel);
    {
    JPanel panel_1 = new JPanel();
    panel_1.setBorder(new LineBorder(new Color(0, 0, 0)));
    panel.add(panel_1);
    }
    {
    JPanel panel_1 = new JPanel();
    panel_1.setBorder(new LineBorder(new Color(0, 0, 0)));
    panel.add(panel_1);
    }
    {
    JPanel panel_1 = new JPanel();
    panel_1.setBorder(new LineBorder(new Color(0, 0, 0)));
    panel.add(panel_1);
    }
    } }}
    试了一下,好像没有什么问题呀。LZ试试俺的程序?