gpt4 book ai didi

java - 想要通过使用 StyledEditorKit.BoldAction() 方法为按钮设置操作来更改 JTextArea 中的字体样式

转载 作者:行者123 更新时间:2023-12-02 12:58:59 25 4
gpt4 key购买 nike

请帮忙...目前我正在自学Java。我的目标是创建一个文本编辑器,并能够使用 StyledEditorKit 更改所选文本的文本样式。我已阅读如何将 StyledEditorKit 与 JTextArea 一起使用。使用 JMenuItems 创建 JMenu。指定操作 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 来支持风格化文本。

阅读 Swing 教程中关于 Text Component Features 的部分了解更多信息和实现您想要的工作示例。

关于java - 想要通过使用 StyledEditorKit.BoldAction() 方法为按钮设置操作来更改 JTextArea 中的字体样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44339570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com