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()
}
下面是具体步骤:
需要的工具,用了exe4j这个软件
exe4j是一个帮助你集成Java应用程序到Windows操作环境的java可执行文件生成工具
无论这些应用是用于服务器,还是图形用户界面(GUI)或命令行的应用程序
exe4j帮助你以一种安全的方式启动你的 java应用程序来显示本地启动画面
检测及发布合适的JRE和JDK以及进行启动时所发生的错误处理等
1、先把自己的程序发布成jar文件
这是eclipse自带的功能,右键工程包-->Export
然后选择Java-->JAR file,点击next
2、选择输出路径,next
3、取消勾选Export class files with compile errors
因为一般warnings可以忽视,而errors不行,点击next
4、选择main class,即带有main方法的类,finish即可
5、将jar文件转为exe文件
之前生成的jar文件,以下是创建的目录结构6、这里如果第一次用不需要管,点击next
如果你使用完保存过输出配置,可以选open configuration
7、进入Project type,选择“JRA IN EXE” mode,点击next
出现Application info
上面的框填写程序名字,下面的框选择输出路径
8、Configure executable
GUI application-->勾选allow,下面框填写文件名字,icon file可以自己选择图标文件
如果限制只能同时打开一个程序,勾选allow only a single,其他基本默认
如果你的exe4j和jdk位数不一致,记得把advanced options里的32bit or 64bit勾选
否则生成不报错exe也无法正确运行
9、Java invocation,点Class path框右边的绿色加号
把自己生成的jar文件路径写进Archive(用到的外部jar包也要都添加进去)
然后下面main class from框选择含有main方法的类
10、Minimum和Maximum填写允许的最小和最大jdk版本号
Configure search sequence选项,框里应该只保留Search Windows registry
没有的话右边绿色箭头添加,其他的删除后,绿色箭头添加Directory
11、找到我们开始的时候拷到文件夹里的jre,点击finish
12、然后桌面出现生成的exe文件