How to get rid of the border with a JTable / JScrollPane
Use BorderFactory.createEmptyBorder() instead of null...
by using:
sp.setBorder(createEmptyBorder());
it works.
Your main method becomes:
public static void main(String[] args) {
JFrame frame = new TestScrollPane();
JPanel panel = new JPanel();
JTable table = new JTable();
panel.setLayout(new BorderLayout());
panel.add(new JLabel("NORTH"), BorderLayout.NORTH);
panel.add(new JLabel("SOUTH"), BorderLayout.SOUTH);
JScrollPane sp = new JScrollPane(table);
sp.setBorder(BorderFactory.createEmptyBorder());
panel.add(sp, BorderLayout.CENTER);
frame.add(panel);
frame.setVisible(true);
}
Interestingly the border disappears when you remove this line:
sp.setBorder(null);
I was looking for the answer for the same question but above answers could not do... so I found a better answer:
JScrollPane jsp = new JScrollPane();
//ur other codes
jsp.setViewportBorder(null);