用java实现,用事件监听器实现更换文本颜色 添加、删除列表的内容,
时间: 2024-02-18 22:02:26 浏览: 71
好的,以下是一个简单的Java Swing示例程序,演示如何使用事件监听器实现更换文本颜色和添加、删除列表的内容。
```java
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class MyFrame extends JFrame {
private JTextArea textArea;
private JButton colorButton;
private JList<String> list;
private DefaultListModel<String> listModel;
public MyFrame() {
super("My Frame");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 初始化文本区域
textArea = new JTextArea();
add(textArea);
// 初始化按钮
colorButton = new JButton("Change Color");
colorButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Color color = JColorChooser.showDialog(MyFrame.this, "Choose a color", textArea.getForeground());
if (color != null) {
textArea.setForeground(color);
}
}
});
add(colorButton, "North");
// 初始化列表
listModel = new DefaultListModel<>();
listModel.addElement("Item 1");
listModel.addElement("Item 2");
list = new JList<>(listModel);
JScrollPane scrollPane = new JScrollPane(list);
add(scrollPane, "South");
// 添加按钮
JButton addButton = new JButton("Add");
addButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String item = JOptionPane.showInputDialog(MyFrame.this, "Enter an item:");
if (item != null) {
listModel.addElement(item);
}
}
});
add(addButton, "West");
// 删除按钮
JButton removeButton = new JButton("Remove");
removeButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
int selectedIndex = list.getSelectedIndex();
if (selectedIndex != -1) {
listModel.remove(selectedIndex);
}
}
});
add(removeButton, "East");
// 显示窗口
pack();
setVisible(true);
}
public static void main(String[] args) {
new MyFrame();
}
}
```
在这个示例程序中,我们创建了一个窗口,其中包含一个文本区域、一个更换颜色的按钮、一个列表和两个按钮(添加和删除列表项)。
为了实现更换文本颜色的功能,我们使用了一个颜色选择器对话框,并在选择颜色后将其应用于文本区域。
为了实现添加和删除列表项的功能,我们使用了一个默认的列表模型,并为添加和删除按钮添加了相应的事件监听器。
请注意,这只是一个简单的示例程序,您可能需要根据自己的需求进行修改和扩展。
阅读全文