gpt4 book ai didi

java - 如何设置JComboBox项目的边框

转载 作者:行者123 更新时间:2023-12-02 06:04:43 24 4
gpt4 key购买 nike

我想在我的应用程序中创建一个默认的 JComboBox。但我在为 JComboBox 项目设置边框时遇到一个小问题。

这里是 JComboBox

package test.combobox;

import java.awt.Color;
import java.awt.Font;
import javax.swing.JComboBox;

public class MyComboBox extends JComboBox<Object> {
public MyComboBox() {
super();

setBackground(new Color(0xFFFFFF));
setFont(new Font("Tahoma", 0, 14));
}
}

我需要设置 JComboxBox 的项目边框:

Border itemBorder = BorderFactory.createCompoundBorder(
new LineBorder(new Color(0xCCCCCC), 1, true),
BorderFactory.createEmptyBorder(0, 7, 0, 7));

测试组合框。

package test.combobox;

import java.awt.Dimension;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JFrame;
import javax.swing.UIManager;
import net.sf.jasperreports.engine.JRException;

public class TestComboBox {
public static void main(String[] args) throws JRException {

UIManager.getCrossPlatformLookAndFeelClassName();

JFrame frame = new JFrame("MyComboBox");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setPreferredSize(new Dimension(300, 70));

MyComboBox cb = new MyComboBox();
cb.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
cb.setPreferredSize(new Dimension(300, 30));

frame.getContentPane().add(cb);
frame.pack();
frame.setVisible(true);
}
}

最佳答案

JComboBox 中的项目通过 ListCellRenderer 呈现界面。

看看How to Use Combo BoxesProviding a Custom Renderer例如

这是一个重要的概念,因为 JTableJTreeJList 也使用这个概念...

关于java - 如何设置JComboBox项目的边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22397509/

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