簡體   English   中英

我們如何更改JFace TableViewer中顯示的log4j消息的顏色

[英]How can we change the colour of the log4j messages displayed in the JFace TableViewer

我正在創建的TableViewer上顯示log4j消息,但現在我想根據信息,調試,警告和錯誤消息來更改消息的顏色。 如何才能做到這一點? 將消息提取到表查看器中的代碼如下:

TableViewerColumn message = new TableViewerColumn(viewer, SWT.NONE);
        message.getColumn().setWidth(800);
        message.getColumn().setText("Message");
        message.setLabelProvider(new ColumnLabelProvider()
        {
            @Override
            public void update(ViewerCell cell)
            {
                Object element = cell.getElement();
                if(element instanceof MyObject)
                {
                    MyObject obj = (MyObject) element;

                    cell.setText(obj.getMessage());
                }
            }
        });
    }

    private static class MyObject
    {
        private String first;
        private String second;
        private String message;

        public MyObject(String first, String second,String message)
        {
            this.first = first;
            this.second = second;
            this.message = message;
        }

        public String getFirst()
        {
            return first;
        }

        public void setFirst(String first)
        {
            this.first = first;
        }

        public String getSecond()
        {
            return second;
        }

        public void setSecond(String message)
        {
            this.second = second;
        }

        public String getMessage()
        {
            return message;
        }

        public void setMessage(String message)
        {
            this.message = message;
        }

您調用ViewerCell.setBackgroundViewerCell.setForeground來設置update方法中單元格的背景和前景色。

另外,您可以覆蓋getTextgetBackgroundgetForeground方法,而不是覆蓋ColumnLabelProverupdate方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM