2013-10-01 62 views
3

我正在创建一个应用程序,该应用程序使用未装饰的边框,并且想要为我的JFrame添加阴影。我得到了影子的工作,但在这个过程中,文本全部搞砸了。JFrame文本显示错误

由于程序的大小,我无法发布我的所有代码,但当我删除此行时问题确实消失。 setBackground(new Color(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):textPic

+1

在这里你有你的信誉10,现在发布图片:) – Matthias

+1

'由于程序我不能发布我所有的code'的大小 - 发表您的[SSCCE(HTTP:// SSCCE。 org /)来证明问题。 – camickr

+0

你有Matthias什么样的魔法?认真的你怎么做的 –

回答

1

尝试覆盖此JTable中的paintComponent方法。

如何做到这一点:Overriding 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); 
     } 
    };