我正在创建一个使用未修饰边框的应用程序,并希望向我的 JFrame 添加阴影。我让影子起作用了,但在这个过程中,文字都搞砸了。
由于程序的大小,我无法发布我的所有代码,但是当我删除这一行时,问题确实消失了。 设置背景(新颜色(0、0、0、0)); 那么什么会导致文本显示模糊和错误呢?它更大胆,有些字母似乎更高。 由于我没有 10 级声望,因此无法发布图片。 这是我的更多代码:
int extendBy=30;
setMaximumSize(new Dimension(width + extendBy, height + extendBy));
setMinimumSize(new Dimension(width + extendBy, height + extendBy));
setPreferredSize(new Dimension(width + extendBy, height + extendBy));
setUndecorated(true);
setBackground(new Color(0, 0, 0, 0)); // all hell breaks loose here
setContentPane(new ShadowPane());
getContentPane().setBackground(Color.BLACK);
setLocationRelativeTo(null);
setLayout(null); // I know setting null this is bad practice
编辑:获得了 10 个声望所以这是一张照片(看 W 或 A 或 k):
最佳答案
尝试覆盖此 JTable 的 paintComponent 方法。
对于您的情况,我会使用抗锯齿来消除那些不需要的效果。
jTable1 = new javax.swing.JTable(){
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D)g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON );
}
};
关于java - JFrame 文本显示错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19108431/