[macosx] JTableHeader painting error with Java 8 on Mac
Van Den Borre, Koen
Koen.VanDenBorre at esko.com
Thu Sep 19 05:24:00 PDT 2013
Hi,
I verified that the proposed fix does indeed solve this issue.
Can this change be reviewed and checked in please.
Thanks,
Koen.
On 13 Jun 2013, at 14:26, Alexander Scherbatiy <alexandr.scherbatiy at oracle.com> wrote:
> On 6/13/2013 3:54 PM, Alexander Scherbatiy wrote:
>> On 6/11/2013 4:47 PM, Van Den Borre, Koen wrote:
>>> Hi,
>>>
>>> I noticed that on Java 8 on Mac, the JTableHeader looks clipped (the bottom line is not visible).
>>> This was not an issue in Java 6.
>>
>> It seems that there should be newHeight + 1 for the border painting:
>> http://hg.openjdk.java.net/jdk8/awt/jdk/file/a7d943998bd3/src/macosx/classes/com/apple/laf/AquaTableHeaderBorder.java
>>
>> 102 final int newX = x;
>> 103 final int newY = y;
>> 104 final int newWidth = width;
>> 105 final int newHeight = height;
>> 106
>> 107 painter.paint(g, c, newX - 1, newY - 1, newWidth + 1, newHeight);
>>
>> This is a good chance for the JDK 8 patch contribution.
>
> I have created the issue 8016524 [macosx] Bottom line is not visible for JTableHeader
> http://bugs.sun.com/view_bug.do?bug_id=8016524
>
> It should be public available soon.
>
> Thanks,
> Alexandr.
>>
>> Thanks,
>> Alexandr.
>>
>>>
>>> Here is a simple test case:
>>>
>>> import javax.swing.JFrame;
>>> import javax.swing.JScrollPane;
>>> import javax.swing.JTable;
>>> import javax.swing.SwingUtilities;
>>>
>>> public class JTableHeaderTest
>>> {
>>> public void run()
>>> {
>>> JTable table = new JTable(2, 5);
>>>
>>> JScrollPane scrollableTable = new JScrollPane(table);
>>>
>>> JFrame frame = new JFrame();
>>> frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
>>> frame.getContentPane().add(scrollableTable);
>>> frame.setSize(300, 300);
>>> frame.setLocationRelativeTo(null);
>>> frame.setVisible(true);
>>> }
>>>
>>> public static void main(String[] arguments)
>>> {
>>> SwingUtilities.invokeLater(new Runnable()
>>> {
>>> @Override
>>> public void run()
>>> {
>>> JTableHeaderTest test = new JTableHeaderTest();
>>> test.run();
>>> }
>>> });
>>> }
>>> }
>>
>
More information about the macosx-port-dev
mailing list