请用Java语言实现Java文本编辑器的字体字号颜色设置
时间: 2023-11-01 21:06:28 浏览: 185
好的,以下是一个简单的Java文本编辑器的字体字号颜色设置示例:
```java
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class TextEditor extends JFrame implements ActionListener {
private JTextArea textArea;
private JMenuBar menuBar;
private JMenu fontMenu, sizeMenu, colorMenu;
private JMenuItem[] fontItems, sizeItems, colorItems;
public TextEditor() {
setTitle("Java文本编辑器");
setSize(500, 500);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
textArea = new JTextArea();
add(textArea);
menuBar = new JMenuBar();
fontMenu = new JMenu("字体");
sizeMenu = new JMenu("字号");
colorMenu = new JMenu("颜色");
String[] fontNames = {"宋体", "黑体", "楷体", "仿宋", "微软雅黑"};
fontItems = new JMenuItem[fontNames.length];
for (int i = 0; i < fontNames.length; i++) {
fontItems[i] = new JMenuItem(fontNames[i]);
fontItems[i].addActionListener(this);
fontMenu.add(fontItems[i]);
}
Integer[] fontSizes = {12, 14, 16, 18, 20, 22, 24, 26, 28, 30};
sizeItems = new JMenuItem[fontSizes.length];
for (int i = 0; i < fontSizes.length; i++) {
sizeItems[i] = new JMenuItem(fontSizes[i].toString());
sizeItems[i].addActionListener(this);
sizeMenu.add(sizeItems[i]);
}
Color[] colors = {Color.BLACK, Color.RED, Color.BLUE, Color.GREEN, Color.ORANGE};
colorItems = new JMenuItem[colors.length];
for (int i = 0; i < colors.length; i++) {
colorItems[i] = new JMenuItem(colors[i].toString());
colorItems[i].addActionListener(this);
colorMenu.add(colorItems[i]);
}
menuBar.add(fontMenu);
menuBar.add(sizeMenu);
menuBar.add(colorMenu);
setJMenuBar(menuBar);
}
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
for (JMenuItem fontItem : fontItems) {
if (source == fontItem) {
Font font = new Font(fontItem.getText(), Font.PLAIN, textArea.getFont().getSize());
textArea.setFont(font);
return;
}
}
for (JMenuItem sizeItem : sizeItems) {
if (source == sizeItem) {
Font font = new Font(textArea.getFont().getName(), Font.PLAIN, Integer.parseInt(sizeItem.getText()));
textArea.setFont(font);
return;
}
}
for (JMenuItem colorItem : colorItems) {
if (source == colorItem) {
textArea.setForeground(colorItem.getForeground());
return;
}
}
}
public static void main(String[] args) {
TextEditor editor = new TextEditor();
editor.setVisible(true);
}
}
```
这个示例程序创建了一个带有菜单栏的窗口,菜单栏中包含了字体、字号、颜色三个菜单,分别用于设置文本的字体、字号和颜色。用户可以通过单击菜单项来设置文本的属性。程序使用了Java的Swing库来实现窗口和菜单的创建。在`actionPerformed`方法中,根据用户的选择来设置文本的属性。
阅读全文