2014-04-12 11 views
6

Tôi gặp sự cố khi tạo kiểu JScrollPane. Tôi chỉ muốn có thể thay đổi màu của cả ngón cái và nền (và cũng có thể xóa các nút tăng/giảm). Cho đến nay tôi đã cố gắng những điều sau đây:Thay đổi màu ngón tay cái và màu nền của JScrollPane?

this.setBackground(new Color(0,0,0)); 
    this.viewport.setBackground(new Color(0,0,0)); 
    this.getViewport().setBackground(Color.BLACK); 
    this.setOpaque(false); 
    this.getVerticalScrollBar().setUI(new BasicScrollBarUI() 
    { 
     @Override 
     protected JButton createDecreaseButton(int orientation) { 
      return createZeroButton(); 
     } 

     @Override  
     protected JButton createIncreaseButton(int orientation) { 
       return createZeroButton(); 
     } 
     @Override 
     protected void configureScrollBarColors(){ 

     } 

    }); 

    this.getHorizontalScrollBar().setUI(new BasicScrollBarUI() 
    { 
     @Override 
     protected JButton createDecreaseButton(int orientation) { 
      return createZeroButton(); 
     } 

     @Override  
     protected JButton createIncreaseButton(int orientation) { 
       return createZeroButton(); 
     } 


    }); 
} 
private JButton createZeroButton() { 
    JButton jbutton = new JButton(); 
    jbutton.setPreferredSize(new Dimension(0, 0)); 
    jbutton.setMinimumSize(new Dimension(0, 0)); 
    jbutton.setMaximumSize(new Dimension(0, 0)); 
    return jbutton; 
} 

Cũng

UIManager.put("ScrollBar.trackHighlightForeground", (new Color(57,57,57))); 
    UIManager.put("scrollbar", (new Color(57,57,57))); 
    UIManager.put("ScrollBar.thumb", new ColorUIResource(new Color(57,57,57))); 
    UIManager.put("ScrollBar.thumbHeight", 2); 
    UIManager.put("ScrollBar.background", (new Color(57,57,57))); 
    UIManager.put("ScrollBar.thumbDarkShadow", new ColorUIResource(new Color(57,57,57))); 
    UIManager.put("ScrollBar.thumbShadow", new ColorUIResource(new Color(57,57,57))); 
    UIManager.put("ScrollBar.thumbHighlight", new ColorUIResource(new Color(57,57,57))); 
    UIManager.put("ScrollBar.trackForeground", new ColorUIResource(new Color(57,57,57))); 
    UIManager.put("ScrollBar.trackHighlight", new ColorUIResource(new Color(57,57,57))); 
    UIManager.put("ScrollBar.foreground", new ColorUIResource(new Color(57,57,57))); 
    UIManager.put("ScrollBar.shadow", new ColorUIResource(new Color(57,57,57))); 
    UIManager.put("ScrollBar.highlight", new ColorUIResource(new Color(57,57,57))); 

Với tất cả các mã trên tôi nhận được một ngón tay cái tối tăm với một nền trắng. Funnily đủ nếu tôi loại bỏ các chức năng setUI, tôi nhận được một ngón tay cái mặc định với một nền tối ..

Bất kỳ ý tưởng?

Cảm ơn


SOLVED ** * ** *


các configureScrollBarColors chức năng trên có thể được sử dụng theo cách sau:

@Override 
     protected void configureScrollBarColors(){ 
      this.thumbColor = Color.GREEN; 
     } 

Điều đó thay đổi màu của ngón tay cái thành màu xanh lục.

Trả lời

1

Chỉ trong trường hợp ai đó ngoài kia vẫn đang rơi vào chủ đề này cần sự giúp đỡ:

Dòng sau đây có thể được sử dụng để thay đổi nhìn của thanh cuộn của bạn. Các trường được bao quanh bởi các ký tự "_" có thể được thay đổi (khóa và COLOR).

UIManager.put("ScrollBar._key_", new ColorUIResource(_COLOR_)); 

Các phím phù hợp nhất cho việc thay đổi màu sắc của thanh của bạn là:

  • thumb (màu chung của ngón tay cái)
  • thumbDarkShadow (Còn lại phần shadowed của ngón tay cái)
  • thumbShadow (Về cơ bản đường viền cho ngón tay cái được chia làm đôi với điểm nổi bật)
  • thumbHighlight (Nửa sau của đường viền được nêu loại)
  • track (background)

Vì vậy, một ví dụ sẽ là:

UIManager.put("ScrollBar.thumb", new ColorUIResource(Color.black)); 

Điều này sẽ làm cho các phần chính của ngón tay cái màu đen.

Nếu bạn đang đi cho một ngón tay cái đầy đủ màu sắc duy nhất sau đó sử dụng tất cả các phím trừ theo dõi và đặt chúng cùng màu.

Nếu bạn đang đi cho một phác thảo thiết lập hai đầu tiên là color1 và hai thứ hai là color2.

Tôi rơi vào điều này trong khi cố gắng cải thiện GUI của riêng mình và sau khi một số suy nghĩ tinh chỉnh nhỏ tôi muốn chia sẻ phát hiện của mình.

For more keys click me!

Các vấn đề liên quan