4、 根据下面的要求用Java编写程序(35分): ① 创建一个标题为“第4题”的窗口,大小为600×400; ③ 在窗口中间放置一个20行20列的文本区,带滚动条; ④ 设置字体为“楷体_gb2312”加粗,字号20; ⑤ 为窗口设置菜单条,菜单条上有一个菜单【File】; ⑥ 【File】菜单下,添加4个菜单项:“New”、“Get7Num”“Save”和“Exit”,并设置快捷键分别为:“Ctrl+N”、“Ctrl+G”、“Ctrl+S”、“Ctrl+E”; ⑦ 选择菜单项“New”,则清除文本区内容; ⑧ 选择菜单项“Get7Num”,则随即生成7个范围在[1 , 36]的整数,并把这7个数字显示在文本区的一行上; ⑨ 选择菜单项“Save”,则弹出保存文件对话框,将文本区的内容保存为文本文件; ⑩ 选择菜单项“Exit”,则关闭窗口,退出程序的运行。
时间: 2023-10-19 08:05:20 浏览: 73
以下是Java代码实现:
```
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class Question4 extends JFrame implements ActionListener {
private JTextArea textArea;
private JMenuBar menuBar;
private JMenu fileMenu;
private JMenuItem newMenuItem, get7NumMenuItem, saveMenuItem, exitMenuItem;
public Question4() {
setTitle("第4题");
setSize(600, 400);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
textArea = new JTextArea(20, 20);
textArea.setFont(new Font("楷体_gb2312", Font.BOLD, 20));
JScrollPane scrollPane = new JScrollPane(textArea);
menuBar = new JMenuBar();
fileMenu = new JMenu("File");
newMenuItem = new JMenuItem("New", KeyEvent.VK_N);
get7NumMenuItem = new JMenuItem("Get7Num", KeyEvent.VK_G);
saveMenuItem = new JMenuItem("Save", KeyEvent.VK_S);
exitMenuItem = new JMenuItem("Exit", KeyEvent.VK_E);
newMenuItem.addActionListener(this);
get7NumMenuItem.addActionListener(this);
saveMenuItem.addActionListener(this);
exitMenuItem.addActionListener(this);
fileMenu.add(newMenuItem);
fileMenu.add(get7NumMenuItem);
fileMenu.add(saveMenuItem);
fileMenu.add(exitMenuItem);
menuBar.add(fileMenu);
setJMenuBar(menuBar);
add(scrollPane);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == newMenuItem) {
textArea.setText("");
} else if (e.getSource() == get7NumMenuItem) {
String nums = "";
for (int i = 0; i < 7; i++) {
nums += (int) (Math.random() * 36 + 1) + " ";
}
textArea.append(nums + "\n");
} else if (e.getSource() == saveMenuItem) {
JFileChooser fileChooser = new JFileChooser();
int result = fileChooser.showSaveDialog(this);
if (result == JFileChooser.APPROVE_OPTION) {
File file = fileChooser.getSelectedFile();
try (PrintWriter writer = new PrintWriter(file)) {
writer.write(textArea.getText());
} catch (IOException ex) {
ex.printStackTrace();
}
}
} else if (e.getSource() == exitMenuItem) {
dispose();
}
}
public static void main(String[] args) {
new Question4();
}
}
```
阅读全文