import javaawt;
import javaawteventActionEvent;
import javaawteventActionListener;
import javaawteventKeyAdapter;
import javaawteventKeyEvent;
import javaio;
import javaxswing;
public class WordProcessSystem extends JFrame{
private JFileChooser chooser;
private JTextArea textArea;
private File file;
private String string = "";
private Font font;
public WordProcessSystem(){
super();
setTitle("日记记事本");
setBounds(100, 100,600, 500);
getContentPane()setLayout(new BorderLayout());
getContentPane()setVisible(true);
setDefaultCloseOperation(JFrameEXIT_ON_CLOSE);
JMenuBar menuBar = new JMenuBar();
JMenu menu = new JMenu("文件");
JMenuItem menuItem = new JMenuItem("新建");
menuItemaddActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
String str1 = JOptionPaneshowInputDialog("请输入新建文件名:");
try {
file = new File("E:\\", str1 + "txt");
if(fileexists()){
JOptionPaneshowMessageDialog(null, "文件名已存在!");
}
else{
filecreateNewFile();
}
} catch (Exception e1){
}
}
});
chooser = new JFileChooser();
choosersetCurrentDirectory(new File(""));
JMenuItem menuItem1 = new JMenuItem("打开");
menuItem1addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
int result = choosershowOpenDialog(null);
if(result == JFileChooserAPPROVE_OPTION){
String str = choosergetSelectedFile()toString();
try {
file = new File(str);
readFromFile(file);
textAreasetText(string);
} catch (Exception e1) {
}
}
}
});
JMenuItem menuItem2 = new JMenuItem("退出");
menuItem2addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
Systemexit(0);
}
});
JMenuItem menuItem3 = new JMenuItem("保存");
menuItem3addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
String string = textAreagetText();
try {
writeToFile(file, string);
} catch (Exception e1) {
}
}
});
menuItem3addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e){
if(egetKeyChar() == KeyEventVK_C){
String string = textAreagetText();
try {
writeToFile(file, string);
} catch (Exception e1) {
}
}
}
});
JMenuItem menuItem4 = new JMenuItem("另存为");
menuItem4addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
String s1 = JOptionPaneshowInputDialog("请输入保存文件路径和文件名:");
file = new File(s1);
Systemoutprintln(filegetPath());
try {
writeToFile(file, string);
Systemoutprintln("aaaa");
} catch (Exception e1) {
}
}
});
menuadd(menuItem);
menuadd(menuItem1);
menuadd(menuItem2);
menuadd(menuItem3);
menuadd(menuItem4);
JMenu menu2 = new JMenu("格式");
final JMenu menu3 = new JMenu("字体");
String []fontString = {"宋体","楷体","隶书"};
final JMenuItem []menu3_1 = new JMenuItem[fontStringlength];
for(int i = 0;i < fontStringlength;i++){
String changeString = "";
menu3_1[i] = new JMenuItem(fontString[i]);
menu3_1[i]setActionCommand(changeString + i);
menu3_1[i]addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
switch (egetActionCommand()charAt(0)) {
case '0':
font = new Font("宋体",FontPLAIN,20);
textAreasetFont(font);
break;
case '1':
font = new Font("楷体",FontPLAIN,18);
textAreasetFont(font);
break;
case '2':
font = new Font("隶书",FontBOLD,18);
textAreasetFont(font);
break;
default:
break;
}
}});
menu3add(menu3_1[i]);
}
JMenu menu4 = new JMenu("字号");
String []fontBig = {"10","15","20","25","30","35","40"};
final JMenuItem []menu4_1 = new JMenuItem[fontBiglength];
for(int i = 0;i < fontBiglength;i++){
String changeString = "";
menu4_1[i] = new JMenuItem(fontBig[i]);
menu4_1[i]setActionCommand(changeString + i);
menu4_1[i]addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
switch (egetActionCommand()charAt(0)) {
case '0':
font = new Font(menu3getText(),FontPLAIN,10);
textAreasetFont(font);
break;
case '1':
font = new Font(menu3getText(),FontPLAIN,15);
textAreasetFont(font);
break;
case '2':
font = new Font(menu3getText(),FontPLAIN,20);
textAreasetFont(font);
break;
case '3':
font = new Font(menu3getText(),FontPLAIN,25);
textAreasetFont(font);
break;
case '4':
font = new Font(menu3getText(),FontPLAIN,30);
textAreasetFont(font);
break;
case '5':
font = new Font(menu3getText(),FontPLAIN,35);
textAreasetFont(font);
break;
case '6':
font = new Font(menu3getText(),FontPLAIN,40);
textAreasetFont(font);
break;
default:
break;
}
}});
menu4add(menu4_1[i]);
}
menu2add(menu3);
menu2add(menu4);
menuBaradd(menu);
menuBaradd(menu2);
setJMenuBar(menuBar);
textArea = new JTextArea();
textAreasetVisible(true);
textAreasetLineWrap(true);
// textAreasetFont(new Font("宋体",FontBOLD,20));
add(textArea);
JScrollPane scrollPane = new JScrollPane(textArea);
scrollPanesetSize(600, 410);
scrollPanesetHorizontalScrollBarPolicy(JScrollPaneHORIZONTAL_SCROLLBAR_AS_NEEDED);
scrollPanesetVerticalScrollBarPolicy(JScrollPaneVERTICAL_SCROLLBAR_AS_NEEDED);
add(scrollPane);
}
public void readFromFile(File f) throws IOException{
FileReader fReader = new FileReader(file);
BufferedReader bReader = new BufferedReader(fReader);
char []data = new char[10000];
int length = 0;
while((length = fReaderread(data)) > 0){
string += new String(data,0,length);
}
// string = new String("");
// while(true){
// String s1 = bReaderreadLine();
// if(s1 == null){
// break;
// }
// string += (s1 + "\n");
bReaderclose();
fReaderclose();
}
public void writeToFile(File file,String string) throws IOException{
if(!fileexists()){
filecreateNewFile();
}
FileWriter fWriter = new FileWriter(file);
fWriterwrite(string);
fWriterclose();
}
public static void main(String[] args) {
WordProcessSystem wordProcessSystem = new WordProcessSystem();
wordProcessSystemsetVisible(true);
}
}
不好意思,这个没有实现查找和替换功能,你自己可以加上去。
Java已经存在很长时间了,当你使用不同的软件模式,你要清楚自己的代码如何影响生产,任何问题都要考虑的全面一些。
如果你给其他程序员提供API,请严格按照约定编写。
请读一本关于在有限内存设备上编程的书。
学习如何在小型设备上 *** 纵像素。
一旦你学会了这些,那你就可以在任何设备上工作了,因为这些设备相对来说,运行更快、内存更大。
新的开发者需要理解面向对象编程的好处语法,并确保对象容易理解。
代码库能够帮助开发者上手。
像Lynda和Dzone这样的网站提供了很多Java相关的资源,所以Java比任何其他语言都更容易入门。
因为Java,Java很酷。
聪明的开发者反复重申要少使用Java。
Java提供了Java一样的功能,能够跨浏览器支持,所以用Java你能做任何事情,不用考虑浏览器兼容性。
记住要使用工具。
它越来越好,但仍落后于其他平台。
我对于容器化技术有很高的期望。
基于云的开发工具正在不断完善。
他们将预置到工作中使你的工作更简单。
确保工具好用。
开发者应该记住Java的静态类型检查是自动化测试的另一种形式。
构建代码的时候应该更多的用静态类型检查而不是其他形式的自动化测试。
具体来说,我们发现如果一个开发人员使用Java语言的时间比其他语言多的话,他们更倾向于花费时间构造代码来让编译器检查错误条件。
通常这种努力比花在自动化测试上更好,自动化测试可能会产生更多的错误条件。
Java不一定是所有应用程序的最佳解决方案。
例如,JVM比同等的C程序更消耗内存,科学计算和数值分析通常用Python来写,C#更适合异步编程。
然后试着学习理解某一领域的软件,如果你掌握的知识太广,那么你很难再取得进一步提升。
你需要理解基础架构,不要因为需要花费太多时间学习就放弃某一语言。
你对软件幕后工作原理了解的越多,你就会变得越有价值。
知道事务如何运作的原理是基础,请保持不断学习。
掌握完整的Java知识是一种良好的基本技能,这是开发者的关键投资。
很多企业都在寻找最聪明的工程师,他们很少关注特定的语言。
往往要求们开发人员需要有很强的编码能力,熟悉计算机基础知识,了解真实世界的应用程序,知道如何编写Java应用服务器程序,理解如何调用API,理解计算机科学的核心和算法。
企业需要基础扎实的开发人员。
IT培训>
随着Java程序设计语言的流行,很多人通过参加Java培训或自学,掌握熟练的Java技术,希望在互联网时代获得分红。
对于零基础的同学来说,开始入门是非常困难的,并且不知道怎么学习才是最合适的。
下面长沙长沙IT培训为大家介绍零基础学习Java的方法。
一、Java基础一般情况下,Java编程的基本语法,它分为10个知识点。
我们将学习变量,基本数据类型,十六进制,转义字符,运算符,分支语句以及基本的语法和逻辑能力。
其中长沙北大青鸟认为还有数组、面向对象和异常处理。
二、Javaweb的学习Web前端开发基础和框架,Web后端中的Servlet和JSP应用程序,与后端开发相关的主题,MVC和结构,以及项目开发过程和CASE工具的使用。
三、Java框架框架的使用是一种存储数据的方法,框架比使用数组进行存储更加方便,所以现在框架在项目开发中的使用非常广泛。
在学习框架知识的同时,长沙计算机学习建议深入研究相关的数据结构和算法的知识,这对提升能力有很大的帮助。
四、Java云计算高级的Java课程,如亿级并发架构的演进,Linux基础,tomcat环境的构建以及大数据云计算的发展,是Java技术的高端知识。
长沙java培训发现其中穿插项目实战演练,企业实战项目为学员应用学习,进行知识体系“二次学习”。
以上就是关于Java程序设计全部的内容,包括:Java程序设计、北大青鸟设计培训:Java程序员需要掌握的Java基础知识、北大青鸟设计培训:零基础学习Java的方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)