Mega Code Archive

 
Categories / Java by API / Javax Swing
 

Table scrollPaneBorder

import java.awt.BorderLayout; import java.awt.Container; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JViewport; import javax.swing.UIManager; public class MainClass {   public static void main(String args[]) {     Object rows[][] = { { "A", "a" }, { "B", "b" }, { "E", "e" } };     Object headers[] = { "Upper", "Lower" };         JTable table = new JTable(rows, headers);     table.setTableHeader(null);     JScrollPane scrollPane = new JScrollPane(table);     JFrame frame = new JFrame();     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);     frame.add(scrollPane, BorderLayout.CENTER);     frame.setSize(300, 150);     frame.setVisible(true);   } } class HeaderlessTable extends JTable {   public HeaderlessTable(Object rowData[][], Object columnNames[]) {     super(rowData, columnNames);   }   protected void configureEnclosingScrollPane() {     Container container = getParent();     if (container instanceof JViewport) {       Container viewParent = container.getParent();       if (viewParent instanceof JScrollPane) {         JScrollPane scrollPane = (JScrollPane)viewParent;         JViewport viewport = scrollPane.getViewport();         if (viewport == null || viewport.getView() != this) {           return;         }         scrollPane.setBorder(UIManager.getBorder("Table.scrollPaneBorder"));       }     }   } }