Java可视化界面 有3个菜单,字体大小为30,每个菜单有2个子菜单,字体大小为25,每个子菜单有监视器,其中第一个子菜单能在d盘aaaaa.txt文件输入字符,第二个子菜单可以输出aaaaa.txt文件的内容
时间: 2024-04-30 15:21:50 浏览: 87
作业 Java文件字符输入输出1
以下是一个简单的Java可视化界面代码实现,包括3个菜单,每个菜单有2个子菜单和监视器:
```java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MyGUI extends JFrame {
private JMenuBar menuBar;
private JMenu menu1, menu2, menu3;
private JMenuItem menuItem11, menuItem12, menuItem21, menuItem22, menuItem31, menuItem32;
private JTextArea textArea;
public MyGUI() {
// 设置窗口标题
setTitle("Java可视化界面");
// 添加菜单栏
menuBar = new JMenuBar();
setJMenuBar(menuBar);
// 添加菜单1及其子菜单
menu1 = new JMenu("菜单1");
menu1.setFont(new Font("宋体", Font.PLAIN, 30));
menuBar.add(menu1);
menuItem11 = new JMenuItem("子菜单1-1");
menuItem11.setFont(new Font("宋体", Font.PLAIN, 25));
menuItem12 = new JMenuItem("子菜单1-2");
menuItem12.setFont(new Font("宋体", Font.PLAIN, 25));
menu1.add(menuItem11);
menu1.add(menuItem12);
// 添加菜单2及其子菜单
menu2 = new JMenu("菜单2");
menu2.setFont(new Font("宋体", Font.PLAIN, 30));
menuBar.add(menu2);
menuItem21 = new JMenuItem("子菜单2-1");
menuItem21.setFont(new Font("宋体", Font.PLAIN, 25));
menuItem22 = new JMenuItem("子菜单2-2");
menuItem22.setFont(new Font("宋体", Font.PLAIN, 25));
menu2.add(menuItem21);
menu2.add(menuItem22);
// 添加菜单3及其子菜单
menu3 = new JMenu("菜单3");
menu3.setFont(new Font("宋体", Font.PLAIN, 30));
menuBar.add(menu3);
menuItem31 = new JMenuItem("子菜单3-1");
menuItem31.setFont(new Font("宋体", Font.PLAIN, 25));
menuItem32 = new JMenuItem("子菜单3-2");
menuItem32.setFont(new Font("宋体", Font.PLAIN, 25));
menu3.add(menuItem31);
menu3.add(menuItem32);
// 添加监视器
textArea = new JTextArea();
textArea.setEditable(false);
JScrollPane scrollPane = new JScrollPane(textArea);
add(scrollPane);
// 添加子菜单1-1的监视器
menuItem11.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String fileName = "D:\\aaaaa.txt";
String input = JOptionPane.showInputDialog(null, "请输入要写入文件的内容:");
try {
FileWriter writer = new FileWriter(fileName);
writer.write(input);
writer.close();
textArea.append("成功写入文件:" + fileName + "\n");
} catch (IOException ex) {
textArea.append("写入文件失败:" + fileName + "\n");
ex.printStackTrace();
}
}
});
// 添加子菜单3-2的监视器
menuItem32.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String fileName = "D:\\aaaaa.txt";
try {
FileReader reader = new FileReader(fileName);
BufferedReader bufferedReader = new BufferedReader(reader);
String line = null;
textArea.setText("");
while ((line = bufferedReader.readLine()) != null) {
textArea.append(line + "\n");
}
bufferedReader.close();
reader.close();
} catch (IOException ex) {
textArea.append("读取文件失败:" + fileName + "\n");
ex.printStackTrace();
}
}
});
// 设置窗口大小并可见
setSize(600, 400);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new MyGUI();
}
}
```
注意,在子菜单1-1中的监视器中,我们使用了JOptionPane.showInputDialog()方法来获取用户输入的内容,并将其写入文件中。在子菜单3-2中的监视器中,我们使用了FileReader和BufferedReader类来读取文件的内容,并将其显示在监视器中。
阅读全文