1. Fix EDKT411: Need right and left scroll bar to display find results
authorhche10x <hche10x@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 18 Oct 2006 05:57:36 +0000 (05:57 +0000)
committerhche10x <hche10x@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 18 Oct 2006 05:57:36 +0000 (05:57 +0000)
2. Add a function in Tools.java to adjust a table's all columns' width

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1788 6f19259b-4bc3-4df7-8a09-765794883524

Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/common/Tools.java
Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/common/find/FindResult.java

index e5cce71045b1e08c7eedd8d1b47edde075c5a25b..90c38fd8fe32c719184bb225a030a9283dccf619 100644 (file)
@@ -27,6 +27,7 @@ import javax.swing.DefaultListModel;
 import javax.swing.JComboBox;\r
 import javax.swing.JList;\r
 import javax.swing.JOptionPane;\r
+import javax.swing.JTable;\r
 \r
 import org.tianocore.ModuleSurfaceAreaDocument.ModuleSurfaceArea;\r
 import org.tianocore.MsaHeaderDocument.MsaHeader;\r
@@ -552,6 +553,22 @@ public class Tools {
         resizeComponentWidth(c, containerWidth, preferredWidth);\r
         resizeComponentHeight(c, containerHeight, preferredHeight);\r
     }\r
+    \r
+    /**\r
+     To adjust each column's width to meet the table's size\r
+     \r
+     @param t the table need to be adjusted\r
+     @param width the new width of the table\r
+    \r
+    **/\r
+    public static void resizeTableColumn(JTable t, int width) {\r
+        if (t != null) {\r
+            int columnCount = t.getColumnCount();\r
+            for (int index = 0; index < columnCount; index++) {\r
+                t.getColumn(t.getColumnName(index)).setPreferredWidth(width / columnCount);\r
+            }\r
+        }\r
+    }\r
 \r
     /**\r
      * To relocate the input component\r
index 0033797bb9c8d483199199f358c5ae975f097f45..5dcc7aa944570988da3484c8cfe14d28f3596ce7 100644 (file)
@@ -17,6 +17,7 @@ package org.tianocore.frameworkwizard.common.find;
 import java.awt.Dimension;\r
 import java.awt.event.ActionEvent;\r
 import java.awt.event.ComponentEvent;\r
+import java.awt.event.ComponentListener;\r
 import java.awt.event.WindowEvent;\r
 import java.util.Vector;\r
 \r
@@ -37,7 +38,7 @@ import org.tianocore.frameworkwizard.common.Log;
 import org.tianocore.frameworkwizard.common.Tools;\r
 import org.tianocore.frameworkwizard.common.ui.IFrame;\r
 \r
-public class FindResult extends IFrame implements TableModelListener {\r
+public class FindResult extends IFrame implements TableModelListener, ComponentListener {\r
 \r
     ///\r
     /// Define class Serial Version UID\r
@@ -156,6 +157,10 @@ public class FindResult extends IFrame implements TableModelListener {
         if (jTable == null) {\r
             model = new IDefaultTableModel();\r
             jTable = new JTable(model);\r
+            jTable.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);\r
+            jTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
+\r
+            jTable.getModel().addTableModelListener(this);\r
 \r
             model.addColumn("Name");\r
             model.addColumn("Type");\r
@@ -168,9 +173,18 @@ public class FindResult extends IFrame implements TableModelListener {
             jTable.getColumn("Produced by").setCellRenderer(new MyTableCellRenderer());\r
             jTable.getColumn("Consumed by").setCellRenderer(new MyTableCellRenderer());\r
             jTable.getColumn("Declared by").setCellRenderer(new MyTableCellRenderer());\r
-\r
-            jTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
-            jTable.getModel().addTableModelListener(this);\r
+            \r
+//            jTable.getColumn("Name").setPreferredWidth((this.getSize().width - 30) / 5);\r
+//            jTable.getColumn("Type").setPreferredWidth((this.getSize().width - 30) / 5);\r
+//            jTable.getColumn("Produced by").setPreferredWidth((this.getSize().width - 30) / 5);\r
+//            jTable.getColumn("Consumed by").setPreferredWidth((this.getSize().width - 30) / 5);\r
+//            jTable.getColumn("Declared by").setPreferredWidth((this.getSize().width - 30) / 5);\r
+            int columnWidth = (this.getSize().width - 28) / 5;\r
+            jTable.getColumn("Name").setPreferredWidth(columnWidth);\r
+            jTable.getColumn("Type").setPreferredWidth(columnWidth);\r
+            jTable.getColumn("Produced by").setPreferredWidth(columnWidth);\r
+            jTable.getColumn("Consumed by").setPreferredWidth(columnWidth);\r
+            jTable.getColumn("Declared by").setPreferredWidth(columnWidth);\r
         }\r
         return jTable;\r
     }\r
@@ -451,6 +465,7 @@ public class FindResult extends IFrame implements TableModelListener {
                               intPreferredHeight);\r
         Tools.centerComponent(this.jButtonClose, intCurrentWidth, intCurrentHeight, intPreferredHeight,\r
                               DataType.SPACE_TO_BOTTOM_FOR_CLOSE_BUTTON);\r
+        Tools.resizeTableColumn(this.jTable, this.getSize().width - 28);\r
     }\r
 \r
     /* (non-Javadoc)\r