2015-12-03 71 views
0

我试图为文本编辑器创建一个大胆的函数,但我不知道如何设置下一个文本以键入粗体格式(我只是想很清楚,这是不是选定的文本设置为黑体,而不是设置你在未来的粗体文字),我试图如何将下一个文本设置为粗体动作侦听器[java]

JEditorPane feild2 = new JEditorPane("text/html",""); 
JButton Button=new JButton("B"); 
Button.addActionListener(new ActionListener(){ 

@Override 
public void actionPerformed(ActionEvent arg4) { 
    int e=0; 
    if(arg4.getSource()==Button&&e==0){ 
     feild2.setText(feild2.getText()+ "<b>"); 
     e=1; 
    } 
    else if(arg4.getSource()==Button&&e==1){ 
     feild2.setText(feild2.getText()+ "</b>"); 
     e=0; 
    } 
} 

}); 

但不能正常工作。有什么建议么?如果您点击与选定的文本,然后将文本进行了大胆的按钮

JButton button = new JButton(new StyledEditorKit.BoldAction()); 

+1

您认为这可以工作吗?在按下按钮时,它只是粗体显示文本。没有代码可以听取未来的文本并使其粗体。 –

+1

我会从[如何使用编辑器窗格](https://docs.oracle.com/javase/tutorial/uiswing/components/editorpane.html)和[文本组件功能](http://docs.oracle.com你可以看看[这个例子](http://stackoverflow.com/questions/32241960/make-a-selected-word-bold-这个示例](http://www.java2s.com/Tutorial/Java/0240__Swing/SimpleAttributeBoldItalic.htm)和[本示例](http://www.java2s.com/Tutorial/Java/0240__Swing/SimpleAttributeBoldItalic.htm) //www.java2s.com/Tutorial/Java/0240__Swing/EditorbasedonJTextPane.htm) – MadProgrammer

+1

请记住,'setText'说,“扔掉以前的文本内容并应用这个新的文本” – MadProgrammer

回答

2

使用由StyledEditorKit提供的默认动作。

如果在未选中文本的情况下单击按钮,插入插入符号的文本将变为粗体。

相关问题