java可以开发.exe程序吗?比如 windows记事本程序

如题所述

Windows桌面开发方面不是Java的主攻,Java程序要运行在安装了jdk环境的机器上,要是一定要转成exe文件,也不是不可以,但有点麻烦,而且文件比较大,因为会夹带着一个虚拟机 里面,不过Java完全可以写一个像记事本那样的小程序,我现在就帮你写一个让你看看用Java写的记事本是怎样的:

/**

 * 简单记事本开发
 */


import java.awt.*;

import javax.annotation.processing.Filer;
import javax.swing.*;

import java.awt.Event;
import java.awt.event.*;
import java.io.*;

public class NotePad extends JFrame implements ActionListener {
JTextArea jta=null;
JScrollPane jsp=null;
JMenuBar jmb=null;
JMenu jm1,jm2,jm3,jm4,jm5;
JMenuItem jmi1,jmi2,jmi3;
String str="";
String path="";



public static void main(String[] args) {
NotePad np=new NotePad();
}

public NotePad(){
String str="";
jta =new JTextArea();
jta.setFont(new Font("宋体", Font.BOLD,28));
jsp=new JScrollPane(jta);
jmb=new JMenuBar();
jm1=new JMenu("文件(o)");
jm2=new JMenu("编辑(E)");
jm3=new JMenu("格式(O)");
jm4=new JMenu("查看(V)");
jm5=new JMenu("帮助(H)");

jmi1=new JMenuItem("打开");
//jmi1.setMnemonic('o');
//添加快捷键
jmi1.setAccelerator(KeyStroke.getKeyStroke('O',java.awt.Event.CTRL_MASK));
jmi2=new JMenuItem("保存");
jmi3=new JMenuItem("退出");


jmi1.addActionListener(this);
jmi2.addActionListener(this);
jmi3.addActionListener(this);


jmb.add(jm1);
jmb.add(jm2);
jmb.add(jm3);
jmb.add(jm4);
jmb.add(jm5);

jm1.add(jmi1);
jm1.add(jmi2);
jm1.add(jmi3);

this.setJMenuBar(jmb);
this.add(jsp);



this.getContentPane().setVisible(true);
this.setTitle("新建文本文档");
this.setIconImage((new ImageIcon("D://photos//SNC02103.JPG")).getImage());
this.setBounds(150,100,800,600);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);

}


public void actionPerformed(ActionEvent e) {
if(e.getSource()==jmi1){
JFileChooser jfc=new JFileChooser("C:\\Users\\jie\\Desktop");
jfc.setDialogTitle("请选择您要打开的文件...");
jfc.showOpenDialog(null);
str=jfc.getSelectedFile().getName();
this.setTitle(str);

jfc.setVisible(true);
String filename=null;

FileReader fr=null;
BufferedReader br=null;

try {
filename=jfc.getSelectedFile().getAbsolutePath();
fr=new FileReader(filename);
br=new BufferedReader(fr);
String s="";
String all="";
while((s=br.readLine())!=null){
all+=s+"\r\n";
}
jta.setText(all);

} catch (Exception e2) {
System.out.println("a");
e2.printStackTrace();
}finally{
try{
fr.close();
br.close();
}catch (Exception e3){
e3.printStackTrace();
}

}
}

else if(e.getSource()==jmi3){
System.exit(0);

}

}
public void temp(){
JFileChooser jfc2=new JFileChooser("C:\\Users\\jie\\Desktop");
jfc2.setDialogTitle("另存为...");
jfc2.showSaveDialog(null);
jfc2.setVisible(true);
path=jfc2.getSelectedFile().getAbsolutePath();


}



温馨提示:内容为网友见解,仅供参考
第1个回答  2011-08-04
可以的 只是用JAVA来开发应用程序自然不方便 那不是它的强项
用swing开发桌面应用程序还是可以 具体可以自己试试 不过JAVA开发应用程序
优势远没有.NET 跟DELPHI大.本回答被提问者采纳
第2个回答  2011-08-04
可以,不过需要经过特殊处理,其实只是将虚拟机和java程序打成个包一起执行.
第3个回答  2011-08-04
有更好的语言开发exe桌面应用程序
相似回答