2011-12-30 8 views
3

Javaを使用して付箋アプリケーションを作成しています。JButtonを使用してtextArea内のフォントサイズを増減する

は私が何をしたい: 私はtextAreaの内側に、私は増加サイズをクリックするたびにテキストのサイズを増やすことをお勧めします。 私は明らかに反対をする方法を知っています。

ショートコード:

 JButton incButton = new JButton("+"); 
     fontFrame.add(incButton); 
     incButton.addActionListener(new fontIncAction()); 
     JButton DecButton = new JButton("-"); 
     fontFrame.add(DecButton); 

     //textArea.setFont(Font("Serif", Font.PLAIN, fz)); 
    } 
} 

private class fontIncAction implements ActionListener{ 
    public void actionPerformed(ActionEvent e){ 

     textArea.setFont(new Font("Serif",Font.PLAIN,20)); 
    } 
} 
+0

これは純粋な推測ですが、試してみてくださいにtextArea .setText(textArea.getText())フォントを変更した後。テキストをリセットするだけです。私の勘には、フォントを変更するだけがボックスの新しいテキストに適用されるということです。これで動かなければ、私はあなたを助けることができません。私はちょうど推測が沈黙よりも良かったと思った:)幸運! –

+0

1)新しいサイズの基礎として、Fontの現在のサイズを使用します。 2)すぐにより良い助けを得るために、[SSCCE](http://sscce.org/)を投稿してください。 3)あなたは目標を達成する際にどんな正確な問題を経験していますか? –

+0

@CodySの場合、フォントはテキスト全体に適用されます。テキストを置き換える必要はありません。 – camickr

答えて

8

コードより一般的な、あなたのActionListenerで、次のような何かを行うことができますようにするには:

Font font = textArea.getFont(); 
float size = font.getSize() + 1.0f; 
textArea.setFont(font.deriveFont(size)); 
+0

うわー!このようなものを見たことはありません! '1.0f'の' f'は 'deriveFont'とまったく何ですか? 'getSize()'はフォントのサイズを返します。 – Sobiaholic

+1

@iMohammad:[§3.10.2浮動小数点リテラル](http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#3.10.2)も参照してください。 – trashgod