2015-11-07 42 views
0

我正在制作一个基本的文本编辑器,我希望它可以在JColorChooser中选择一种颜色,并且您选择的颜色将成为JTextArea中文本的新颜色。这是对JColorChooser如何使它在JColorChooser中选择的颜色改变JTextArea中字体的颜色?

JPanel panel = new JPanel(); 
     JColorChooser color = new JColorChooser(); 

     panel.add(color); 

     int x = JOptionPane.showConfirmDialog(null, panel, "Pick a Color", JOptionPane.OK_CANCEL_OPTION, -1); 
     if(x == JOptionPane.OK_OPTION){ 
      <Code Here> 
     } 
     if(x == JOptionPane.CANCEL_OPTION){ 

     }else{ 

     } 

和JText地区代码的代码是

static JTextArea textArea; 

private Font textFont; 

NVM IT已经回答了

Color newColor = color.getColor(); 
       textArea.setForeground(newColor); 

回答

2

阅读从Swing教程中的部分上How to Use Color Choosers

ColorChooserDemo会告诉你如何做到这一点。它改变了JLabel的前景,但这个概念对于JTextArea来说是一样的。

此外,本教程示例将向您展示如何更好地构建代码。你不应该在代码中使用静态变量。

+0

谢谢。只是一个问题,你是否知道如何使JColorChooser改变你突出显示的文本的颜色? – Dragon4c3

+0

这在JTextArea中不受支持。您将需要为此使用JTextPane。再次。阅读教程。 “文本组件特征”部分有一个在JTextPane中使用样式文本的例子。 – camickr

+0

谢谢你,还有一个问题,是否有AWT版本的JColorChooser,因为在我看来,java的看起来并不是最好的。 – Dragon4c3

0
Color newColor = color.getColor(); 
textArea.setForeground(newColor); 
相关问题