Java Swing未显示正确的字体集
我在Java Swing未显示正确的字体集,java,swing,fonts,jlist,Java,Swing,Fonts,Jlist,我在JScrollPane的内部有一个JList,并将字体设置为Tahoma,普通,20,出于某种原因,它仍然显示为非常小的文本,我不确定这是为什么 为了使这不是一段庞大的代码,我已经尽可能地精简了它 存储此内容的框架使用GridBagLayout ArrayUtil.ArrayToListModel转换任何列表到列表模式 JFrame=newjframe(); 机架立根(100450300); frame.setDefaultCloseOperation(WindowConstants.HID
JScrollPane
的内部有一个JList
,并将字体设置为Tahoma
,普通,20,出于某种原因,它仍然显示为非常小的文本,我不确定这是为什么
为了使这不是一段庞大的代码,我已经尽可能地精简了它
存储此内容的框架使用GridBagLayout
ArrayUtil.ArrayToListModel
转换任何列表代码>到<代码>列表模式代码>
JFrame=newjframe();
机架立根(100450300);
frame.setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
GridBagLayout GridBagLayout=新的GridBagLayout();
gridBagLayout.columnWidths=新的int[]{0};
gridBagLayout.rowHeights=new int[]{0};
gridBagLayout.columnWeights=新的双精度[]{1.0};
gridBagLayout.rowWeights=新的双精度[]{1.0};
frame.getContentPane().setLayout(gridBagLayout);
JScrollPane showlistScrollPane=新的JScrollPane();
GridBagConstraints gbc_showlistScrollPane=新的GridBagConstraints();
gbc_showlistScrollPane.insets=新的insets(0,0,0,5);
gbc_showlistScrollPane.fill=GridBagConstraints.BOTH;
gbc_showlistScrollPane.gridx=0;
gbc_showlistScrollPane.gridy=0;
frame.getContentPane().add(showlistScrollPane,gbc_showlistScrollPane);
ArrayList randomData=新的ArrayList();
随机数据。添加(“随机drhgiudrhgiudhri”);
添加(“数据dsirhgodhroih”);
ListModel pagesList=ArrayUtil.ArrayToListModel(随机数据);
showlist=新的JList(页面列表);
setFont(新字体(“Tahoma”,Font.PLAIN,20));
showlistScrollPane.setViewportView(showlist);
无论我为showlist
制作了多大或多小的字体,它都不会改变其默认字体。在JList
中显示内容的方式不是由JList
定义的,而是由分配给JList
的列表渲染器定义的,因此
showlist.setFont(new Font("Tahoma", Font.PLAIN, 20));
对JList中显示的内容没有影响
请查看以了解更多详细信息
例如
import java.awt.Component;
import java.awt.EventQueue;
import java.awt.Font;
import javax.swing.DefaultListCellRenderer;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
public class Test1 {
public static void main(String[] args) {
new Test1();
}
public Test1() {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
ex.printStackTrace();
}
JList list = new JList(new String[]{"Happy list", "of happy things", "bunnies", "unicorns", "sharks"});
list.setCellRenderer(new BigFontListCellRenderer());
JFrame frame = new JFrame("Testing");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new JScrollPane(list));
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
public class BigFontListCellRenderer extends DefaultListCellRenderer {
@Override
public Component getListCellRendererComponent(JList<?> list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
setFont(new Font("Tahoma", Font.PLAIN, 20));
return this;
}
}
}
导入java.awt.Component;
导入java.awt.EventQueue;
导入java.awt.Font;
导入javax.swing.DefaultListCellRenderer;
导入javax.swing.JFrame;
导入javax.swing.JList;
导入javax.swing.JScrollPane;
导入javax.swing.UIManager;
导入javax.swing.UnsupportedLookAndFeelException;
公共类Test1{
公共静态void main(字符串[]args){
新Test1();
}
公共测试1(){
invokeLater(新的Runnable(){
@凌驾
公开募捐{
试一试{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}catch(ClassNotFoundException |实例化Exception | IllegalacessException |不支持ookandfeelException ex){
例如printStackTrace();
}
JList list=newjlist(新字符串[]{“快乐列表”、“快乐事物”、“兔子”、“独角兽”、“鲨鱼”});
setCellRenderer(新的BigFontListCellRenderer());
JFrame=新JFrame(“测试”);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(新的JScrollPane(列表));
frame.pack();
frame.setLocationRelativeTo(空);
frame.setVisible(true);
}
});
}
公共类BigFontListCellRenderer扩展了DefaultListCellRenderer{
@凌驾
公共组件getListCellRenderComponent(JList列表、对象值、int索引、布尔isSelected、布尔cellHasFocus){
getListCellRenderComponent(列表、值、索引、isSelected、cellHasFocus);
setFont(新字体(“Tahoma”,Font.PLAIN,20));
归还这个;
}
}
}
在JList
中显示内容的方式不是由JList
定义的,而是由分配给JList
的列表定义的,因此
showlist.setFont(new Font("Tahoma", Font.PLAIN, 20));
对JList中显示的内容没有影响
请查看以了解更多详细信息
例如
import java.awt.Component;
import java.awt.EventQueue;
import java.awt.Font;
import javax.swing.DefaultListCellRenderer;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
public class Test1 {
public static void main(String[] args) {
new Test1();
}
public Test1() {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
ex.printStackTrace();
}
JList list = new JList(new String[]{"Happy list", "of happy things", "bunnies", "unicorns", "sharks"});
list.setCellRenderer(new BigFontListCellRenderer());
JFrame frame = new JFrame("Testing");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new JScrollPane(list));
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
public class BigFontListCellRenderer extends DefaultListCellRenderer {
@Override
public Component getListCellRendererComponent(JList<?> list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
setFont(new Font("Tahoma", Font.PLAIN, 20));
return this;
}
}
}
导入java.awt.Component;
导入java.awt.EventQueue;
导入java.awt.Font;
导入javax.swing.DefaultListCellRenderer;
导入javax.swing.JFrame;
导入javax.swing.JList;
导入javax.swing.JScrollPane;
导入javax.swing.UIManager;
导入javax.swing.UnsupportedLookAndFeelException;
公共类Test1{
公共静态void main(字符串[]args){
新Test1();
}
公共测试1(){
invokeLater(新的Runnable(){
@凌驾
公开募捐{
试一试{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}catch(ClassNotFoundException |实例化Exception | IllegalacessException |不支持ookandfeelException ex){
例如printStackTrace();
}
JList list=newjlist(新字符串[]{“快乐列表”、“快乐事物”、“兔子”、“独角兽”、“鲨鱼”});
setCellRenderer(新的BigFontListCellRenderer());
JFrame=新JFrame(“测试”);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(新的JScrollPane(列表));
frame.pack();
frame.setLocationRelativeTo(空);
frame.setVisible(true);
}
});
}
公共类BigFontListCellRenderer扩展了DefaultListCellRenderer{
@凌驾
公共组件getListCellRenderComponent(JList列表、对象值、int索引、布尔isSelected、布尔cellHasFocus){
getListCellRenderComponent(列表、值、索引、isSelected、cellHasFocus);
setFont(新字体(“Tahoma”,Font.PLAIN,20));
归还这个;
}
}
}
平均值