gpt4 book ai didi

java - 触发重新绘制 JList 中的第 n 行

转载 作者:行者123 更新时间:2023-12-04 07:03:01 24 4
gpt4 key购买 nike

我可以知道我可以触发系统重新绘制 JList 中的第 n 行吗?目前,我所做的是

jList0.repaint();    // Repaint entire JList, which is not efficient.

我只对更新 JList 中的第 n 行感兴趣。

请注意,我想要这样做的原因是我安装了自定义列表单元格渲染器。列表的 GUI 外观将取决于我的应用程序的外部模型阶段。
public ListCellRenderer getListCellRenderer() {
return new DefaultListCellRenderer() {

@Override
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
Component component = super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
if (component != null && value != null) {
final MainFrame mainFrame = MainFrame.getInstance();
final String portfolioName = mainFrame.getJStockOptions().getPortfolioName();

if (value.toString().equals(portfolioName)) {
component.setFont(new Font(component.getFont().getName(), Font.BOLD, component.getFont().getSize()));
}
}
return component;
}
};
}

最佳答案

list.repaint( list.getCellBounds(...) );

关于java - 触发重新绘制 JList 中的第 n 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1541764/

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