用组合框触发ActionEvent事件做一个能选择系统里的字体的窗口,根据选择的字体,提前输入的文字的字体也跟着变化,是边布局放在北面
时间: 2024-02-25 12:56:19 浏览: 47
Java生成一个文件打开的文件选择对话框窗口.rar
好的,下面是一个简单的用组合框触发ActionEvent事件,实现选择系统字体并改变文本字体的窗口示例代码。窗口使用边布局放在北面,文本框放在中央。
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class FontChooser extends JFrame implements ActionListener {
private JLabel previewLabel;
private JComboBox<String> fontComboBox;
public FontChooser() {
// 设置窗口标题
setTitle("字体选择器");
// 创建字体选择下拉框
String[] fontNames = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
fontComboBox = new JComboBox<>(fontNames);
fontComboBox.addActionListener(this);
// 创建预览标签
previewLabel = new JLabel("预览字体效果");
previewLabel.setFont(new Font("宋体", Font.PLAIN, 20));
// 设置窗口布局
setLayout(new BorderLayout());
add(fontComboBox, BorderLayout.NORTH);
add(previewLabel, BorderLayout.CENTER);
// 设置窗口大小和位置
setSize(400, 300);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
@Override
public void actionPerformed(ActionEvent e) {
// 获取选择的字体名称
String fontName = (String) fontComboBox.getSelectedItem();
// 更新预览标签的字体
Font font = new Font(fontName, Font.PLAIN, 20);
previewLabel.setFont(font);
}
public static void main(String[] args) {
FontChooser fontChooser = new FontChooser();
fontChooser.setVisible(true);
}
}
```
在该示例代码中,首先创建一个JComboBox用于选择系统字体,然后创建一个JLabel用于预览字体效果,将它们添加到窗口上。在ActionListener的actionPerformed方法中,根据选择的字体名称更新预览标签的字体。最后,将窗口设置为可见即可。
注意,在示例代码中,我们使用了GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames()方法获取当前系统中可用的字体名称。
阅读全文