OSDN Git Service

プログレスバー選択時の色変更
authoryukihane <yukihane.feather@gmail.com>
Mon, 29 Aug 2011 23:31:32 +0000 (08:31 +0900)
committeryukihane <yukihane.feather@gmail.com>
Mon, 29 Aug 2011 23:31:32 +0000 (08:31 +0900)
frontend/src/yukihane/inqubus/gui/TargetsColumnModel.java

index e821f40..1279fab 100644 (file)
@@ -1,5 +1,6 @@
 package yukihane.inqubus.gui;
 
+import java.awt.Color;
 import java.awt.Component;
 import javax.swing.JProgressBar;
 import javax.swing.JTable;
@@ -56,11 +57,6 @@ class ProgressRenderer extends DefaultTableCellRenderer {
     @Override
     public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,
             int row, int column) {
-        if (isSelected) {
-            progressBar.setForeground(table.getSelectionForeground());
-            progressBar.setBackground(table.getSelectionBackground());
-        }
-
         if (value == null) {
             return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
         }
@@ -70,6 +66,12 @@ class ProgressRenderer extends DefaultTableCellRenderer {
         if (percent < 0 || percent > 100) {
             return super.getTableCellRendererComponent(table, p.getText(), isSelected, hasFocus, row, column);
         }
+
+        final Color fore = (isSelected) ? table.getSelectionForeground() : table.getForeground();
+        final Color back = (isSelected) ? table.getSelectionBackground() : table.getBackground();
+        progressBar.setForeground(fore);
+        progressBar.setBackground(back);
+
         progressBar.setValue(percent);
         progressBar.setString(p.getText());
         return progressBar;