设置列表框指定行的文字颜色

来源:互联网 发布:久久网络传奇 编辑:程序博客网 时间:2024/06/05 07:20



list.setCellRenderer(new MyRenderer(new int[] {2,3}, Color.RED));   //设置列表框的第2行和第3行文字颜色为红色class MyRenderer extends DefaultListCellRenderer {            private Font font1;      private Font font2;      private Color rowcolor;      private int row;      private int[] rows;       public MyRenderer() {          this.font1 = getFont();          this.font2 = font1.deriveFont((float) (font1.getSize() + 10));      }       public MyRenderer(int row, Color color) {          this.rowcolor = color;          this.row = row;      }       public MyRenderer(int[] rows, Color color) {          this.rowcolor = color;          this.rows = rows;      }       public Component getListCellRendererComponent(JList list, Object value,              int index, boolean isSelected, boolean cellHasFocus) {          super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);          if (rows==null) {              if (index == row) {                  setForeground(this.rowcolor);                  setFont(getFont().deriveFont((float) (getFont().getSize() + 2)));              }          } else {              for (int i = 0; i < rows.length; i++) {                  if (index == rows[i]) {                      setForeground(this.rowcolor);                      setFont(getFont().deriveFont((float) (getFont().getSize() + 2)));                  }              }          }           return this;      }  }  


原创粉丝点击