eclipse的图形界面怎么下载

eclipse的图形界面怎么下载,第1张

eclipse的图形界面下载方法

1、点击DownloadPackages进入Eclipse下载界面。

2、找到EclipseIDEforJavaEEDevelopers,根据自己的系统选择Windows32-bit还是64-bit的下载。

3、接下来就进入Eclipse正式下载界面,点击Download按钮进行Eclipse安装包下载安装即可。

import java.awt.*

import java.awt.event.*

import java.io.*

import javax.swing.*

/**

 * 这段程序可以对文本类型的文件通过对单个char字符类型的值的增加和减少进行加密和解密。

 * 是用awt和swing GUI图形用户界面完成的小程序。

 * AWT(Abstract Window Toolkit),中文译为抽象窗口工具包,是Java提供的用来建立和设置Java的图形用户界面的基本工具。

 * AWT由Java中的java.awt包提供,里面包含了许多可用来建立与平台无关的图形用户界面(GUI)的类,这些类又被称为组件(components)。

 * 

 * Swing(AWT的子类)是一个用于开发Java应用程序用户界面的开发工具包。

 * 以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。

 * Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。

 * 

 * java图形界面在你毕业以后基本上是用不到的,因为做客户端程序有c++,c,c#等这些都比swing高效,

 * 建议你从swing转android,做手机软件,android的后台端跟swing很类似,你可以认为android是java的swing

 * 在手机端的重生。如果你想从事java开发这个行业,android>javaee,记住我说的话,以后你会明白。

 * @author Administrator

 * 

 */

public class code {

Frame f//定义一个awt的frame(框架),更多我们用的swing的JFrame

JPanel p1, p2//定义一个面板,你之前用的awt的小组件,我都改成swing了,awt的在某些电脑上可能存在中文乱码的问题,所以给你调整了。

JLabel l1, l2//这个是标签,就是一个小东东,上面写着一些字,比如:请输入名字。

JButton key, unkey, scan//定义按钮,按钮是啥知道不,点一下,原子d就爆炸了,不要乱点噢。

JTextField t1, t2//这个是一个只有一行的文本框,常见的是输入名字和密码

JTextArea ta//定义一个多行的文本框,常见的是输入回复,或者水贴,比如水帝真经、卖房兽这些多行的文本。

String path//这个不说了,String字符串,定义路径,用来定位文件。

String FileName//文件名字,不知道文件名字怎么能找到文件,你是福尔摩斯吗,所以必须要有这个东东,文件名字,后面会用到。

public code() {

// 设置系统风格 这个是我给你单独加上的,设置跟随系统的风格,你电脑是apple就是apple的风格,windows就是windows的风格,而非原java风格。

try {

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName())

} catch (Exception e) {

e.printStackTrace()//如果风格定义失败了,会抛出异常。因为setLookAndFeel这个方法直接throws new Exception,所以我们必须写一个try catch以防万一。

}

f = new Frame("文件加密")//这个就是实例化对象喽,一个对象实例化,就是给他分配一块内存空间,这样他才能被使用

f.setLayout(new BorderLayout())//这个是设置布局管理器,是定义布局的,BorderLayout(): 构造一个组件之间没有间距(默认间距为0像素)的新边框布局。

p1 = new JPanel()//对象实例化,这个面板的定义在上面声明这个变量的时候都已经加了注释了,我就不赘述了。

p2 = new JPanel()//其实对象实例化就好像你大学毕业了,户口要落户,你要买房子,你要买车子,你要娶媳妇,不然你咋有脸生活?

l1 = new JLabel("选择路径")

scan = new JButton("浏览")

l2 = new JLabel("密钥")

key = new JButton("加密")

unkey = new JButton("解密")

t1 = new JTextField(30)//定义字符串的长度是30的文本框

t2 = new JTextField(20)

ta = new JTextArea()

p1.add(l1)//把li这个标签加到p1这个面板上

p1.add(t1)//把t1这个文本框加到p1这个面板上

p1.add(scan)//把scan这个按钮加到p1这个面板上

f.add(p1, BorderLayout.NORTH)//把p1这个面板放到frame框架的上方,north 北面,按照上北下南的国际约定,就是整个框架的上方。

p2.add(l2)//跟p1面板的 *** 作一样,就不赘述了。说白了,就是要把这些元素一点一点的放上去,就好像你摞积木,要一块一块的来

p2.add(t2)//先放啥,后发啥,都要有个顺序,当然swing放的顺序是可以打乱的,但是那样显示出来的效果你可能就不满意了。

p2.add(key)

p2.add(unkey)

f.add(p2, BorderLayout.SOUTH)//frame框架下面

f.add(ta, BorderLayout.CENTER)//frame框架中间

f.pack()//pack是调整窗口大小,尽量满足每一个组件的最优大小的情况下让窗口最小化

f.setVisible(true)//设置是否可见,默认是不可见的,你要是不见这个setVisible,那就看不到你的作品

f.addWindowListener(new win())//增加窗口监听器 win是实现了窗口监听器的内部类

scan.addActionListener(new scanner())//浏览按钮增加监听动作,点击浏览按钮之后,scanner中的actionperformed的方法会被调用,打开文件浏览窗口

key.addActionListener(new keyer())//加密按钮增加监听动作,点击加密按钮之后,keyer中的actionperformed的方法会被调用,进行加密 *** 作

unkey.addActionListener(new unkeyer())//解密按钮增加监听动作,点击解密按钮之后,unkeyer中的actionperformed的方法会被调用,进行解密 *** 作

}

public static void main(String[] args) {//main方法是你可以直接执行的方法,右键-->run as-->java application就会执行main这个方法,而且mian方法的声明也是固定的,不能改,改了就不会执行这个入口方法了。

code code1 = new code()//声明code对象,会直接调用code类的构造函数public code(),然后就有你看到的界面了。

}

/**

 *  WindowAdapter类说明如下:

1.接收窗口事件的抽象适配器类。此类中的方法为空。此类存在的目的是方便创建侦听器对象。

2.扩展此类可创建 WindowEvent 侦听器并为所需事件重写该方法。(如果要实现 WindowListener 接口,则必须定义该接口内的所有方法。此抽象类将所有方法都定义为 null,所以只需针对关心的事件定义方法。)

3.使用扩展的类可以创建侦听器对象,然后使用窗口的 addWindowListener 方法向该窗口注册侦听器。当通过打开、关闭、激活或停用、图标化或取消图标化而改变了窗口状态时,将调用该侦听器对象中的相关方法,并将 WindowEvent 传递给该方法。 

4.方法摘要:

方法摘要

void windowActivated(WindowEvent e) 

激活窗口时调用。

void windowClosed(WindowEvent e) 

当窗口已被关闭时调用。

void windowClosing(WindowEvent e) 

窗口正处在关闭过程中时调用。

void windowDeactivated(WindowEvent e) 

停用窗口时调用。

void windowDeiconified(WindowEvent e) 

取消图标化窗口时调用。

void windowGainedFocus(WindowEvent e) 

该 Window 被设置为聚焦 Window 时调用,聚焦 Window 意味着该 Window 或其某个子组件将接收键盘事件。

void windowIconified(WindowEvent e) 

图标化窗口时调用。

void windowLostFocus(WindowEvent e) 

该 Window 不再为聚焦 Window 时调用,不再为聚焦 Window 意味着键盘事件不再传递到该 Window 或其任意子组件。

void windowOpened(WindowEvent e) 

已打开窗口时调用。

void windowStateChanged(WindowEvent e) 

窗口状态改变时调用。

 * @author Administrator

 *

 */

class win extends WindowAdapter {//window适配器

public void windowClosing(WindowEvent e) {//重载windowClosing方法

System.exit(0)//安全退出,这样写会使整个GUI完全退出,不会存在未关掉的情况。

}

}

/**

 * ActionListener用于接收 *** 作事件的侦听器接口。对处理 *** 作事件感兴趣的类可以实现此接口,而使用该类创建的对象可使用组件的 addActionListener 方法向该组件注册。

 * 在发生 *** 作事件时,调用该对象的 actionPerformed 方法。

 */

class scanner implements ActionListener {//浏览按钮的监听器

public void actionPerformed(ActionEvent e) {

JFileChooser file = new JFileChooser(".")//创建一个文本选择器

int result = file.showOpenDialog(null)//打开文本选择器

if (result == JFileChooser.APPROVE_OPTION) {//如果选择了某个文件

FileName = file.getSelectedFile().getName()//获取文件名字

path = file.getSelectedFile().getAbsolutePath()//获取文件绝对路径

t1.setText(path)//t1这个文本框设置他的内容是文件的绝对路径

FileReader reader = null

try {

reader = new FileReader(path)//声明一个文件读取器,并指向你选中的文件

int tempchar

ta.setText("")//ta大文本框内容先清空

while ((tempchar = reader.read()) != -1) {//reader.read()这个方法可以一个一个的读取字符,不断循环,直到读取完毕。

char n = (char) tempchar//获取到char类型的字符 temppchar是个int值,可以直接强转成char。

char[] m = { n }//定义一个char数组

String M = new String(m, 0, 1)//把char数组转化成字符串

ta.append(M)//大文本框后面添加这个字符串,这样只能针对英文字母,不能处理中文噢,你这个程序只能处理abcd这种字母类型的东东。中文是多字节的所以处理不了。

}

reader.close()//关闭读取器,如果你不关闭的话,会留在内存里面,造成垃圾。

} catch (Exception e1) {

ta.append("文件读取出错!")//读取失败大文本框显示失败信息

}

}

}

}

class keyer implements ActionListener {//加密的监听器

public void actionPerformed(ActionEvent e) {

FileReader read1 = null

FileWriter write1 = null

int n

try {

String a = t1.getText()

String b = t2.getText()

File Exist = new File("加密" + FileName)//获取到要加密的文件

if (a.equals(""))

throw new MyException1("请选择路径!")

if (Exist.exists())

throw new MyException1("已存在加密文件,请先删除,再进行加密!")

if (b.equals(""))

throw new MyException1("请输入密钥!")

else

n = Integer.parseInt(t2.getText())

try {

read1 = new FileReader(path)

write1 = new FileWriter("加密" + FileName, true)

int i

while ((i = read1.read()) != -1) {

write1.write((char) (i + n))//这里是把字符的值加上你输入要加密的密钥,比如5,然后写入到你创建的文件中

}

write1.close()

JOptionPane.showMessageDialog(null, "加密成功", "祝贺您",

JOptionPane.PLAIN_MESSAGE)//这个是显示提示框

ta.setText("")

t2.setText("")

} catch (IOException e1) {

}

} catch (MyException1 e2) {

}

}

}

class unkeyer implements ActionListener {//解密我就不说了

public void actionPerformed(ActionEvent e) {

FileReader read1 = null

FileWriter write1 = null

int n

try {

String a = t1.getText()

String b = t2.getText()

File Exist = new File("解密" + FileName)

if (a.equals(""))

throw new MyException1("请选择路径!")

if (Exist.exists())

throw new MyException1("已存在解密密文件,请先删除,再进行解密!")

if (b.equals(""))

throw new MyException1("请输入密钥!")

else

n = Integer.parseInt(t2.getText())

try {

ta.setText("")

t2.setText("")

read1 = new FileReader(path)

write1 = new FileWriter("解密" + FileName, true)

int i

while ((i = read1.read()) != -1) {

write1.write((char) (i - n))

char[] m = { (char) (i - n) }

String M = new String(m, 0, 1)

ta.append(M)

}

write1.close()

JOptionPane.showMessageDialog(null, "解密成功", "祝贺您",

JOptionPane.PLAIN_MESSAGE)

} catch (IOException e1) {

}

} catch (MyException1 e2) {

}

}

}

class MyException1 extends Exception {//这个是自定义的异常,如果有异常,d出框展示异常信息。

public MyException1(String message) {

JOptionPane.showMessageDialog(null, message)

}

}

}

不要谢我,我叫雷哄


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11721550.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存