
正文
java源代码带注释,简单的java程序代码带注释
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
急!!对一个JAVA源代码加注释~~~
import java.awt.*; // 导入相应的awt工具组件
import java.awt.event.*;// 导入awt工具组件的事件类
/**
* 作用:calc类用于演示加法计算器的功能p
* @author 网络用户
* @version 1.0 2009-6-3
* @since JDK 1.5
*/
class calc extends WindowAdapter implements ActionListener
{
//以下声明相关变量
Frame f; //窗口
// Button b0,b1,b2,b3,b4,b5,b6,b7,b8,b9;
Button b[] = new Button[10]; //10个按钮,分别对应数字0到9
Button be, badd, bc; //bc为=,badd为+,bc为归0按钮
TextField answer; //文本框answer用于显示相加的结果
Panel p; //面板
String s = ""; //临时变量,用于记住被加数
int t1, t2; //t1,t2分别表示被加数,加数
/**
* 作用:main方法为程序运行的入口
* @param args
*/
public static void main( String args[] )
{
calc cg = new calc(); //创建一个calc类的对象
cg.go(); //调用go方法,显示加法器界面,并完成加法功能
}
/**
* 作用:go()方法用于显示加法器界面,并完成加法功能
*/
public void go()
{
p = new Panel(); //创建面板的对象,10个按钮将在此面板对象上添加和显示
answer = new TextField("0", 15); //设置文本框的默认值为0,文本框的长度15个字符
b[0] = new Button("0"); //以下就是那10个按钮,按钮上的文本就是0到9的数字
b[1] = new Button("1");
b[2] = new Button("2");
b[3] = new Button("3");
b[4] = new Button("4");
b[5] = new Button("5");
b[6] = new Button("6");
b[7] = new Button("7");
b[8] = new Button("8");
b[9] = new Button("9");
be = new Button("="); //等号
badd = new Button("+"); //加号
bc = new Button("C"); //归0按钮
p.setLayout(new GridLayout(4, 3)); //将面板设置为4行3列,即12个格子,刚好可以存放地10个数字按钮另加+号按钮和=号按钮,共12个按钮
p.add(b[7]); //添加10个数字按钮到面板上
p.add(b[8]);
p.add(b[9]);
p.add(b[4]);
p.add(b[5]);
p.add(b[6]);
p.add(b[1]);
p.add(b[2]);
p.add(b[3]);
p.add(b[0]);
for( int i = 0; i b.length; i++ )
b[i].addActionListener(this); //为10个数字按钮添加事件监听器,以用于实现加法功能
p.add(be); //添加=号按钮到面板上
p.add(badd); //添加+号按钮到面板上
be.addActionListener(this); //为=号按钮添加事件监听器,用于实现加法功能
badd.addActionListener(this); //为+号按钮添加事件监听器,用于实现加法功能
f = new Frame("calc"); //创建一个Frame对象(窗口),窗口的标题就是calc
f.setSize(300, 300); //窗口的大小为300*300像素
f.add(answer, "North"); //将文本框设置在窗口的北部(上),窗口的默认布局为BorderLayout,即东西南北中5个位置
f.add(p, "Center"); //将面板设置在窗口的中部(中)
f.add(bc, "South"); //将归0按钮设置在窗口的南部(下)
bc.addActionListener(this); //为归0按钮添加事件监听器,用于将计算结果归0
f.addWindowListener(this); //为窗口添加事件监听器,用于实现关闭窗口的功能
f.pack(); //此方法用于窗口到合适的大小
f.setVisible(true); //显示窗口,为false时将不会显示窗口
}
//在10个数字按钮和3个功能按钮上单击,将触发此方法
public void actionPerformed( ActionEvent e )
{
if( e.getSource() == bc )
{//单击了归0按钮,设置为默认值
s = "";
t1 = 0; //被加数设0
t2 = 0; //加数设0
answer.setText("0"); //文本框设为0
} else if( e.getSource() == badd )
{//单击+号按钮
t1 = Integer.parseInt(s); //记下被加数
s = "";
} else if( e.getSource() == be )
{//单击=号按钮
t2 = Integer.parseInt(s); //记下加数
t2 = t2 + t1; //把被加数与加数相加
answer.setText((new Integer(t2)).toString()); //在文本框上显示相加的结果
} else
{//单击0到9之间的任意一个数字按钮
for( int i = 0; i b.length; i++ )
if( e.getSource() == b[i] )
{
System.out.println("1");
s = s + b[i].getActionCommand(); //获得被单击按钮上的数字
answer.setText(s); //在文本框上显示连续单击那几个数字
}
}
}
//关闭窗口,触发此方法
public void windowClosing( WindowEvent ev )
{
System.exit(0); //退出程序
}
}
相关问答
Q1: java 源代码注释
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class GameTest extends JFrame implements ActionListener{
/*
* 新建一个主面板(这个类可能是自定义的,本程序和API中没有)。
*/
MainPanel j=new MainPanel();
JButton jPreview;
JLabel label;
Container container;
JPanel panel;
/**
* 主函数
* @param args
*/
public static void main(String[] args) {
//运行程序
new GameTest();
}
/**
* 构造函数。
*
*/
public GameTest()
{
//新建一个标题为“拼图”的窗口
JFrame fr =new JFrame("拼图");
//获取窗口容器。
container=fr.getContentPane();
//创建菜单条
JMenuBar jMenuBar=new JMenuBar();
//以下初始化菜单,并且设置快捷键和添加监听器。
JMenu jMenuGame=new JMenu("游戏(G)");
jMenuGame.setMnemonic('g');
JMenuItem jMenuItemStart = new JMenuItem("开始(S)");
jMenuItemStart.setMnemonic('s');
jMenuItemStart.addActionListener(this);
JMenuItem jMenuItemExit=new JMenuItem("退出(E)");
jMenuItemExit.setMnemonic('e');
jMenuItemExit.addActionListener(this);
jMenuGame.add(jMenuItemStart);
jMenuGame.add(jMenuItemExit);
//初始化按钮并设置快捷键和添加监听器
JButton jChoice=new JButton("选图(X)");
jChoice.setMnemonic('x');
jChoice.addActionListener(this);
jPreview=new JButton("预览(P)");
jPreview.setMnemonic('p');
jPreview.addActionListener(this);
//将菜单和按钮添加到菜单条中
jMenuBar.add(jMenuGame);
jMenuBar.add(jChoice);
jMenuBar.add(jPreview);
//将菜单条设为该窗口的主菜单
fr.setJMenuBar(jMenuBar);
//将主面板添加到该窗口的容器中。
container.add(j);
//设置大小
fr.setSize(315,360 );
fr.setVisible(true);
//设置默认关闭方式。
fr.setDefaultCloseOperation(3);
}
/**
* 事件处理函数。
*/
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand()=="开始(S)")
{
j.Start();
}
if(e.getActionCommand()=="预览(P)")
{
j.setVisible(false);
panel=new JPanel();
Icon icon=new ImageIcon("pictrue/pic"+"_"+MainPanel.pictureID+".jpg");
label=new JLabel(icon);
label.setBounds(300, 300, 0, 0);
panel.add(label);
panel.setSize(300, 300);
panel.setVisible(true);
this.container.add(panel);
jPreview.setText("返回(P)");
}
if(e.getActionCommand()=="返回(P)")
{
panel.setVisible(false);
j.setVisible(true);
j.repaint();
jPreview.setText("预览(P)");
}
if(e.getActionCommand()=="退出(E)")
{
System.exit(0);
}
if(e.getActionCommand()=="选图(X)")
{
//初始化选择框,并提供选择。
Choice pic = new Choice();
pic.add("七里香");
pic.add("依然范特西");
pic.add("八度空间");
pic.add("十一月的肖邦");
pic.add("魔杰座");
pic.add("叶惠美");
pic.add("我很忙");
int i=JOptionPane.showConfirmDialog(this, pic, "选择图片", JOptionPane.OK_CANCEL_OPTION);
if(i==JOptionPane.YES_OPTION)
{
//选择图片
MainPanel.pictureID=pic.getSelectedIndex()+1;
j.removeAll();
j.reLoadPicture();
j.repaint();
}
}
}
}
Q2: 求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();
}
}
测试效果
Q3: Java源代码注释
你的这段代码是获取配置文件中数据库配置信息
配置内容都在DBConfig.txt 这个文件中了
package dda;
import java.sql.*;
import java.io.LineNumberReader;
import java.io.FileReader;
import java.util.StringTokenizer;
/**
*
* 读取配置文件DBConfig.txt中的配置信息
* @author xxx
* @version 1.0
*/
public class DbConnection {
Connection conn = null;
ResultSet rs = null;
boolean b;
public DbConnection() {
this.b = false;
this.getDBConfig();
}
/* 定义变量 */
String strSeparate = " ";
String strFileName = "DBConfig.txt";
String strUserID = null;
String strUserPWD = null;
String strDB = null;
public void getDBConfig() {
this.getDBConfig();
try {
LineNumberReader oLineNumberReader = new LineNumberReader(
new FileReader(this.strFileName)); // 从 DBConfig.txt 文件中读取数据库配置
String strLine = null;
while ((strLine = oLineNumberReader.readLine()) != null) {// 遍历配置文件中每一行数据
StringTokenizer token = new StringTokenizer(strLine,(new String(this.strSeparate).toString())); // 按空格拆分配置内容
/* 以下三行都是给属性设值,获取配置属性 */
this.strDB = token.nextToken();
this.strUserID = token.nextToken();
this.strUserPWD = token.nextToken();
}
} catch (Exception e) {
System.out.println("DB:"+strFileName);
}
}
}
Q4: 求将java源代码加详细的注释,程序已给出
package com.the2cities.servlet;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.TexturePaint;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.geom.GeneralPath;
import java.awt.geom.RoundRectangle2D;
import java.awt.image.BufferedImage;
import javax.swing.JFrame;
public class pentagram extends JFrame implements KeyListener {
int x=150,y=150;
public pentagram() {
//初始化
setSize(400, 400);//设置大小
setVisible(true);//显示
this.addKeyListener(this);//按键的监听事件
}
public void keyPressed(KeyEvent e) {
//方向键
if(e.getKeyCode()==37)
{
x-=10; //向左边移动10像素
repaint(); //刷新
}
if(e.getKeyCode()==38)
{
y-=10; //向上边移动10像素
repaint();//刷新
}
if(e.getKeyCode()==39)
{
x+=10;//向右边移动10像素
repaint();//刷新
}
if(e.getKeyCode()==40)
{
y+=10;//向下边移动10像素
repaint();//刷新
}
}
public void keyReleased(KeyEvent e) {
}
public void keyTyped(KeyEvent e) {
}
public void paint(Graphics g) {//重写了JFrame的paint,在上面刷新的方法可以调用到这个方法。
super.paint(g);
//A
int xPoint[]={55,67,109,73,83,55,27,37,1,43};
int yPoint[]={0,36,36,54,96,72,96,54,36,36};
Graphics2D g2d=(Graphics2D)g;//整个窗口就是一个画板
GeneralPath star=new GeneralPath();
star.moveTo(xPoint[0], yPoint[0]);
for(int count=1;countxPoint.length;count++)
{
star.lineTo(xPoint[count], yPoint[count]);
}
star.closePath();
//B
//A到B是画出一个星星。
g2d.translate(x, y);//设置星星位置,x,y就是上面,按方向键产生的数字。
g2d.setColor(new Color((int)(Math.random()*256),(int)(Math.random()*256),(int)(Math.random()*256)));//随机设置颜色
g2d.fill(star);//把星星放到画板里去。
}
public static void main(String[] arge) {
pentagram s = new pentagram();
s.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}






