小编Pux*_*Pux的帖子

为什么 Java Swing 程序不能显示变音符号(ä、ö、...)等德语字符?

Swing 程序显示错误的字符而不是德语变音。此按钮应为“Schließen”,例如:在此处输入图片说明. 据我所知,所有 UI 元素都会发生这种情况。

创建 UI 的代码并不少见,例如:

about = new JButton("");
about.setToolTipText("Über das Programm");
Run Code Online (Sandbox Code Playgroud)

我已经检查了以下事项:

  1. .java 文件的编码是 utf-8(用 VS 代码检查)
  2. 字体为 javax.swing.plaf.FontUIResource[family=Dialog,name=Dialog,style=bold,size=12]。Dialog 似乎是默认字体,所以如果它不支持变音符号会很奇怪。但是我还没有找到一种方法来检查这个,因为当我通过 Windows 检查我安装的字体时,我没有找到一种名为“Dialog”的字体。

该项目还使用 gradle (6.8)。

这种行为的原因是什么?当我与在 Linux 上编译相同程序的人交谈时,他们似乎没有这个问题。

编辑:

我还找到了这样的代码:

JLabel test = new JLabel();
test.setFont(new Font("Arial", Font.PLAIN, 12));
test.setText("<html>Something with ß</html>");
Run Code Online (Sandbox Code Playgroud)

Arial 肯定支持变音,但这段代码仍然没有正确显示 ß

java swing gradle

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

为什么我不能使用切片模式来过滤 Window 迭代器?

我有一个数字向量,并使用该windows(2)方法创建一个迭代器,为我提供相邻对。例如,向量[1, 2, 3]被变换为[1, 2], [2, 3]。我想使用该find方法来查找满足特定条件的切片:

fn step(g: u64) -> Option<(u64, u64)> {
    let prime_list: Vec<u64> = vec![2, 3, 5, 7]; //For example
    if prime_list.len() < 2 {
        return None;
    }
    let res = prime_list.windows(2).find(|&&[a, b]| b - a == g)?;
    //...
    None
}
Run Code Online (Sandbox Code Playgroud)

我收到错误:

fn step(g: u64) -> Option<(u64, u64)> {
    let prime_list: Vec<u64> = vec![2, 3, 5, 7]; //For example
    if prime_list.len() < 2 {
        return None;
    }
    let res …
Run Code Online (Sandbox Code Playgroud)

closures rust

3
推荐指数
1
解决办法
1346
查看次数

为什么 Rust 的 read_to_end 不将文件读入缓冲区?

代码(根据我的实际问题改编)非常简单,但我无法弄清楚我缺少什么。它将正确写入文件。但它的输出是Buffer: [],由于某种原因,没有从文件中读取任何内容。它是什么?

use std::io::{Read, Write};

fn main() {
    let mut test_file = std::fs::OpenOptions::new()
        .read(true)
        .write(true)
        .open("testfile.txt")
        .expect("Creating file failed");
    let test_str = String::from("This is only a test!");

    test_file
        .write_all(test_str.as_bytes())
        .expect("Writing file failed");

    let mut buffer: Vec<u8> = Vec::new();
    test_file
        .read_to_end(&mut buffer)
        .expect("Reading file to buffer failed!");

    println!("Buffer: {:?}", &buffer);
}
Run Code Online (Sandbox Code Playgroud)

file-io rust

1
推荐指数
1
解决办法
1206
查看次数

标签 统计

rust ×2

closures ×1

file-io ×1

gradle ×1

java ×1

swing ×1