Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6375562

Table line color wrong using com.sun.java.swing.plaf.windows.WindowsLookAndFeel

XMLWordPrintable

      FULL PRODUCT VERSION :
      java version "1.6.0-rc"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.6.0-rc-b66)
      Java HotSpot(TM) Client VM (build 1.6.0-rc-b66, mixed mode, sharing)

      ADDITIONAL OS VERSION INFORMATION :
      Windows XP

      A DESCRIPTION OF THE PROBLEM :
      Table lines should be very light in XP, but are drawn as dark (black?).
      Below are two examples of a simple test case showing the table lines in both
      Java and C#. As mentioned in the bug, I am using a very recent release
      (build 1.6.0-rc-b66). You can see the result - the lines are clearly too dark.

      See http://www.jroller.com/page/osbald?entry=j2se_5_0_and_winlaf

      REPRODUCIBILITY :
      This bug can be reproduced always.


      ---------- BEGIN SOURCE ----------

      Java:
      import javax.swing.JFrame;
      import javax.swing.JScrollPane;
      import javax.swing.JTable;
      import javax.swing.UIManager;

      public class TestTableLines {
          public static void main(String[] args) throws Exception {

              UIManager.setLookAndFeel("
      com.sun.java.swing.plaf.windows.WindowsLookAndFeel");

              JTable table = new JTable(4, 4);
              JFrame frame = new JFrame("Test");
              frame.getContentPane().add(new JScrollPane(table));

              table.getTableHeader().setVisible(true);
              frame.setSize(400, 400);
              frame.setVisible(true);

          }

      }


      C#:

      using System;
      using System.Drawing;
      using System.Collections;
      using System.ComponentModel;
      using System.Windows.Forms;
      using System.Data;

      namespace WindowsApplication1
      {
          /// <summary>
          /// Summary description for Form1.
          /// </summary>
          public class Form1 : System.Windows.Forms.Form
          {
              private System.Windows.Forms.ListView listView1;
              private System.Windows.Forms.ColumnHeader columnHeader1;
              private System.Windows.Forms.ColumnHeader Price;
              /// <summary>
              /// Required designer variable.
              /// </summary>
              private System.ComponentModel.Container components = null;

              public Form1()
              {
                  //
                  // Required for Windows Form Designer support
                  //
                  InitializeComponent();

                  //
                  // TODO: Add any constructor code after InitializeComponent call
                  //
              }

              /// <summary>
              /// Clean up any resources being used.
              /// </summary>
              protected override void Dispose( bool disposing )
              {
                  if( disposing )
                  {
                      if (components != null)
                      {
                          components.Dispose();
                      }
                  }
                  base.Dispose( disposing );
              }

              #region Windows Form Designer generated code
              /// <summary>
              /// Required method for Designer support - do not modify
              /// the contents of this method with the code editor.
              /// </summary>
              private void InitializeComponent()
              {
                  System.Windows.Forms.ListViewItem listViewItem1 = new
      System.Windows.Forms.ListViewItem(new string[] {

                                               "Apple",

                                               "$4.00"}, -1);
                  System.Windows.Forms.ListViewItem listViewItem2 = new
      System.Windows.Forms.ListViewItem(new string[] {

                                               "Banana",

                                               "$3.00"}, -1);
                  System.Configuration.AppSettingsReader configurationAppSettings
      = new System.Configuration.AppSettingsReader();
                  this.listView1 = new System.Windows.Forms.ListView();
                  this.columnHeader1 = new System.Windows.Forms.ColumnHeader();
                  this.Price = new System.Windows.Forms.ColumnHeader();
                  this.SuspendLayout();
                  //
                  // listView1
                  //
                  this.listView1.Alignment =
      System.Windows.Forms.ListViewAlignment.SnapToGrid;
                  this.listView1.Columns.AddRange(new
      System.Windows.Forms.ColumnHeader[] {

                  this.columnHeader1,

                  this.Price});
                  this.listView1.FullRowSelect = true;
                  this.listView1.GridLines = true;
                  this.listView1.Items.AddRange(new
      System.Windows.Forms.ListViewItem[] {

                listViewItem1,

                listViewItem2});
                  this.listView1.Location = new System.Drawing.Point(24, 24);
                  this.listView1.Name = "listView1";
                  this.listView1.Size = new System.Drawing.Size(360, 352);
                  this.listView1.TabIndex = 0;
                  this.listView1.View = System.Windows.Forms.View.Details;
                  //
                  // columnHeader1
                  //
                  this.columnHeader1.Text = ((string)(
      configurationAppSettings.GetValue("Name", typeof(string))));
                  this.columnHeader1.Width = 98;
                  //
                  // Price
                  //
                  this.Price.Text = ((string)(configurationAppSettings.GetValue("
      Price.Text", typeof(string))));
                  this.Price.Width = 96;
                  //
                  // Form1
                  //
                  this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
                  this.ClientSize = new System.Drawing.Size(464, 454);
                  this.Controls.Add(this.listView1);
                  this.Name = "Form1";
                  this.Text = "Form1";
                  this.ResumeLayout(false);

              }
              #endregion

              /// <summary>
              /// The main entry point for the application.
              /// </summary>
              [STAThread]
              static void Main()
              {
                  Application.Run(new Form1());
              }
          }
      }


      ---------- END SOURCE ----------

            jmarinacsunw Joshua Marinacci (Inactive)
            ndcosta Nelson Dcosta (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: