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() {
import javax.swing.text.StyleConstants;
import javax.swing.text.html.HTMLDocument;
import javax.swing.text.html.StyleSheet;
+import twitter.gui.action.TweetMainAction;
/**
*
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コードをそのまま表示できるようにする
// NewCell
if( column >= 2 ) {
if (this.newTableRow >= 0 && row < this.newTableRow) {
- setBackground(newTableColor);
+ setBackground(this.mainAction.getNewTableColor());
} else {
- setBackground(currentTableColor);
+ setBackground(Color.white);
}
}
*
* @param row
* 0以上の値で新しいセルとして指定した行を塗りつぶす
- * @param newTableColor
- * 新しい部分のテーブルカラー
*/
- public void updateNewCellRow(int row, Color newTableColor) {
+ public void updateNewCellRow(int row) {
this.newTableRow = row;
- this.newTableColor = newTableColor;
}
/**
private TweetManager tweetManager;
// メインアクション
private TweetMainAction mainAction;
- // 新しく取得した部分のテーブルの色
- private Color newTableColor = null;
// テーブルに追加できる要素の最大数
// TODO: ここを変更できるようにする
private int tableElementMaxSize = 500;
* ツイート管理クラス
* @param mainAction
* メインアクション
- * @param newTableColor
- * 新しく取得した部分の色
* @param tableElementMaxSize
* テーブルに格納できる要素の最大数
* @param timerID
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;
// 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);
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);
}
}
// 古いデータを削除