OSDN Git Service

Tableの背景色の設定が即座に反映されるように修正
authorU-nishio-PC8\nishio <spark_xp@users.sourceforge.jp>
Thu, 1 Sep 2011 19:01:27 +0000 (04:01 +0900)
committerU-nishio-PC8\nishio <spark_xp@users.sourceforge.jp>
Thu, 1 Sep 2011 19:01:27 +0000 (04:01 +0900)
src/twitter/gui/action/TweetMainAction.java
src/twitter/gui/component/TweetCommentRenderer.java
src/twitter/gui/component/TweetTabbedTable.java

index 3d4f315..c5b5009 100644 (file)
@@ -491,7 +491,7 @@ public class TweetMainAction implements ConnectionLifeCycleListener{
                                final TweetTabbedTable table = new TweetTabbedTable(
                                                tweetGetter, tabTitle, this.tweetMainTab,
                                                this.tweetManager, this,
-                                               newTableColor, this.tableElementMaxSize, timerID);
+                                               this.tableElementMaxSize, timerID);
 
                                this.tweetTaskManager.addTask(timerID, new TweetUpdateTask() {
 
index 3e35a23..696c977 100644 (file)
@@ -17,6 +17,7 @@ import javax.swing.text.Style;
 import javax.swing.text.StyleConstants;
 import javax.swing.text.html.HTMLDocument;
 import javax.swing.text.html.StyleSheet;
+import twitter.gui.action.TweetMainAction;
 
 /**
  *
@@ -28,18 +29,17 @@ public class TweetCommentRenderer extends JEditorPane implements
 
        private int row = -1;
        private int col = -1;
-       // デフォルトのテーブルカラー
-       private final Color currentTableColor = Color.WHITE;
-       // あたらしく取得したTweetのセルを塗りつぶす色
-       private Color newTableColor = new Color(230, 230, 250);
        // あたらしく取得したセルが何行目までか
        private int newTableRow = -1;
+       //main action
+       private TweetMainAction mainAction = null;
 
        /**
         *
         */
-       public TweetCommentRenderer() {
+       public TweetCommentRenderer(TweetMainAction mainAction) {
                super();
+               this.mainAction = mainAction;
                // setLineWrap(true);
                setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 5));
                // HTMLコードをそのまま表示できるようにする
@@ -70,9 +70,9 @@ public class TweetCommentRenderer extends JEditorPane implements
                // NewCell
                if( column >= 2 ) {
                        if (this.newTableRow >= 0 && row < this.newTableRow) {
-                               setBackground(newTableColor);
+                               setBackground(this.mainAction.getNewTableColor());
                        } else {
-                               setBackground(currentTableColor);
+                               setBackground(Color.white);
                        }
                }
 
@@ -111,12 +111,9 @@ public class TweetCommentRenderer extends JEditorPane implements
         *
         * @param row
         *            0以上の値で新しいセルとして指定した行を塗りつぶす
-        * @param newTableColor
-        *            新しい部分のテーブルカラー
         */
-       public void updateNewCellRow(int row, Color newTableColor) {
+       public void updateNewCellRow(int row) {
                this.newTableRow = row;
-               this.newTableColor = newTableColor;
        }
 
        /**
index a4ffbb1..097e8dc 100644 (file)
@@ -57,8 +57,6 @@ public class TweetTabbedTable implements TweetStreamingListener {
        private TweetManager tweetManager;
        // メインアクション
        private TweetMainAction mainAction;
-       // 新しく取得した部分のテーブルの色
-       private Color newTableColor = null;
        // テーブルに追加できる要素の最大数
        // TODO: ここを変更できるようにする
        private int tableElementMaxSize = 500;
@@ -77,8 +75,6 @@ public class TweetTabbedTable implements TweetStreamingListener {
         *             ツイート管理クラス
         * @param mainAction
         *            メインアクション
-        * @param newTableColor
-        *            新しく取得した部分の色
         * @param tableElementMaxSize
         *            テーブルに格納できる要素の最大数
         * @param timerID
@@ -87,13 +83,12 @@ public class TweetTabbedTable implements TweetStreamingListener {
        public TweetTabbedTable(TweetGetter tweetGetter, String title,
                        JTabbedPane tabbedPane,
                        TweetManager tweetManager, TweetMainAction mainAction,
-                       Color newTableColor, int tableElementMaxSize, String timerID) {
+                       int tableElementMaxSize, String timerID) {
                this.tweetGetter = tweetGetter;
                this.title = title;
                this.tabbedPane = tabbedPane;
                this.tweetManager = tweetManager;
                this.mainAction = mainAction;
-               this.newTableColor = newTableColor;
                this.tableElementMaxSize = tableElementMaxSize;
                this.timerID = timerID;
 
@@ -147,10 +142,10 @@ public class TweetTabbedTable implements TweetStreamingListener {
                // Comment部分のColumnを複数行コメントが表示できるようにする
                TableColumnModel mdl = table.getColumnModel();
                TableColumn col = mdl.getColumn(1);
-               TweetCommentRenderer commentRenderer = new TweetCommentRenderer();
+               TweetCommentRenderer commentRenderer = new TweetCommentRenderer(this.mainAction);
                col.setCellRenderer(commentRenderer);
                // INfo部分のColumnを複数行表示できるように
-               TweetCommentRenderer infoRenderer = new TweetCommentRenderer();
+               TweetCommentRenderer infoRenderer = new TweetCommentRenderer(this.mainAction);
                col = mdl.getColumn(2);
                col.setCellRenderer(infoRenderer);
                col.setMaxWidth(200);
@@ -260,11 +255,9 @@ public class TweetTabbedTable implements TweetStreamingListener {
                TableCellRenderer renderer = getTable().getCellRenderer(0, 2);
                if (renderer instanceof TweetCommentRenderer) {
                        if (this.getUncheckedTweet() - 1 >= 0) {
-                               ((TweetCommentRenderer) renderer).updateNewCellRow(
-                                               this.getUncheckedTweet(), newTableColor);
+                               ((TweetCommentRenderer) renderer).updateNewCellRow(this.getUncheckedTweet());
                        } else {
-                               ((TweetCommentRenderer) renderer).updateNewCellRow(-1,
-                                               newTableColor);
+                               ((TweetCommentRenderer) renderer).updateNewCellRow(-1);
                        }
                }
                // 古いデータを削除