java代码大全带注释,java开发常用注解

java代码注释所有代码

好像和另外一个一样,贴一下:

成都创新互联是工信部颁发资质IDC服务器商,为用户提供优质的移动服务器托管服务

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class GoodLucky extends JFrame implements ActionListener{

JTextField tf = new JTextField(); //实例化一个文本域

//设置两个按钮

JButton b1 = new JButton("开始");

JButton b2 = new JButton("停止");

boolean isGo = false;

//构造函数

public GoodLucky(){

b1.setActionCommand("start");//在开始按钮上设置一个动作监听 start

JPanel p = new JPanel(); //实例化一个可视化容器

//将两个按钮添加到可视化容器上面,用add方法

p.add(b1);

p.add(b2);

//在两个按钮上增加监听的属性,自动调用下面的监听处理方法actionPerformed(ActionEvent e),如果要代码有更好的可读性,可用内部类实现动作

//监听处理。

b1.addActionListener(this);

b2.addActionListener(this);

//将停止按钮设置为不可编辑(即不可按的状态)

b2.setEnabled(false);

this.getContentPane().add(tf,"North"); //将上面的文本域放在面板的北方,也就是上面(上北下南左西右东)

this.getContentPane().add(p,"South"); //将可视化容器pannel放在南边,也就是下面

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置用户在此窗体上发起 "close" 时默认执行的操作,参数EXIT_ON_CLOSE是使用 System exit 方法退出应用程序。仅在应用程序中使用

this.setSize(300,200); //设置面板大小,宽和高

this.setLocation(300,300); //设置面板刚开始的出现的位置

Cursor cu = new Cursor(Cursor.HAND_CURSOR); //用指定名称创建一个新的定制光标对象,参数表示手状光标类型

this.setCursor(cu); //为指定的光标设置光标图像,即设置光标图像为上面所创建的手状光标类型

this.setVisible(true); //将面板可视化设置为true,即可视,如果为false,即程序运行时面板会隐藏

tf.setText("welcome you! "); //设置面板的标题为欢迎

this.go(); //调用go方法

}

public void go(){

while(true){ //这里是死循环,也就是说用户不点击停止按钮的话他一直循环出现随机数,直到用户点击停止按钮循环才能推出,具体流程在actionPerformed方法中控制。

if(isGo == true){ //上面所定义的isGo的初始值为false,所以程序第一次到此会跳过

String s = ""; //设置空字符串

for(int j = 1; j = 7;j++){ //产生7个随机数

int i = (int)(Math.random() * 36) + 1;//每个随机数产生方式,这里定义灵活,可以自由定义随机数产生的方式

if(i 10){

s = s + " 0" + i; //如果产生的随机数小于10的话做处理:这里就牵扯到一个重要的概念,简单叙述一下:

/*

当一个字符串与一个整型数项相加的意思是连接,上面的s = s + " 0" + i的意思是字符串s链接0再连接整型i值,而不会导致0和整型的i相加,

产生的效果为s0i,由于s为空字符串(上面定义过的),所以当i小于零时,在个位数前面加上0,比如产生的随机数i为7的话,显示效果为 07.

*/

}else{

s = s + " " + i; //如果产生的随机数比10打的话,那么加上空格显示,即数字和数字之间有个空格

}

//以上循环循环七次,以保证能出现7个随机数

}

tf.setText(s); //将产生的随机数全部显示在文本域上,用文本域对象tf调用它的设置文本的方法setText(String)实现。

}

//以下为线程延迟

try{

Thread.sleep(10); //线程类同步方法sleep,睡眠方法,括号里的单位为ms。

}catch(java.lang.InterruptedException e){

e.printStackTrace(); //异常捕获,不用多说。

}

}

}

//以下是上面设置的事件监听的具体处理办法,即监听时间处理方法,自动调用

public void actionPerformed(ActionEvent e){ //传入一个动作事件的参数e

String s = e.getActionCommand(); //设置字符串s来存储获得动作监听,上面的start

/*

以下这个条件语句块的作用为:用户点击开始后(捕获start,用方法getActionCommand()),将命令触发设置为true,从而执行上面的go方法中的循环体(因为循环体中要求isGo参数为true,而初始为false)。

执行循环快产生随机数,并将开始按钮不可编辑化,而用户只可以使用停止按钮去停止。如果用户按下停止时,也就是没有传入参数“start”的时候,

执行else语句块中的语句,isGo设置为false,将不执行上面go中的循环语句块,从而停止产生随机数,并显示,并且把开始按钮设置为可用,而把

停止按钮设置为不可用,等待用户按下开始再去开始新一轮循环产生随机数。

*/

if(s.equals("start")){ //如果捕获到start,也就是用户触发了动作监听器,那么下面处理

isGo = true; //设置isGo为true

b1.setEnabled(false); //将开始按钮设置为不可用

b2.setEnabled(true); //将停止按钮设置为可用

}else{

isGo = false; //将isGo设置为false,isGo为循环标志位

b2.setEnabled(false); //设置停止按钮为不可用(注意看是b2,b2是停止按钮)

b1.setEnabled(true); //设置开始按钮为可用

}

}

public static void main(String[] args){

new GoodLucky(); //产生类的实例,执行方法

}

}

求JAVA源代码,要有注释,所有财富都在下面了

每天有时间的话 , 会回答一两个图形界面的问题, 但是分数最好还是高点才有兴趣.

具体代码和详细的注释如下

员工类

public class Emp {

private int num;//工号

private String name;//姓名

private double basicPay;//基本工资

private double meritPay;//绩效工资

public Emp(){//无参数构造器

}

public Emp(int num, String name, double basicPay, double meritPay) {//有参数构造器

super();

this.num = num;

this.name = name;

this.basicPay = basicPay;

this.meritPay = meritPay;

}

//重写Object的toString 方法

public String toString() {

return "工号:"+num+"\t姓名:"+name+"\t基本工资:"+basicPay+"\t绩效工资"+meritPay;

}

//下面是属性的set和get

public int getNum() {

return num;

}

public void setNum(int num) {

this.num = num;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public double getBasicPay() {

return basicPay;

}

public void setBasicPay(double basicPay) {

this.basicPay = basicPay;

}

public double getMeritPay() {

return meritPay;

}

public void setMeritPay(double meritPay) {

this.meritPay = meritPay;

}

}

输入界面类

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import javax.swing.*;

public class EmpFrome extends JFrame implements ActionListener {

JTextField jtfnum, jtfname, jtfbp, jtfmp;

JButton jbwtf;

public EmpFrome() {

JLabel jl1 = new JLabel("工号");

jtfnum = new JTextField(8);

add(jl1);

add(jtfnum);

JLabel jl2 = new JLabel("姓名");

jtfname = new JTextField(8);

add(jl2);

add(jtfname);

JLabel jl3 = new JLabel("基本工资");

jtfbp = new JTextField(8);

add(jl3);

add(jtfbp);

JLabel jl4 = new JLabel("绩效工资");

jtfmp = new JTextField(8);

add(jl4);

add(jtfmp);

JLabel jl5 = new JLabel();

jbwtf = new JButton("写入文件");

jbwtf.addActionListener(this);

add(jl5);

add(jbwtf);

setLayout(new GridLayout(5, 2));

setTitle("员工信息录入");

setSize(290, 230);

setLocationRelativeTo(null);

setDefaultCloseOperation(EXIT_ON_CLOSE);

setVisible(true);

}

public void actionPerformed(ActionEvent e) {

String cmd = e.getActionCommand();

if (cmd.equals("写入文件")) {

try{

//获取数据

int num = Integer.parseInt(jtfnum.getText().trim());

String name = jtfname.getText().trim();

double bp = Double.parseDouble(jtfbp.getText().trim());

double mp = Double.parseDouble(jtfmp.getText().trim());

Emp emp = new Emp(num, name, bp, mp);

writeToFile(emp);

JOptionPane.showMessageDialog(this, "录入成功");//提示成功

//清空文本框

jtfnum.setText("");

jtfname.setText("");

jtfbp.setText("");

jtfmp.setText("");

}catch(Exception ex){

//当输入不符合规范时 ,  提示错误

JOptionPane.showMessageDialog(this, "请输入正确的数据:\n工号整型,工资浮点型","录入错误",JOptionPane.ERROR_MESSAGE);

}

}

}

//定义的文件路径 

final static String FILE_PATH = "employee.dat";

public void writeToFile(Emp emp)  {//IO操作,追加写入

BufferedWriter bw = null;

try {

bw = new BufferedWriter(new FileWriter(new File(FILE_PATH), true));//为true表示追加

bw.write(emp.toString());//写入员工信息

bw.newLine();//换行

} catch (IOException e) {

e.printStackTrace();

}finally{

if(bw!=null){

try {

bw.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

}

测试类

public class EmpTest {

public static void main(String[] args) {

new EmpFrome();

}

}

测试效果

java代码注释(所有代码)注释比较重点的也行

多注了些控制流程,希望我的注释能够对你有帮助:

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class GoodLucky extends JFrame implements ActionListener{

JTextField tf = new JTextField(); //实例化一个文本域

//设置两个按钮

JButton b1 = new JButton("开始");

JButton b2 = new JButton("停止");

boolean isGo = false;

//构造函数

public GoodLucky(){

b1.setActionCommand("start");//在开始按钮上设置一个动作监听 start

JPanel p = new JPanel(); //实例化一个可视化容器

//将两个按钮添加到可视化容器上面,用add方法

p.add(b1);

p.add(b2);

//在两个按钮上增加监听的属性,自动调用下面的监听处理方法actionPerformed(ActionEvent e),如果要代码有更好的可读性,可用内部类实现动作

//监听处理。

b1.addActionListener(this);

b2.addActionListener(this);

//将停止按钮设置为不可编辑(即不可按的状态)

b2.setEnabled(false);

this.getContentPane().add(tf,"North"); //将上面的文本域放在面板的北方,也就是上面(上北下南左西右东)

this.getContentPane().add(p,"South"); //将可视化容器pannel放在南边,也就是下面

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置用户在此窗体上发起 "close" 时默认执行的操作,参数EXIT_ON_CLOSE是使用 System exit 方法退出应用程序。仅在应用程序中使用

this.setSize(300,200); //设置面板大小,宽和高

this.setLocation(300,300); //设置面板刚开始的出现的位置

Cursor cu = new Cursor(Cursor.HAND_CURSOR); //用指定名称创建一个新的定制光标对象,参数表示手状光标类型

this.setCursor(cu); //为指定的光标设置光标图像,即设置光标图像为上面所创建的手状光标类型

this.setVisible(true); //将面板可视化设置为true,即可视,如果为false,即程序运行时面板会隐藏

tf.setText("welcome you! "); //设置面板的标题为欢迎

this.go(); //调用go方法

}

public void go(){

while(true){ //这里是死循环,也就是说用户不点击停止按钮的话他一直循环出现随机数,直到用户点击停止按钮循环才能推出,具体流程在actionPerformed方法中控制。

if(isGo == true){ //上面所定义的isGo的初始值为false,所以程序第一次到此会跳过

String s = ""; //设置空字符串

for(int j = 1; j = 7;j++){ //产生7个随机数

int i = (int)(Math.random() * 36) + 1;//每个随机数产生方式,这里定义灵活,可以自由定义随机数产生的方式

if(i 10){

s = s + " 0" + i; //如果产生的随机数小于10的话做处理:这里就牵扯到一个重要的概念,简单叙述一下:

/*

当一个字符串与一个整型数项相加的意思是连接,上面的s = s + " 0" + i的意思是字符串s链接0再连接整型i值,而不会导致0和整型的i相加,

产生的效果为s0i,由于s为空字符串(上面定义过的),所以当i小于零时,在个位数前面加上0,比如产生的随机数i为7的话,显示效果为 07.

*/

}else{

s = s + " " + i; //如果产生的随机数比10打的话,那么加上空格显示,即数字和数字之间有个空格

}

//以上循环循环七次,以保证能出现7个随机数

}

tf.setText(s); //将产生的随机数全部显示在文本域上,用文本域对象tf调用它的设置文本的方法setText(String)实现。

}

//以下为线程延迟

try{

Thread.sleep(10); //线程类同步方法sleep,睡眠方法,括号里的单位为ms。

}catch(java.lang.InterruptedException e){

e.printStackTrace(); //异常捕获,不用多说。

}

}

}

//以下是上面设置的事件监听的具体处理办法,即监听时间处理方法,自动调用

public void actionPerformed(ActionEvent e){ //传入一个动作事件的参数e

String s = e.getActionCommand(); //设置字符串s来存储获得动作监听,上面的start

/*

以下这个条件语句块的作用为:用户点击开始后(捕获start,用方法getActionCommand()),将命令触发设置为true,从而执行上面的go方法中的循环体(因为循环体中要求isGo参数为true,而初始为false)。

执行循环快产生随机数,并将开始按钮不可编辑化,而用户只可以使用停止按钮去停止。如果用户按下停止时,也就是没有传入参数“start”的时候,

执行else语句块中的语句,isGo设置为false,将不执行上面go中的循环语句块,从而停止产生随机数,并显示,并且把开始按钮设置为可用,而把

停止按钮设置为不可用,等待用户按下开始再去开始新一轮循环产生随机数。

*/

if(s.equals("start")){ //如果捕获到start,也就是用户触发了动作监听器,那么下面处理

isGo = true; //设置isGo为true

b1.setEnabled(false); //将开始按钮设置为不可用

b2.setEnabled(true); //将停止按钮设置为可用

}else{

isGo = false; //将isGo设置为false,isGo为循环标志位

b2.setEnabled(false); //设置停止按钮为不可用(注意看是b2,b2是停止按钮)

b1.setEnabled(true); //设置开始按钮为可用

}

}

public static void main(String[] args){

new GoodLucky(); //产生类的实例,执行方法

}

}

圣诞平安夜了,祝朋友开心快乐!

求一个50行左右的JAVA代码,最好每行带注释,谢谢啦

/*这个相当详细了.

程序也不算太难.而且给老师看的时候效果比较好.因为有图形化界面,又实现一个比较实用的功能.老师会比较高兴的.

建立一个文件名为Change.java就可以编译了*/

/*

* 这个程序实现输入身高算出标准体重,输入体重,算出身高的功能

*/

import java.awt.*; //导入相关类包,这才样使用相应awt图形界面的类

import java.awt.event.*;//同上

public class Change extends Frame { //定义一个类Change, 父类是Frame(图形界面的)

Button b = new Button("互查"); //创建一个按钮的对象b,显示为"互查"

Label l1 = new Label("身高(cm)");//创建一个lable.显示身高

Label l2 = new Label("体重(kg)");//创建一个lable 显示体重

double heigth, weigth; //定义变量

double x, y; //定义变量

TextField tf1 = new TextField(null, 10);//添加Text框

TextField tf2 = new TextField(null, 10);//添加Text框

public Change() {//类的构造函数,完成初始化

super("互查表");//创建窗口,标题为互查表

setLayout(new FlowLayout(FlowLayout.LEFT));//设置布局

add(l1);//把lable 身高放到window里

add(tf1);//把Text 框 放到窗口上

add(l2); //把lable 体重放到window里

add(tf2);//Test放到窗口里

add(b);//把button放到窗口上

pack();//自动放到窗口里排列上边的组件

setVisible(true);//可以让用户看到窗口

addWindowListener(new WindowAdapter() {//如果按 X, 关闭窗口

public void windowClosing(WindowEvent e) {

System.exit(0);

}

});

b.addActionListener(new ButtonListener());//添加button监听函数

}

class ButtonListener implements ActionListener {//实现click button时功能操作

public void actionPerformed(ActionEvent e) {//当click调用

if (tf1.getText()!=null) {//检查tf1 test 是否为空

try {//取异常

x = Double.parseDouble(tf1.getText());//字符转为double型

weigth = (x - 100) * 0.9;//算重量

tf2.setText("" + weigth);//显示重量

} catch (NumberFormatException ex) {

tf1.setText("");//如果输入不是数字,设为空

}

}

if (tf1.getText().equals("")==true){//tf1是否为空

y = Double.parseDouble(tf2.getText());//把tf2里的文本转为double 型 的

heigth = y / 0.9 + 100; //算身高根据重量

tf1.setText("" + heigth);}//显示身高

}

}

public static void main(String[] args) {//主函数,程序入口

new Change(); //建立类Change的对象,并调用他的构造函数Change().显示窗口

}

}

java代码麻烦会的人标上注释,越详细越好,急!

package com.em.systemmanage.web.action;

//导入相关的包

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;

import org.apache.struts.action.Action;

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionForward;

import org.apache.struts.action.ActionMapping;

import org.apache.struts.upload.FormFile;

import com.em.bean.ExchFileForm;

import com.em.pub.XmlCreater;

import com.em.systemmanage.dao.ImportDataDao;

//action的名字为ImportDaoAction

public class ImportDaoDataAction extends Action{

//初始化一个私有的日志类,并获取这个类的信息

private Logger logger = Logger.getLogger(this.getClass());

//初始化读取XML的类

private XmlCreater xmlCreater = XmlCreater.getInstance();

//以下为aciton工作代码

public ActionForward execute(ActionMapping mapping,

ActionForm form,

HttpServletRequest request,

HttpServletResponse response)

throws IOException, ServletException {

//打印日志

logger.debug("ImportDaoDataAction execute start!");

//实例化ExchFileForm

ExchFileForm fileForm = (ExchFileForm) form;

//判断form是否为空,这里当访问页面时,struts的form类会自动加载页面上传来的信息

if(fileForm == null) {

//为空的情况下,打印nonononono!

logger.debug("nonononononono!");

}

//不为空,获取form传来的file信息

FormFile file = fileForm.getFile();

//打印出11111111

logger.debug("111111111111");

//try catch 捕获异常

try {

logger.debug("22222222222");

//实例化dao类

ImportDataDao dao = new ImportDataDao();

//使用DAO获取file的输入信息,赋值给String类型的变量str

String str = dao.importInvoiceManage(file.getInputStream());

//答应出str的值

logger.debug("str=" + str);

//若str的值等于1

if("1".equals(str)) {

//使用request保存结果result,内容为“导入成功”

request.setAttribute("result", "导入成功!");

} else {

//反之不等于1的话,保存结果result,内容为“失败”

request.setAttribute("result", "导入成本信息失败,请检查您上传的文件是否正确!");

}

//此处在次打印出str的值

logger.debug("str=" + str);

} catch (Exception e) {

//捕获异常

e.printStackTrace();

request.setAttribute("result", "导入成本信息失败,请检查您上传的文件是否正确!");

}

//打印信息"importDaoDataAction execute end!"

logger.debug("importDaoDataAction execute end!");

//返回值,这里返回result,对应的struts的config.xml里会有配置,映射到具体某个页面

return mapping.findForward("result");

}

}

java代码每一句的注释

import java.awt.*;   //awt的图形包

import javax.swing.*;//swing的图形包

import java.io.*; //IO流处理包

import java.awt.event.*; //事件处理包

public class CDInfor extends JFrame implements ActionListener//继承swing 的Frame 实现 事件接口 

{

BufferedReader in;  //输入输出管道流

FileWriter out;

JPanel jPanel1 = new JPanel(); //定义 6个Jpanel(容器)用来装组件 (就是你按钮什么的)

JPanel jPanel2 = new JPanel(new GridLayout(4,1)); //其中这个是  用网格的布局管理器

JPanel jPanel3 = new JPanel();

JPanel jPanel5 = new JPanel();

JPanel jPanel4 = new JPanel();

JPanel jPanel6 = new JPanel();

JScrollPane jScrollPane1 = new JScrollPane(); //定义滚动条

JTextArea jTextArea1 = new JTextArea("",10,25); //定义输入框

GridLayout gridLayout1 = new GridLayout(); //整体用的事 网格布局管理器

JTextField jTextField1 = new JTextField(10);  //文本输入框

JTextField jTextField2 = new JTextField(10); 

JTextField jTextField3 = new JTextField(10); 

JLabel jLabel1 = new JLabel("唱片编号:"); //定义显示的字 (只用来显示字)

JLabel jLabel2 = new JLabel("唱片名称:");

JLabel jLabel3 = new JLabel("歌手姓名:");

JButton jButton1 = new JButton("增加"); //定义按钮

JButton jButton2 = new JButton("取消");

String str;

public CDInfor() { //构造方法 程序启动的时候 或者调用这个类的时候执行(这里是程序启动)

try {

setDefaultCloseOperation(EXIT_ON_CLOSE);    //天剑程序关闭的方法 要不然 你点关闭 界面没了 但是资源没释放

jbInit(); //调用jbInit()方法 用于实现事件

}

catch (Exception exception) { //错误捕捉

exception.printStackTrace();

}

}

public void jbInit()

{

Container cp = getContentPane(); //定义一个pane的容器

cp.setLayout(new BorderLayout()); //布局为边框布局

jButton1.addActionListener(this); //将按钮1 绑定事件

jButton2.addActionListener(this); //将按钮2 绑定事件

jTextArea1.setEditable(false); //将这个输入框设定为不可编辑

jScrollPane1.getViewport().add(jTextArea1); //滚动条和jTextArea1绑定

jPanel3.add(jLabel1); jPanel3.add(jTextField1);   //将各个组件加入Jpanel里

jPanel4.add(jLabel2); jPanel4.add(jTextField2);

jPanel5.add(jLabel3); jPanel5.add(jTextField3);

jPanel6.add(jButton1); jPanel6.add(jButton2);

jPanel1.add(jScrollPane1);

jPanel2.add(jPanel3); jPanel2.add(jPanel4); jPanel2.add(jPanel5); jPanel2.add(jPanel6);

jPanel2.setPreferredSize(new Dimension(10, 150));

cp.add("Center",jPanel1);

cp.add("South",jPanel2);   

}

public void actionPerformed(ActionEvent e) //实现事件监听

{

if(e.getSource()==jButton1) //如果当前是 按钮一的话

{

try {} 

catch (Exception ex) {}

}

jTextField1.setText("");  //内容全部清空

jTextField2.setText("");

jTextField3.setText("");

}

public static void main(String[] args) throws Exception

{

CDInfor kk = new CDInfor(); //应为main是Static 所以 要new 本身类

kk.setSize(350,350); //设定大小

kk.setTitle("Please caculat:"); //设定标题栏文字

kk.setVisible(true); //是否显示 这个窗口

}

}

还不够详细么亲~ 采纳吧~~


分享标题:java代码大全带注释,java开发常用注解
当前链接:http://myzitong.com/article/hdegse.html