• ベストアンサー

swingのラジオボタンについて

たびたびすみません!! (1)ラジオボタンのアクションをどのように渡したらよいでしょうか? fontcolorActionをどこかにadd()しなければなりませんが group.add(fontcolorAction); button1.add(fontcolorAction); どちらもできません(泣 (2)setForeground()を使うと全部の文字の色が変換されてしまいます。選択した文字列の色や文字の大きさだけ変換するメソッドなどもないでしょうか?? (3)getContentPane().setBackground(Color.WHITE);を使うと表示されるウィンドウの中身が白色になると思うんですが薄紫色のままです。どうしたらよいでしょうか? public class NotePad3 extends JFrame { JDesktopPane desktop; JTextArea editArea = new JTextArea(); ButtonGroup group = new ButtonGroup(); JRadioButton button1 = new JRadioButton("black"); JRadioButton button2 = new JRadioButton("blue"); public static void main(String[] args){ NotePad3 frame = new NotePad3(); frame.setVisible(true); } public NotePad3(){ desktop = new JDesktopPane(); FontColorAction fontcolorAction = new FontColorAction(); JMenuBar mb = new JMenuBar(); JMenu sub11 = new JMenu("色"); group.add(button1); group.add(button2); sub11.add(button1); sub11.add(button2); getContentPane().add(desktop,BorderLayout.CENTER); getContentPane().setBackground(Color.WHITE); } class FontColorAction extends AbstractAction{ FontColorAction(){ } public void actionPerformed(ActionEvent e){ NoteFrame inframe = (NoteFrame)desktop.getSelectedFrame(); JTextArea ta = inframe.getTextArea(); if(e.getSource() == button1){ ta.setForeground(Color.black); }else if(e.getSource() == button2){ ta.setForeground(Color.blue); } } }

質問者が選んだベストアンサー

  • ベストアンサー
noname#49664
noname#49664
回答No.3

1.#1さんがおっしゃってるように、ボタンにaddActionListenerで組み込みます。 2.JTextAreaでは無理です。JTextPaneあたりを使うのが良いでしょう。以下にJTextPaneでスタイルを変更する方法の質問があがっています。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1364988 3.これは、内部フレームの背景色を変えたい、ということでしょうか。それとも外部ウィンドウのデスクトップの背景を変えたいということですか。  内部フレームなら、全体を覆っているJTextAreaのgetBackgroundになりますし、外部ウィンドウのデスクトップ部分の背景ならJDesktopPaneのgetBackgroundになります。

nilyannko
質問者

お礼

みなさんありがとうございます。 addActionListenerでできました。 というか基本的なことをもう少しきちんと 勉強しないといけないですよね。。 勉強しなおさないと(泣 みなさんありがとうございました

その他の回答 (2)

  • keroro001
  • ベストアンサー率23% (71/304)
回答No.2

(2).JTextAreaではできないはず (3).editAreaに対して行わなければいけないのでは?

  • keroro001
  • ベストアンサー率23% (71/304)
回答No.1

(1).addActionListener(listener)では?

関連するQ&A