【发布时间】:2021-06-19 07:50:14
【问题描述】:
我正在创建一个类来处理我的音乐培训应用程序中乐谱的创建,该应用程序是使用 Java Swing 构建的。因此,我将 Bravura 字体用于大多数符号,例如高音谱号和临时记号(使用带有 unicode 字符的 Graphics drawString 方法)。
但是,我找不到用这种方法绘制半短音符或整个音符的方法;根据我使用fileformat.info 的研究,当我输入序列"\uD834\uDD5D" 时,我得到一个矩形而不是所需的字符,这应该对应于整个音符。
我的 JFrame 代码如下:
public MusicalNotation() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
JTextArea semibreveTextArea = new JTextArea();
semibreveTextArea.setBounds(50, 100, 200, 200);
semibreveTextArea.setFont(new Font("Bravura", Font.PLAIN, 24));
semibreveTextArea.setText("\uD834\uDD5D");
contentPane.add(semibreveTextArea);
semibreveTextArea.setBackground(getBackground());
semibreveTextArea.setEditable(false);
}
但是,生成的窗口如下所示:
非常感谢任何帮助。提前谢谢你。
【问题讨论】: