Java程序设计2023

编程入门 行业动态 更新时间:2024-10-25 20:24:56

Java<a href=https://www.elefans.com/category/jswz/34/1771020.html style=程序设计2023"/>

Java程序设计2023

8-1简单文本编辑器

编写简单文本编辑器,该程序可以新建、打开、编辑和保存文本文件。当用户点击New时,新建一个文件,用户可以编辑文件内容,然后点击Save保存文件。用户点击Open时,选择一个已有文件,然后可对文件进行编辑。示例输出如图所示。
注意frame.setVisible(true)要放在最后,否则textArea会显示不出来

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.OutputStreamWriter;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.filechooser.FileFilter;
class menu{JFrame frame;JPanel panel;JMenuBar menuBar;JMenu editMenu;JMenuItem paste1,paste2,paste3,paste4;JFileChooser chooser;JTextArea textArea;public menu() {frame=new JFrame();Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize( );int screenWidth=screenSize.width;int screenHeight=screenSize.height;int x=(screenWidth-600)/2; int y=(screenHeight-400)/2;frame.setSize(800,600);frame.setLocation(x, y);//窗口居中frame.setTitle("FileChooserTest");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);menuBar=new JMenuBar();frame.setJMenuBar(menuBar);editMenu = new JMenu("File");menuBar.add(editMenu);paste1=new JMenuItem("New");paste2=new JMenuItem("Open");paste3=new JMenuItem("Save");paste4=new JMenuItem("Exit");editMenu.add(paste1);editMenu.add(paste2);editMenu.add(paste3);editMenu.add(paste4);textArea=new JTextArea("waiting for inputting...",30,40);JScrollPane scrollPane=new JScrollPane(textArea);frame.add(scrollPane);chooser=new JFileChooser();paste1.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubtextArea.setText("");}});paste2.addActionListener(new FileOpenListener());//打开文件paste3.addActionListener(new FileSaveListener());paste4.addActionListener(new ActionListener() {//退出public void actionPerformed(ActionEvent e) {System.exit(0);}});frame.setVisible(true);}private class FileOpenListener implements ActionListener{//打开文件事件监听器public void actionPerformed(ActionEvent e) {chooser.setCurrentDirectory(new File("."));TextFileFilter filter= new TextFileFilter();chooser.setFileFilter(filter);chooser.showOpenDialog(null);String fileName=chooser.getSelectedFile().getPath();textArea.setText("");textArea.append("打开文件"+fileName+"\n");File file=chooser.getSelectedFile();FileReader reader=null;try {reader=new FileReader(file);char []buf=new char[10000];int len=reader.read(buf);textArea.append(new String(buf,0,len));reader.close();textArea.setVisible(true);System.out.println("successfully open");}catch (Exception ex) {ex.printStackTrace();// TODO: handle exception}}}private class FileSaveListener implements ActionListener{//存储文件事件监听器public void actionPerformed(ActionEvent e) {String filename=JOptionPane.showInputDialog("请输入存储文件名:");try {FileOutputStream out=new FileOutputStream(new File(filename));OutputStreamWriter writer=new OutputStreamWriter(out);writer.append(textArea.getText());writer.close();out.close();}catch(Exception ex) {ex.printStackTrace();}}}
}class TextFileFilter extends FileFilter{//文本文件过滤器public String getDescription() {return "文本文件";}public boolean accept(File f) {if(f.isDirectory())return true;String name=f.getName().toLowerCase();if(name.endsWith(".java")||name.endsWith(".txt"))return true;return false;}
}
public class FileEditor {public static void main(String []args) {new menu();}
}

8-2风扇

编写程序,显示3个风扇,用控制按钮开动和停止风扇。可以同时开动和停止3个风扇,也可以分别开动和停止每一个风扇。

没写出来,看别人的,Java风扇
实现得略有瑕疵,没有reverse而是reset,而且没有滑动条,转得太快,屏幕刷新跟不上

更多推荐

Java程序设计2023

本文发布于:2023-11-15 07:49:38,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1596201.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:程序设计   Java

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!