| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3524 人关注过本帖, 1 人收藏
标题:[求助]我是个新手,希望有人能帮我注释每一行代码!谢谢!
只看楼主 加入收藏
tade
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2005-12-18
收藏(1)
 问题点数:0 回复次数:18 
[求助]我是个新手,希望有人能帮我注释每一行代码!谢谢!

[求助]我是个新手,希望有人能帮我注释每一行代码!谢谢!
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class OpenWindows{
public static void main(String[] args){
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame frame=new JFrame("开窗户游戏");
frame.getContentPane().add(new Mainpanel());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
}
class Mainpanel extends JPanel{
PanelC pc=new PanelC();
PanelS ps=new PanelS(pc);
public Mainpanel(){
this.setLayout(new BorderLayout());
this.add(pc,"Center");
this.add(ps,"South");
}
}
//方块面板
class PanelC extends JPanel{
JButton[] winbutton=new JButton[25];
Color c;
public PanelC(){
this.setLayout(new GridLayout(5,5));
for(int i=0;i<25;i++){
winbutton[i]=new JButton();
winbutton[i].setActionCommand(String.valueOf(i));
c=winbutton[i].getBackground(); //获得默认颜色
winbutton[i].addActionListener(new OpenOther());
this.add(winbutton[i]);
}
this.setPreferredSize(new Dimension(300,300));
}
class OpenOther implements ActionListener{
public void actionPerformed(ActionEvent a){
String y=a.getActionCommand();
int x=Integer.parseInt(y);
Select(x);
IsWin();
}
//判断九种情况
private void Select(int x){
if(x==0){
ChangeColor(winbutton[x]);
ChangeColor(winbutton[x+1]);
ChangeColor(winbutton[x+5]);
}else if(x>0 && x<4){
ChangeColor(winbutton[x]);
ChangeColor(winbutton[x-1]);
ChangeColor(winbutton[x+1]);
ChangeColor(winbutton[x+5]);
}else if(x==4){
ChangeColor(winbutton[x]);
ChangeColor(winbutton[x-1]);
ChangeColor(winbutton[x+5]);
}else if(x==20){
ChangeColor(winbutton[x]);
ChangeColor(winbutton[x-5]);
ChangeColor(winbutton[x+1]);
}else if(x==24){
ChangeColor(winbutton[x]);
ChangeColor(winbutton[x-5]);
ChangeColor(winbutton[x-1]);
}else if(x>20 && x<24){
ChangeColor(winbutton[x]);
ChangeColor(winbutton[x-5]);
ChangeColor(winbutton[x-1]);
ChangeColor(winbutton[x+1]);
}else if(x%5==0){
ChangeColor(winbutton[x]);
ChangeColor(winbutton[x-5]);
ChangeColor(winbutton[x+1]);
ChangeColor(winbutton[x+5]);
}else if(x%5==4){
ChangeColor(winbutton[x]);
ChangeColor(winbutton[x-5]);
ChangeColor(winbutton[x-1]);
ChangeColor(winbutton[x+5]);
}else{
ChangeColor(winbutton[x]);
ChangeColor(winbutton[x-5]);
ChangeColor(winbutton[x-1]);
ChangeColor(winbutton[x+1]);
ChangeColor(winbutton[x+5]);
}
}
//改变周围颜色函数
private void ChangeColor(JButton winbutton){
if(winbutton.getBackground()==c)
winbutton.setBackground(Color.white);
else
winbutton.setBackground(c);
}
//判断是否胜出
private void IsWin(){
int a=1;
for(int i=0;i<25;i++)
if(winbutton[i].getBackground()==Color.white)
a++;
if(a>25)
JOptionPane.showMessageDialog(null,"恭喜过关");
}
}
}
class PanelS extends JPanel{
JLabel label=new JLabel("开窗户游戏");
JButton restart=new JButton("重置");
PanelC pc;
public PanelS(PanelC pc){
this.pc=pc;
restart.addActionListener(new Reset());
this.add(label);
this.add(restart);
}
class Reset implements ActionListener{
public void actionPerformed(ActionEvent a){
for(int i=0;i<25;i++){
pc.winbutton[i].setBackground(pc.c);
}
}
}
}

搜索更多相关主题的帖子: 注释 代码 
2005-12-18 11:04
zinking
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:35
帖 子:916
专家分:0
注 册:2004-12-5
收藏
得分:0 
我希望你不要学了,我帮你学得了

http://kongfuziandlife. http://codeanddesign.
2005-12-18 19:54
tade
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2005-12-18
收藏
得分:0 
我要学啊!
2005-12-18 22:24
飘飘叶子
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:597
专家分:10
注 册:2005-8-17
收藏
得分:0 

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class OpenWindows{
public static void main(String[] args){
JFrame.setDefaultLookAndFeelDecorated(true); //设置显示风格
JFrame frame=new JFrame("开窗户游戏"); //实例化一个窗口,并把标题改为"开窗户游戏"
frame.getContentPane().add(new Mainpanel()); //在实例化的窗口上添加一个面板类
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //退出机制
frame.pack(); //调整到适合大小,使用setSize()就不使用pack(),如果2者同时出现则忽略setSize()
frame.setVisible(true); //显示出窗口
}
}
class Mainpanel extends JPanel{
PanelC pc=new PanelC(); //实例化一个PanelC的面板类
PanelS ps=new PanelS(pc); //实例化一个PanelS的面板类,并把PanelC的实例pc作为参数传递
public Mainpanel(){ //构造函数
this.setLayout(new BorderLayout()); //设置Mainpanel面板类的布局
this.add(pc,"Center"); //把pc添加到总面板Mainpanel上,并设置为居中显示
this.add(ps,"South"); //把ps添加到总面板上,并放在南边
}
}
//方块面板
class PanelC extends JPanel{
JButton[] winbutton=new JButton[25]; //申明25个按钮。此处只是申明,并未实例化
Color c; //申明一个颜色类c
public PanelC(){
this.setLayout(new GridLayout(5,5)); //将PanelC面板设置为5*5的布局GridLayout
for(int i=0;i<25;i++){ //循环25次
winbutton[i]=new JButton(); //通过循环实例化25个按钮
winbutton[i].setActionCommand(String.valueOf(i)); //设置ActionCommand的文字
c=winbutton[i].getBackground(); //获得默认颜色
winbutton[i].addActionListener(new OpenOther()); //为每一个按钮添加监听
this.add(winbutton[i]);
}
this.setPreferredSize(new Dimension(300,300)); //设置该面板的大小
}
class OpenOther implements ActionListener{
public void actionPerformed(ActionEvent a){
String y=a.getActionCommand(); //当点击某个按钮时使用y接受该按钮的ACtionCommand上的文字
int x=Integer.parseInt(y); //申明一个int型的变量x,转换y为数字,如果y不为数字,将引发NumberFormatException异常
Select(x); //调用Select方法,把x作为参数传递
IsWin(); //调用IsWin()方法判断是否所有的按钮颜色都为白色
}
//判断九种情况
private void Select(int x){
if(x==0){ //如果点击的按钮的ActionCommand文字为0,也就是第一个按钮,最左上角的
ChangeColor(winbutton[x]); //调用ChangeColor改变按钮的颜色
ChangeColor(winbutton[x+1]); //改变x+1的按钮的颜色,也就是右边的一个按钮
ChangeColor(winbutton[x+5]); //改变x+5的按钮颜色,也就是下面的一个按钮
}else if(x>0 && x<4){ //如果点击的按钮为第一行中间的3个
ChangeColor(winbutton[x]); //按钮本身
ChangeColor(winbutton[x-1]); //左边一个
ChangeColor(winbutton[x+1]); //右边一个
ChangeColor(winbutton[x+5]); //下面的一个
}else if(x==4){ //如果点击的为第一行最右边的那个按钮
ChangeColor(winbutton[x]);
ChangeColor(winbutton[x-1]);
ChangeColor(winbutton[x+5]);
}else if(x==20){ //如果点击的是最左下角的
ChangeColor(winbutton[x]);
ChangeColor(winbutton[x-5]);
ChangeColor(winbutton[x+1]);
}else if(x==24){ //如果点击的是最右下角的那个
ChangeColor(winbutton[x]);
ChangeColor(winbutton[x-5]);
ChangeColor(winbutton[x-1]);
}else if(x>20 && x<24){ //如果点击的是最下一排中间的3个中的
ChangeColor(winbutton[x]);
ChangeColor(winbutton[x-5]);
ChangeColor(winbutton[x-1]);
ChangeColor(winbutton[x+1]);
}else if(x%5==0){ //如果是最左边的一排上的按钮
ChangeColor(winbutton[x]);
ChangeColor(winbutton[x-5]);
ChangeColor(winbutton[x+1]);
ChangeColor(winbutton[x+5]);
}else if(x%5==4){ //是否是最右边的一排上的按钮
ChangeColor(winbutton[x]);
ChangeColor(winbutton[x-5]);
ChangeColor(winbutton[x-1]);
ChangeColor(winbutton[x+5]);
}else{ //剩下的也只有中间的那些了
ChangeColor(winbutton[x]);
ChangeColor(winbutton[x-5]);
ChangeColor(winbutton[x-1]);
ChangeColor(winbutton[x+1]);
ChangeColor(winbutton[x+5]);
}
}
//改变周围颜色函数
private void ChangeColor(JButton winbutton){
if(winbutton.getBackground()==c) //判断按钮的颜色是否为默认色
winbutton.setBackground(Color.white); //改为白色
else
winbutton.setBackground(c); //改为默认色
}
//判断是否胜出
private void IsWin(){
int a=1;
for(int i=0;i<25;i++) //循环25次以判断白色的按钮是否为25个
if(winbutton[i].getBackground()==Color.white)
a++;
if(a>25) //达到25个
JOptionPane.showMessageDialog(null,"恭喜过关"); //弹出对话框说你过关了
}
}
}
class PanelS extends JPanel{
JLabel label=new JLabel("开窗户游戏"); //实例化一个标签
JButton restart=new JButton("重置");
PanelC pc; //实例化一个PanelC类
public PanelS(PanelC pc){
this.pc=pc;
restart.addActionListener(new Reset()); //为restart按钮添加一个Reset类的监听
this.add(label);
this.add(restart);
}
class Reset implements ActionListener{
public void actionPerformed(ActionEvent a){
for(int i=0;i<25;i++){ //通过循环把所有按钮的颜色改为默认色
pc.winbutton[i].setBackground(pc.c);
}
}
}
}

其实这个游戏使用2维数组将更加简单


向着软件工程师的目标前进!
2005-12-19 13:17
cll19820814
Rank: 2
等 级:新手上路
威 望:3
帖 子:328
专家分:0
注 册:2005-11-30
收藏
得分:0 
真是好人啊 斑竹~

懵懵懂懂,看千遍而不会;设身处地,试一下就成功!
2005-12-19 13:59
本人已死
Rank: 1
等 级:新手上路
威 望:1
帖 子:183
专家分:0
注 册:2005-9-20
收藏
得分:0 
不错

爸爸告诉我:女人喜欢有钱的男人;妈妈告诉我:女人喜欢有貌的男人。我翻翻钱包,又照照镜子,然后我哭了
2005-12-19 17:05
thgoat
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2005-9-15
收藏
得分:0 

how to play it

[此贴子已经被作者于2005-12-20 9:21:30编辑过]


2005-12-20 09:14
zhouyao_14
Rank: 1
等 级:新手上路
帖 子:196
专家分:0
注 册:2006-2-15
收藏
得分:0 
好人啊!!!但是在哪里来的程序应该会有解释啊

2006-02-23 11:01
zhangzhihai
Rank: 1
来 自:江西南昌
等 级:新手上路
帖 子:74
专家分:0
注 册:2007-3-10
收藏
得分:0 
解释当然是写程序员的人写的了哦.我倒.
2008-01-09 23:52
ConZhang
Rank: 1
来 自:北京
等 级:新手上路
帖 子:282
专家分:0
注 册:2007-8-7
收藏
得分:0 
原帖由 [bold][underline]飘飘叶子[/underline][/bold] 于 2005-12-19 13:17 发表 [url=http://bbs.][/url]
import java.awt.*;import java.awt.event.*;import javax.swing.*;
class OpenWindows{public static void main(String[] args){  JFrame.setDefaultLookAndFeelDecorated(true); //设置显示风格  JFrame frame=new ...



2008-01-20 15:27
快速回复:[求助]我是个新手,希望有人能帮我注释每一行代码!谢谢!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.050187 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved