gpt4 book ai didi

java - JScrollPane 中的透明 JList

转载 作者:行者123 更新时间:2023-12-01 18:43:19 24 4
gpt4 key购买 nike

我目前正在尝试使放置在 JScrollPane 中的 JList 不透明。我尝试将所有内容设置为 setOpaque(false),但仍然不起作用。

这是代码:

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 面板的边界。我做错了什么?

最佳答案

您没有使面板 (NavigationView) 本身透明

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

关于java - JScrollPane 中的透明 JList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18998643/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com