gpt4 book ai didi

java - 获取 JComboBox 项目字符串表示形式

转载 作者:行者123 更新时间:2023-12-01 09:22:22 25 4
gpt4 key购买 nike

我想获取 JComboBox 模型中包含的所有项目的字符串表示形式,如何做到这一点?

    ListModel model = combobox.getModel();   
for(int i = 0; i < model.getSize(); i++)
{
componentTexts.add( model.getElementAt( i ).toString() );
}

这给了我与组合框项目不同的字符串 - CellRenderer 决定每个组合框项目的标签文本?

最佳答案

如果您渲染的文本与对象的 toString() 不同,那么您需要直接调用渲染器。

代码可能类似于:

ListCellRenderer renderer = comboBox.getRenderer();

Object child = comboBox.getAccessibleContext().getAccessibleChild(0);
BasicComboPopup popup = (BasicComboPopup)child;
JList list = popup.getList();

ListModel model = combobox.getModel();
for(int i = 0; i < model.getSize(); i++)
{
Object value = model.getElementAt(i);
JLabel label = (JLabel)renderer.getListCellRendererComponent(list, value, i, false, false);
components.add( label.getText() );
}

关于java - 获取 JComboBox 项目字符串表示形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40089712/

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