想要通过使用 StyledEditorKit.BoldAction() 方法将操作设置为按钮来更改 JTextArea 中的字体样式
Want to change font style in JTextArea by setting an action to a button with StyledEditorKit.BoldAction() method
请帮忙...目前我正在自学Java。我的目标是创建一个文本编辑器,并有可能使用 StyledEditorKit 更改所选文本的文本样式。我已经阅读了如何将 StyledEditorKit 与 JTextArea 一起使用。使用 JMenuItems 创建 JMenu。分配 Actions BoldAction 和 ItalicAction,但文本 属性 没有改变。我做错了什么......这是我的代码
import java.awt.*;
import javax.swing.*;
import javax.swing.text.*;
public class StyledEditorKit_Prueba {
public static void main(String[] args) {
EditorFrame myFrame= new EditorFrame();
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
class EditorFrame extends JFrame{
public EditorFrame(){
setBounds(500,200,500,350);
setResizable(false);
setTitle(" StyledEditorKit Use");
EditorPanel myPanel= new EditorPanel();
add(myPanel);
setVisible(true);
}
}
class EditorPanel extends JPanel{
public EditorPanel(){
setLayout(new BorderLayout());
miAreaT= new JTextArea();
add(miAreaT, BorderLayout.CENTER);
//_______________________________________
JPanel panelBarMenu= new JPanel();
JMenuBar barMenu= new JMenuBar();
menu= new JMenu("Change Style");
//___________________________________________________
JMenuItem bold= new JMenuItem("Bold");
JMenuItem italic= new JMenuItem("Italic");
bold.addActionListener(new StyledEditorKit.BoldAction());
italic.addActionListener(new StyledEditorKit.ItalicAction());
//---------------------------------------------------
menu.add(bold);
menu.addSeparator();
menu.add(italic);
barMenu.add(menu);
panelBarMenu.add(barMenu);
add(panelBarMenu, BorderLayout.NORTH);
//----------------------------------------------------
}
private JTextArea miAreaT;
private JMenu menu;
}
JTextArea 不支持粗体或斜体文本。
您需要使用 JTextPane
来支持风格化文本。
阅读有关 Text Component Features 的 Swing 教程部分,了解更多信息和可以满足您需要的工作示例。
请帮忙...目前我正在自学Java。我的目标是创建一个文本编辑器,并有可能使用 StyledEditorKit 更改所选文本的文本样式。我已经阅读了如何将 StyledEditorKit 与 JTextArea 一起使用。使用 JMenuItems 创建 JMenu。分配 Actions BoldAction 和 ItalicAction,但文本 属性 没有改变。我做错了什么......这是我的代码
import java.awt.*;
import javax.swing.*;
import javax.swing.text.*;
public class StyledEditorKit_Prueba {
public static void main(String[] args) {
EditorFrame myFrame= new EditorFrame();
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
class EditorFrame extends JFrame{
public EditorFrame(){
setBounds(500,200,500,350);
setResizable(false);
setTitle(" StyledEditorKit Use");
EditorPanel myPanel= new EditorPanel();
add(myPanel);
setVisible(true);
}
}
class EditorPanel extends JPanel{
public EditorPanel(){
setLayout(new BorderLayout());
miAreaT= new JTextArea();
add(miAreaT, BorderLayout.CENTER);
//_______________________________________
JPanel panelBarMenu= new JPanel();
JMenuBar barMenu= new JMenuBar();
menu= new JMenu("Change Style");
//___________________________________________________
JMenuItem bold= new JMenuItem("Bold");
JMenuItem italic= new JMenuItem("Italic");
bold.addActionListener(new StyledEditorKit.BoldAction());
italic.addActionListener(new StyledEditorKit.ItalicAction());
//---------------------------------------------------
menu.add(bold);
menu.addSeparator();
menu.add(italic);
barMenu.add(menu);
panelBarMenu.add(barMenu);
add(panelBarMenu, BorderLayout.NORTH);
//----------------------------------------------------
}
private JTextArea miAreaT;
private JMenu menu;
}
JTextArea 不支持粗体或斜体文本。
您需要使用 JTextPane
来支持风格化文本。
阅读有关 Text Component Features 的 Swing 教程部分,了解更多信息和可以满足您需要的工作示例。