采用边布局,组合框显示在窗口最上方,组合框内添加所有的字体,下方放一个文本行或者文本域。当选择一个字体的时候,文字可以随之改变有。以java初学者的角度编写代码实现以上功能
时间: 2024-02-24 20:57:55 浏览: 65
各种java边框的使用
好的,以下是一个简单的Java代码实现:
```java
import java.awt.BorderLayout;
import java.awt.Font;
import java.awt.GraphicsEnvironment;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JTextArea;
public class FontSelector extends JFrame implements ItemListener {
private JComboBox<String> fontComboBox; // 字体选择组合框
private JTextArea textArea; // 文本域
public FontSelector() {
// 创建窗口并设置布局
super("字体选择器");
setLayout(new BorderLayout());
// 初始化字体选择组合框
fontComboBox = new JComboBox<String>();
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
Font[] fonts = ge.getAllFonts();
for (Font font : fonts) {
fontComboBox.addItem(font.getName());
}
fontComboBox.addItemListener(this);
// 初始化文本域
textArea = new JTextArea("这是一段文本,可以随着字体的选择而改变。");
textArea.setFont(new Font((String) fontComboBox.getSelectedItem(), Font.PLAIN, 18));
// 将组件添加到窗口中
add(fontComboBox, BorderLayout.NORTH);
add(textArea, BorderLayout.CENTER);
// 设置窗口大小和可见性
setSize(400, 300);
setVisible(true);
}
// 监听字体选择组合框,当用户选择一个字体时,将文本域中的字体随之改变
public void itemStateChanged(ItemEvent e) {
String fontName = (String) fontComboBox.getSelectedItem();
textArea.setFont(new Font(fontName, Font.PLAIN, 18));
}
public static void main(String[] args) {
new FontSelector();
}
}
```
这是一个简单的窗口应用程序,包含一个字体选择组合框和一个文本域。在程序启动时,会将系统中所有的字体添加到组合框中,并将文本域的字体设置为默认字体。当用户选择一个字体时,文本域中的字体将随之改变。
希望这个实现方式对你有所帮助。
阅读全文