3

装飾されていない境界線を使用するアプリを作成しており、JFrame に影を追加したいと考えています。影が機能するようになりましたが、その過程でテキストがすべて台無しになりました。

プログラムのサイズのため、すべてのコードを投稿することはできませんが、この行を削除すると問題は解決します。setBackground(新しい色(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 を見てください):テキストピック

4

1 に答える 1

1

この JTable の paintComponent メソッドをオーバーライドしてみてください。

方法: 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 );
        }
    };
于 2013-11-30T17:37:39.283 に答える