gpt4 book ai didi

java - Swing中设置JComboBox的文本大小

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

我用 java 创建了一个组合框(使用 Netbeans)。我想设置列表中每个项目的文本大小,但不知道该怎么做。 (最好我想使用默认字体样式)。有人知道该怎么做吗?

代码片段:

private javax.swing.JComboBox ComboBox_agent = new javax.swing.JComboBox();
ComboBox_agent.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "TCP", "UDP", "Sink", "NULL" }));

最佳答案

使用具有适当字体大小的列表单元格渲染组件。此示例使用 20 像素。

import java.awt.*;
import javax.swing.*;

class ShowFonts {

public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
GraphicsEnvironment ge = GraphicsEnvironment.
getLocalGraphicsEnvironment();
String[] fonts = ge.getAvailableFontFamilyNames();
JComboBox fontChooser = new JComboBox(fonts);
fontChooser.setRenderer(new FontCellRenderer());
JOptionPane.showMessageDialog(null, fontChooser);
});
}
}

class FontCellRenderer extends DefaultListCellRenderer {

@Override
public Component getListCellRendererComponent(
JList list,
Object value,
int index,
boolean isSelected,
boolean cellHasFocus) {
JLabel label = (JLabel)super.getListCellRendererComponent(
list,value,index,isSelected,cellHasFocus);
Font font = new Font((String)value, Font.PLAIN, 20);
label.setFont(font);
return label;
}
}

关于java - Swing中设置JComboBox的文本大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18704022/

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