帮我用Java写一个桌面便签,
时间: 2024-03-18 08:41:08 浏览: 16
好的,以下是一个简单的Java桌面便签的实现,你可以根据需要进行修改和完善。
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class DesktopNote extends JFrame implements ActionListener {
private JTextArea noteArea;
private JButton saveBtn, clearBtn;
private JMenuBar menuBar;
private JMenu fileMenu, editMenu;
private JMenuItem saveItem, clearItem, exitItem;
public DesktopNote() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(500, 500);
setLocationRelativeTo(null);
setTitle("Desktop Note");
noteArea = new JTextArea();
noteArea.setFont(new Font("Arial", Font.PLAIN, 16));
JScrollPane scrollPane = new JScrollPane(noteArea);
saveBtn = new JButton("Save");
saveBtn.addActionListener(this);
clearBtn = new JButton("Clear");
clearBtn.addActionListener(this);
JPanel bottomPanel = new JPanel();
bottomPanel.add(saveBtn);
bottomPanel.add(clearBtn);
fileMenu = new JMenu("File");
saveItem = new JMenuItem("Save");
saveItem.addActionListener(this);
exitItem = new JMenuItem("Exit");
exitItem.addActionListener(this);
fileMenu.add(saveItem);
fileMenu.add(exitItem);
editMenu = new JMenu("Edit");
clearItem = new JMenuItem("Clear");
clearItem.addActionListener(this);
editMenu.add(clearItem);
menuBar = new JMenuBar();
menuBar.add(fileMenu);
menuBar.add(editMenu);
setJMenuBar(menuBar);
getContentPane().add(scrollPane, BorderLayout.CENTER);
getContentPane().add(bottomPanel, BorderLayout.SOUTH);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == saveBtn || e.getSource() == saveItem) {
JFileChooser fileChooser = new JFileChooser();
if (fileChooser.showSaveDialog(this) == JFileChooser.APPROVE_OPTION) {
String filePath = fileChooser.getSelectedFile().getPath();
try {
java.io.FileWriter writer = new java.io.FileWriter(filePath);
writer.write(noteArea.getText());
writer.close();
JOptionPane.showMessageDialog(this, "Note saved successfully!");
} catch (Exception ex) {
JOptionPane.showMessageDialog(this, "Error occurred while saving note.");
}
}
} else if (e.getSource() == clearBtn || e.getSource() == clearItem) {
noteArea.setText("");
} else if (e.getSource() == exitItem) {
System.exit(0);
}
}
public static void main(String[] args) {
DesktopNote note = new DesktopNote();
note.setVisible(true);
}
}
```
这个程序创建了一个JFrame窗体,里面包含一个JTextArea用于输入文本内容,一个JScrollPane用于滚动显示文本内容,两个JButton用于保存和清空文本内容,以及一个JMenuBar用于添加文件和编辑菜单。当点击保存按钮或文件菜单中的保存选项时,可以选择保存文件的路径,并将文本内容保存到指定文件中。当点击清空按钮或编辑菜单中的清空选项时,可以清空文本内容。当点击文件菜单中的退出选项时,程序退出。
你可以根据需要进行修改和完善,例如添加打开文件功能、添加字体修改功能等。