Chr*_*ith 2 java paint font-size
当我绘制一个字符串时g.drawString(),生成的文本小于设置的字体.如果您运行以下代码,您可以看到显示所需的字体大小,然后在调用之前repaint()我尝试过的第二个线程调用时显示较小的字体,但这没有帮助.有任何想法吗?SwingUtilities.invokeLater()repaint
import java.awt.Font;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Test {
static JPanel panel;
public static void main(String[] args) {
JFrame frame = new JFrame();
panel = new JPanel() {
private static final long serialVersionUID = 1L;
public void paint(Graphics g) {
g.clearRect(0, 0, panel.getWidth(), panel.getHeight());
g.drawString("TEST", 20, 100);// Where I draw the string
}
};
panel.setFont(new Font("Arial", Font.BOLD, 30));// The desired font
frame.add(panel);
frame.setSize(500, 500);
frame.setVisible(true);
new Thread() {// This thread calls repaint() after two seconds
public void run() {
try {
Thread.sleep(2000);
}
catch (InterruptedException e) {
e.printStackTrace();
}
panel.repaint();
}
}.start();
}
}
Run Code Online (Sandbox Code Playgroud)
例如
panel = new JPanel() {
private static final long serialVersionUID = 1L;
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
// g.clearRect(0, 0, panel.getWidth(), panel.getHeight());
g.drawString("TEST", 20, 100);// Where I draw the string
}
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
89 次 |
| 最近记录: |