gpt4 book ai didi

java - JButton 文本在设置 Action 时发生变化

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:15:32 24 4
gpt4 key购买 nike

我正在开发一个 swing GUI 项目,我有一个 JButton 可以将 JTextPane 中的文本变为粗体。我使用 Action 来执行此操作。

这是Action

的代码
public static Action boldAction = new StyledEditorKit.BoldAction();

这是JButton

的代码
JButton bold = new JButton("B");
bold.setFont(new Font("Arial", Font.BOLD, 15));
bold.setBounds(393, 15, 100, 100);
bold.setBackground(Color.WHITE);
bold.setAction(boldAction);
frame.add(bold);

如果没有 Action,按钮上的文本是一个粗体“B”,这正是我想要的。出现的问题是,当我添加操作时,它会将按钮上的文本更改为“font-bold”。

为什么会发生这种情况,我该如何解决?

最佳答案

当您使用 Action 时,Action 的属性默认为按钮。

如果您不想要“font-bold”,那么您需要在设置 Action 后更改文本:

JButton bold = new JButton( boldAction);
bold.setText("B");

也不要使用 setBounds() 方法。 Swing 旨在与布局管理器一起使用。

//bold.setBounds(393, 15, 100, 100);

关于java - JButton 文本在设置 Action 时发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36230440/

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