2013-09-25 3 views
0

В настоящее время я пытаюсь сделать непрозрачный JList, который помещается в JScrollPane. Я попытался установить все на setOpaque(false), но он все равно не работает.Прозрачный JList в JScrollPane

Вот код:

import java.awt.GridBagConstraints; 
import java.awt.GridBagLayout; 
import java.awt.Insets; 

import javax.swing.DefaultListCellRenderer; 
import javax.swing.JList; 
import javax.swing.JPanel; 
import javax.swing.JScrollPane; 

public class NavigationView extends JPanel{ 

    private static final long serialVersionUID = 8033665282200374807L; 

    private JScrollPane pane; 
    private JList list; 

    public NavigationView() { 
     this.initialize(); 
     this.build(); 
     this.configure(); 
    } 

    public void initialize() { 
     this.pane = new JScrollPane(); 
     this.list = new JList(); 
    } 

    public void build() { 
     this.setLayout(new GridBagLayout()); 
     GridBagConstraints gbc = new GridBagConstraints(); 
     gbc.fill = GridBagConstraints.BOTH; 

     gbc.gridx = 0; 
     gbc.gridy = 0; 
     gbc.weightx = 1; 
     gbc.weighty = 1; 
     gbc.gridwidth = 1; 
     gbc.insets = new Insets(5, 5, 5, 5); 
     this.add(this.pane, gbc); 
    } 


    public void configure() { 
     this.pane.setOpaque(false); 
     this.pane.setViewportView(this.list); 
     this.pane.getViewport().setOpaque(false); 
     this.list.setOpaque(false); 
     ((DefaultListCellRenderer) this.list.getCellRenderer()).setOpaque(false); 
    } 
} 

Если добавить эту панель в JFrame с цветным фоном я все еще вижу границы в NavigationView -ПЕРЕВОРОТНЫЕ с белым фоном. Что я делаю неправильно?

ответ

2

Вы не делаете панель (NavigationView) сама по себе прозрачна

public void initialize() { 
    setOpaque(false); 
    this.pane = new JScrollPane(); 
    this.list = new JList(); 
} 
+0

+1 вы были быстрее :) – StanislavL

2

Я думаю, вы также должны вызвать this.setOpaque(false);.

Но проверить также L & F. Прозрачность может быть "подавлено" на L & F. Я помню подобную ошибку с QuaQua L & F на Mac.

Смежные вопросы