-3

请任何人帮助仅设置所选文本的颜色...我创建了一个简单的文本编辑器...但是,我无法为所选文本内容设置颜色...一旦,我选择了它将影响整个文本区域而不是选定区域。

请帮助任何人,

提前致谢。

for Example : 

在此处输入图像描述在此处输入图像描述

现在我只选择 Kumar..所以,将只选择该选定文本的颜色..但是,我的问题是也更改未选择文本的颜色..

怎么解决???????

4

2 回答 2

2

你用什么组件来显示你的文本?如果是 JTextArea,那就不可能了。您需要一个允许不同样式的组件。例如 JTextPane 中的 StyledDocument。有关详细信息,请参阅如何使用编辑器窗格和文本窗格

于 2013-10-18T13:32:41.893 回答
1

你可以试试下一个:

public static void main(String[] args) {

    final JFrame frame = new JFrame("Selected Color Example");
    frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

    final JTextArea area = new JTextArea("Text for test...", 5, 10);
    frame.add(area, BorderLayout.CENTER);

    JButton button = new JButton("Select Color");
    button.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            Color color = JColorChooser.showDialog(frame, "Colors",
                    Color.BLUE);
            area.selectAll();
            // area.setSelectedTextColor(color); // color of selected text
            area.setSelectionColor(color); // background of selected text
            area.requestFocusInWindow();
        }
    });
    frame.add(button, BorderLayout.PAGE_END);

    frame.pack();
    frame.setVisible(true);

}

在此处输入图像描述

于 2013-10-18T13:47:44.663 回答