JComboBox美化滚动条
时间: 2023-09-03 11:15:27 浏览: 74
可以使用自定义UI来美化JComboBox的滚动条。以下是一个简单的示例代码:
```
import javax.swing.*;
import javax.swing.plaf.basic.BasicComboPopup;
import javax.swing.plaf.basic.ComboPopup;
import java.awt.*;
public class CustomComboBoxUI extends BasicComboBoxUI {
@Override
protected ComboPopup createPopup() {
BasicComboPopup popup = (BasicComboPopup) super.createPopup();
JScrollPane scrollPane = new JScrollPane(popup.getList());
scrollPane.getVerticalScrollBar().setUI(new CustomScrollBarUI());
popup.setPopupSize(new Dimension(popup.getPreferredSize().width, 150));
popup.setBorder(BorderFactory.createEmptyBorder());
popup.add(scrollPane);
return popup;
}
}
class CustomScrollBarUI extends BasicScrollBarUI {
@Override
protected void paintThumb(Graphics g, JComponent c, Rectangle thumbBounds) {
g.setColor(Color.GRAY);
((Graphics2D) g).fill(thumbBounds);
}
@Override
protected void paintTrack(Graphics g, JComponent c, Rectangle trackBounds) {
g.setColor(Color.LIGHT_GRAY);
((Graphics2D) g).fill(trackBounds);
}
}
```
在使用JComboBox之前,需要将其UI设置为自定义UI:
```
JComboBox<String> comboBox = new JComboBox<>();
comboBox.setUI(new CustomComboBoxUI());
```
这样就可以美化JComboBox的滚动条了。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)