Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取字体、大小、粗体等_Java_Swing_Fonts - Fatal编程技术网

Java 获取字体、大小、粗体等

Java 获取字体、大小、粗体等,java,swing,fonts,Java,Swing,Fonts,我很难找到访问Windows字体或预定义字体和大小的资料。因此,对于我的java程序,我有一个带有字体、大小和颜色的JComboBox。问题是我需要预先输入字体、大小和颜色。如何获得预定义的字体、颜色和大小?到目前为止,这是我为这种字体,但它不是在正确的方式 if (font.equals("Arial")) { if (size.equals("8")) { setSize = 8;

我很难找到访问Windows字体或预定义字体和大小的资料。因此,对于我的java程序,我有一个带有字体、大小和颜色的
JComboBox
。问题是我需要预先输入字体、大小和颜色。如何获得预定义的字体、颜色和大小?到目前为止,这是我为这种字体,但它不是在正确的方式

               if (font.equals("Arial")) {

                if (size.equals("8")) {
                    setSize = 8;
                } else if (size.equals("10")) {
                    setSize = 10;
                } else if (size.equals("12")) {
                    setSize = 12;
                }

                if (color.equals("Black")) {
                    setColor = Color.BLACK;
                } else if (color.equals("Blue")) {
                    setColor = Color.BLUE;
                } else if (color.equals("Red")) {
                    setColor = Color.red;
                }

                Font font = new Font("Arial", setAttribute, setSize);
                Writer.setFont(font);
                Writer.setForeground(setColor);
可以在运行时设置大小和样式

例如。

文档注释 状态的JDoc部分

返回一个数组,该数组包含此
GraphicsEnvironment
本地化为默认区域设置的所有字体系列的名称,如
locale.getDefault()
返回的

另见:


“我在访问windows字体或预定义字体时找不到东西”你在Mac上找不到。和*尼克斯盒子。如果只针对Windows,为什么要用Java编写代码?这只是有人告诉我要做的一个练习,而不是一个试图学习一些东西的完整应用程序哇,这正是我想要的。那么GraphicsEnvironment获取系统运行时使用的字体类型?
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
String[] fonts = ge.getAvailableFontFamilyNames();
import java.awt.*;
import javax.swing.*;

class ShowFonts {

    public static void main(String[] args) {
        SwingUtilities.invokeLater( new Runnable() {
            public void run() {
                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 {

    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;
    }
}