gpt4 book ai didi

java - 使用菜单更改文本字体

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

我有这段代码,当用户点击其中一种字体“粗体或斜体......”时,文本应该改变。我无法添加将执行此操作的 Action 监听器:

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class question4 extends JFrame {

private JTextField textField;
private JComboBox fontbox;
private String names[]={ "Bold","Italic","Plain"};
private Icon icons[]={};


public question4()
{
super("JcheckBox");
setLayout(new FlowLayout());//set frame
fontbox = new JComboBox(names);//set jcobobox
fontbox.setMaximumRowCount(3);
//listener

add(fontbox);
//add the text content
textField = new JTextField ("Hello World", 20);
textField.setFont(new Font("Calibri", Font.BOLD,18));//set the text font and size
add(textField);//add textfield to jframe
}

public static void main(String args[])
{
question4 obj = new question4();//create object
obj.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
obj.setSize(700,400);
obj.setVisible(true);
}//end main

}//end class

最佳答案

这里不是直接为您提供解决方案,而是一些可以帮助您的指南:

  • 重新审视 ActionListener(甚至是 Action )的概念,特别是将一个添加到 JComboBox fontbox
  • 为您的Font 样式创建一个JComboBox 自定义对象,以便包装显示的文本和要使用的整数常量(提示)。作为指南,请参阅此 example
  • 然后在您的ActionListener 中,读取从getSelectedItem 返回的值并使用对象中的样式常量相应地调用 JTextField.setFont

关于java - 使用菜单更改文本字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14103937/

26 4 0