javaWord下载.docx

上传人:b****5 文档编号:19371982 上传时间:2023-01-05 格式:DOCX 页数:17 大小:162.25KB
下载 相关 举报
javaWord下载.docx_第1页
第1页 / 共17页
javaWord下载.docx_第2页
第2页 / 共17页
javaWord下载.docx_第3页
第3页 / 共17页
javaWord下载.docx_第4页
第4页 / 共17页
javaWord下载.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

javaWord下载.docx

《javaWord下载.docx》由会员分享,可在线阅读,更多相关《javaWord下载.docx(17页珍藏版)》请在冰豆网上搜索。

javaWord下载.docx

privateJLabeltextScores;

privateJLabel[][]texts;

privateIconicon2;

privateinttimes=16;

//记录剩余空方块数目

privateintscores=0;

//记录分数

privateintl1,l2,l3,l4,l5;

//用于判断游戏是否失败

Fontfont=newFont("

"

Font.BOLD,14);

//设置字体类型和大小

Fontfont2=newFont("

Font.BOLD,30);

//设置字体类型和大小

Randomrandom=newRandom();

//随机类实例化

publicstaticvoidmain(String[]args){

EventQueue.invokeLater(newRunnable(){

publicvoidrun(){

try{

Copy2048frame=newCopy2048();

frame.setVisible(true);

}

catch(Exceptione1){

e1.printStackTrace();

}

});

}

/**

*构造方法

*/

publicCopy2048(){

super();

setResizable(false);

//禁止调整窗体大小

getContentPane().setLayout(null);

//设置空布局

setBounds(500,50,500,615);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setTitle("

2048PC版"

);

//设置窗体标题

scoresPane=newJPanel();

//创建分数显示面板

scoresPane.setBackground(Color.green);

//设置分数显示面板的背景色

scoresPane.setBounds(20,20,460,40);

scoresPane.setBorder(BorderFactory.createMatteBorder(2,2,2,2,Color.YELLOW));

//设置得分面板的边框

getContentPane().add(scoresPane);

//将得分面板添加到窗体

scoresPane.setLayout(null);

//设置面板空布局

labelMaxScores=newJLabel("

最高分:

//最高分标签

labelMaxScores.setFont(font);

//设置字体类型和大小

labelMaxScores.setBounds(10,5,50,30);

//设置最懂啊分标签的位置尺寸

scoresPane.add(labelMaxScores);

//将最高分标签添加到得分容器中

textMaxScores=newJTextField("

"

//得分标签

textMaxScores.setBounds(60,5,150,30);

textMaxScores.setFont(font);

textMaxScores.setEditable(false);

scoresPane.add(textMaxScores);

//将得分标签添加到分数面板中

labelScores=newJLabel("

得分:

labelScores.setFont(font);

//设置字体类型和大小

labelScores.setBounds(240,5,50,30);

scoresPane.add(labelScores);

textScores=newJLabel(String.valueOf(scores));

textScores.setFont(font);

textScores.setBounds(290,5,150,30);

scoresPane.add(textScores);

mainPane=newJPanel();

//创建游戏主面板

mainPane.setBounds(20,70,460,500);

//设置主面板位置尺寸

this.getContentPane().add(mainPane);

mainPane.setLayout(null);

//设置空布局

texts=newJLabel[4][4];

//创建文本框二维数组

for(inti=0;

i<

4;

i++){//遍历数组

for(intj=0;

j<

j++){

texts[i][j]=newJLabel();

//创建标签

texts[i][j].setFont(font2);

texts[i][j].setHorizontalAlignment(SwingConstants.CENTER);

texts[i][j].setText("

texts[i][j].setBounds(120*j,120*i,100,100);

//设置方块的大小位置

setColor(i,j,"

texts[i][j].setOpaque(true);

texts[i][j].setBorder(BorderFactory.createMatteBorder(2,2,2,2,Color.green));

//设置方块边框颜色

mainPane.add(texts[i][j]);

//将创建的文本框放在

}

tips=newJLabel("

Tips:

使用上、下、左、右键或者W、S、A、D键控制"

tips.setFont(font);

tips.setBounds(60,480,400,20);

mainPane.add(tips);

textMaxScores.addKeyListener(newKeyAdapter(){//为最高分标签添加按键监听器

publicvoidkeyPressed(KeyEvente){

do_label_keyPressed(e);

//调用时间处理方法

Create2();

*按键输入事件的处理方法

*@parame

protectedvoiddo_label_keyPressed(finalKeyEvente){

intcode=e.getKeyCode();

//获取按键代码

inta;

//a的引入是为了防止连加的情况出现

Stringstr;

Stringstr1;

intnum;

switch(code){

caseKeyEvent.VK_LEFT:

caseKeyEvent.VK_A:

//如果按键代码是左方向键或者A键

for(inti=0;

i++){

a=5;

for(intk=0;

k<

3;

k++){

for(intj=1;

j++){//遍历16个方块

str=texts[i][j].getText();

//获取当前方块标签文本字符

str1=texts[i][j-1].getText();

//获取当前左1方块标签文本字符

if(pareTo("

)==0){//如果左1方块文本为空字符

texts[i][j-1].setText(str);

//字符左移

setColor(i,j-1,str);

texts[i][j].setText("

//当前方块字符置空

setColor(i,j,"

}elseif((pareTo(str1)==0)&

&

(j!

=a)&

=a-1)){//如果当前方块和左1方块文本字符相等

num=Integer.parseInt(str);

scores+=num;

times++;

str=String.valueOf(2*num);

//左1方块文本字符变为两方块之和

setColor(i,j-1,str);

a=j;

}

}

l1=1;

Create2();

break;

caseKeyEvent.VK_RIGHT:

caseKeyEvent.VK_D:

i++){

for(intj=2;

j>

=0;

j--){

str1=texts[i][j+1].getText();

)==0){

texts[i][j+1].setText(str);

setColor(i,j+1,str);

elseif(pareTo(str1)==0&

j!

=a&

=a+1){

scores+=num;

}

l2=1;

caseKeyEvent.VK_UP:

caseKeyEvent.VK_W:

for(inti=1;

i++){

str1=texts[i-1][j].getText();

texts[i-1][j].setText(str);

setColor(i-1,j,str);

i!

=a&

=a-1){

a=i;

l3=1;

caseKeyEvent.VK_DOWN:

caseKeyEvent.VK_S:

j++){

5;

for(inti=2;

i>

i--){

str1=texts[i+1][j].getText();

texts[i+1][j].setText(str);

setColor(i+1,j,str);

elseif(pareTo(str1)==0&

=a+1){

texts[i+1][j].setText(str);

l4=1;

default:

break;

textScores.setText(String.valueOf(scores));

*在随机位置产生一个2号方块的方法

*@parami,j

publicvoidCreate2(){

inti,j;

booleanr=false;

Stringstr;

if(times>

0){

while(!

r){

i=random.nextInt(4);

j=random.nextInt(4);

str=texts[i][j].getText();

if((pareTo("

)==0)){

texts[i][j].setIcon(icon2);

texts[i][j].setText("

2"

setColor(i,j,"

times--;

r=true;

l1=l2=l3=l4=0;

elseif(l1>

0&

l2>

l3>

0&

l4>

0){//l1到l4同时被键盘赋值为1说明任何方向键都不能产生新的数字2,说明游戏失败

tips.setText("

GAME OVER!

*设置标签颜色

*@parami,j,str

publicvoidsetColor(inti,intj,Stringstr){

if(str=="

texts[i][j].setBackground(Color.yellow);

elseif(str=="

4"

texts[i][j].setBackground(Color.red);

8"

texts[i][j].setBackground(Color.pink);

16"

texts[i][j].setBackground(Color.orange);

32"

texts[i][j].setBackground(Color.magenta);

64"

texts[i][j].setBackground(Color.LIGHT_GRAY);

128"

texts[i][j].setBackground(Color.green);

256"

texts[i][j].setBackground(Color.gray);

512"

texts[i][j].setBackground(Color.DARK_GRAY);

1024"

texts[i][j].setBackground(Color.cyan);

2048"

texts[i][j].setBackground(Color.blue);

4096"

texts[i][j].setBackground(Color.white);

}

GUI——加法计算器

(一)

加法计算器:

是通过键盘输入加数和被加数,执行Run按钮,显示和在Thesumis上,如若重新输入数执行的话,点击Restart按钮

(二)程序截图

(三)程序代码

importjava.awt.*;

importjavax.swing.*;

publicclassSum_CalculationextendsJFrameimplementsActionListener

{Containercp;

JTextFieldtext1;

JTextFieldtext2;

JTextFieldanswertext;

JLabellb1;

JLabellb2;

JLabellb3;

JButtonbt1;

JButtonbt2;

Sum_Calculation(){

cp=getContentPane();

text1=newJTextField(10);

text2=newJTextField(10);

answertext=newJTextField(10);

lb1=newJLabel("

Pleaseinputthefirstnumber"

lb2=newJLabel("

Pleaseinputthesecondnumber"

lb3=newJLabel("

Thesumis"

bt1=newJButton("

Run"

bt2=newJButton("

Restart"

cp.setLayout(newGridLayout(4,2));

cp.add(lb1);

cp.add(text1);

cp.add(lb2);

cp.add(text2);

cp.add(lb3);

cp.add(answertext);

cp.add(b

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 调查报告

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1