mirror of
https://github.com/JFormDesigner/FlatLaf.git
synced 2025-12-08 06:50:56 +03:00
TableHeader: fixed missing trailing vertical separator line if used in upper left corner of scroll pane (issue #332)
This commit is contained in:
@@ -26,6 +26,8 @@ FlatLaf Change Log
|
|||||||
regression since FlatLaf 1.4)
|
regression since FlatLaf 1.4)
|
||||||
- TableHeader: Do not show resize cursor for last column if resizing last column
|
- TableHeader: Do not show resize cursor for last column if resizing last column
|
||||||
is not possible because auto resize mode of table is not off. (issue #332)
|
is not possible because auto resize mode of table is not off. (issue #332)
|
||||||
|
- TableHeader: Fixed missing trailing vertical separator line if used in upper
|
||||||
|
left corner of scroll pane. (issue #332)
|
||||||
- TextField, FormattedTextField, PasswordField and ComboBox: Fixed alignment of
|
- TextField, FormattedTextField, PasswordField and ComboBox: Fixed alignment of
|
||||||
placeholder text in right-to-left component orientation.
|
placeholder text in right-to-left component orientation.
|
||||||
- Slider: Fixed calculation of baseline, which was wrong under some
|
- Slider: Fixed calculation of baseline, which was wrong under some
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ import java.awt.Graphics2D;
|
|||||||
import java.awt.geom.Rectangle2D;
|
import java.awt.geom.Rectangle2D;
|
||||||
import javax.swing.JScrollBar;
|
import javax.swing.JScrollBar;
|
||||||
import javax.swing.JScrollPane;
|
import javax.swing.JScrollPane;
|
||||||
|
import javax.swing.JViewport;
|
||||||
import javax.swing.SwingUtilities;
|
import javax.swing.SwingUtilities;
|
||||||
import javax.swing.UIManager;
|
import javax.swing.UIManager;
|
||||||
import javax.swing.table.JTableHeader;
|
import javax.swing.table.JTableHeader;
|
||||||
@@ -112,12 +113,20 @@ public class FlatTableHeaderBorder
|
|||||||
if( showLastVerticalLine )
|
if( showLastVerticalLine )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
// do not hide if table header is not a child of a scroll pane
|
||||||
Container viewport = header.getParent();
|
Container viewport = header.getParent();
|
||||||
Container viewportParent = (viewport != null) ? viewport.getParent() : null;
|
Container viewportParent = (viewport != null) ? viewport.getParent() : null;
|
||||||
if( !(viewportParent instanceof JScrollPane) )
|
if( !(viewportParent instanceof JScrollPane) )
|
||||||
return true;
|
return false;
|
||||||
|
|
||||||
JScrollBar vsb = ((JScrollPane)viewportParent).getVerticalScrollBar();
|
// do not hide if table header is not the column header of the scroll pane
|
||||||
|
JScrollPane scrollPane = (JScrollPane) viewportParent;
|
||||||
|
JViewport columnHeader = scrollPane.getColumnHeader();
|
||||||
|
if( viewport != columnHeader )
|
||||||
|
return false;
|
||||||
|
|
||||||
|
// hide if vertical scroll bar is not shown
|
||||||
|
JScrollBar vsb = scrollPane.getVerticalScrollBar();
|
||||||
if( vsb == null || !vsb.isVisible() )
|
if( vsb == null || !vsb.isVisible() )
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
|||||||
@@ -321,6 +321,7 @@ public class FlatTableUI
|
|||||||
if( showLastVerticalLine )
|
if( showLastVerticalLine )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
// do not hide if table is not a child of a scroll pane
|
||||||
Container viewport = SwingUtilities.getUnwrappedParent( table );
|
Container viewport = SwingUtilities.getUnwrappedParent( table );
|
||||||
Container viewportParent = (viewport != null) ? viewport.getParent() : null;
|
Container viewportParent = (viewport != null) ? viewport.getParent() : null;
|
||||||
if( !(viewportParent instanceof JScrollPane) )
|
if( !(viewportParent instanceof JScrollPane) )
|
||||||
|
|||||||
Reference in New Issue
Block a user