相关疑难解决方法(0)

设置Swing程序的默认字体

我想知道如何为我的整个Java swing程序设置默认字体.根据我的研究,它似乎可以完成,与UIManager某些事情有关LookAndFeel,但我找不到具体的方法,UIManager看起来很复杂.

java fonts swing uimanager

59
推荐指数
6
解决办法
7万
查看次数

如何从静态上下文中获取getclass().getResource()?

我有一个函数,我试图将文件加载到一个URL对象,因为示例项目说.

public class SecureFTP {

    public static void main(String[] args) throws IOException , ClassNotFoundException, SQLException , JSchException, SftpException{
        File file = new File("/home/xxxxx/.ssh/authorized_keys");
        URL keyFileURL = this.getClass().getClassLoader().getResource(file);
Run Code Online (Sandbox Code Playgroud)

我尝试过使用SecureFTP.class.getResource,但仍无法编译.

我对Java很新,所以我知道我做错了什么.

java url getresource

34
推荐指数
4
解决办法
5万
查看次数

如何计算文本在JTextArea中的行数(以及每行中的列数)?

在对问题中提出的问题感兴趣之后, 我试图接近它几次并且失败了,我不喜欢那样:)

我认为如果问题被分成子问题,它可能有助于解决它.

为简单起见,假设JTextArea不会改变其大小,因此我们不需要担心重新评估等.我认为重要的问题是:

1.如何计算某个文本在JTextArea中占用的行数?

2. JTextArea中的列数与它可以放在一行中的字符数之间的关系是什么?所以我们可以计算行长度.

请在下面找到包含要处理的文本区域的示例代码:

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.SwingUtilities;

public class TextAreaLines
{
    public static void main(String[] args)
    {
        SwingUtilities.invokeLater(new Runnable()
        {
            @Override
            public void run()
            {
                JPanel p = new JPanel();
                JFrame f = new JFrame();
                JTextArea ta = new JTextArea("dadsad sasdasdasdasdasd");
                ta.setWrapStyleWord(true);
                ta.setLineWrap(true);
                ta.setRows(5);
                ta.setColumns(5);
                p.add(ta);
                f.setContentPane(p);
                f.setSize(400, 300);
                f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                f.setVisible(true);             
                //BTW the code below prints 1
                System.out.println("ta.getLineCount()="+ta.getLineCount());
            }
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑1:所以我提出了以下代码,但问题是输出不是你看到的,即

//for input
//JTextArea ta = …
Run Code Online (Sandbox Code Playgroud)

java swing jtextarea

12
推荐指数
3
解决办法
9980
查看次数

你如何导入字体?

我想知道如何导入字体.

我正在尝试使用自定义下载的字体,但由于大多数计算机将运行此字体,因此它不是默认字体.即使他们没有字体,我怎样才能使字体工作?

我正在将它用于游戏画面,需要用它显示乐谱,并希望乐谱文本是相同的字体.这是图像,

在此输入图像描述

如果重要,我的电脑上的字体名称是 Terminal

编辑:我假设它必须在java文件的目录中有字体,并有一些方法使用它,但我不知道如何.或者,还有更好的方法?

编辑2:我找到了一个很好的教程,如何做到这一点,但需要一些帮助我如何使用这个... 点击我的链接

EDIT3:

URL fontUrl = new URL("http://www.webpagepublicity.com/" + "free-fonts/a/Airacobra%20Condensed.ttf");
Font font = Font.createFont(Font.TRUETYPE_FONT, fontUrl.openStream());
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
ge.registerFont(font);
g.setFont(font);
Run Code Online (Sandbox Code Playgroud)

错误信息

File: F:\Computer Science\draw.java  [line: 252]
Error: F:\Computer Science\draw.java:252: font is not public in java.awt.Component; cannot be accessed from outside package
Run Code Online (Sandbox Code Playgroud)

这是我正在尝试的:

URL fontUrl = new URL("http://img.dafont.com/dl/?f=badaboom_bb");
Font font = Font.createFont(Font.TRUETYPE_FONT, fontUrl.openStream());
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
ge.registerFont(font);
g.setFont(font);
Run Code Online (Sandbox Code Playgroud)

Edit4:

File fontfile = new File("TexasLED.ttf");
File.toURI(fontfile).toURL(fontfile);
URL fontUrl = new URL("fontfile");
Run Code Online (Sandbox Code Playgroud)

错误 …

java fonts awt

8
推荐指数
1
解决办法
4万
查看次数

标签 统计

java ×4

fonts ×2

swing ×2

awt ×1

getresource ×1

jtextarea ×1

uimanager ×1

url ×1