mouselistener-80

问题描述:java画乌龟 大家好,小编来为大家解答以下问题,一个有趣的事情,一个有趣的事情,今天让我们一起来看看吧!

java图形界面 运行时如何在点击鼠标时 改变字体颜色或者大小

mouselistener-80的相关图片

首先,手动画一个小乌龟,如下:

然后,按照Java绘图基本步骤一步步来。

swing 编程步骤:

1. 继承JFrame

2. 定义组件

3.创建组件(构造函数)

4.添加组件

5.对窗体设置

6.显示窗体

最终效果如下:

代码如下:

/** 

 * 功能:画一个乌龟 

 */  

  

package com.test1;  。

  

import java.awt.*;  。

  

import javax.swing.*;  。

public class MyTortoise  extends JFrame{  。

    MyPanel2 mp = null;  。

    //构造函数  

    public MyTortoise(){  。

        mp = new MyPanel2();  。

          

        this.add(mp);  。

          

        this.setTitle("小乌龟,丑丑哒");  。

        this.setSize(400,300);  。

        this.setVisible(true);  。

        this.setLocation(300,200);  。

        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  。

    }  

              

    public static void main(String[] args) {  。

        MyTortoise mtg = new MyTortoise();  。

    }     

}  

  

//我的面板。只有JPanel有画图方法,JFrame没有,故必须在JFrame中添加JPanel  。

class MyPanel2 extends JPanel{  。

    //定义一个乌龟  

    Tortoise t = null;  。

      

    //构造函数  

    public MyPanel2(){    。

        t = new  Tortoise(100,100);  。

    }  

      

    //画乌龟  

    public void drawTortoise(int x, int y, Graphics g){  。

        //1.画脸  。

        g.setColor(Color.green);  。

        g.fillOval(x+60, y, 30, 15);  。

        //2.画左眼  。

        g.setColor(Color.black);  。

        g.fillOval(x+65, y+3, 5, 5);  。

        //3.画右眼  。

        g.fillOval(x+78, y+3, 5, 5);  。

        //4.画脖子  。

        g.setColor(Color.green);  。

        g.fillOval(x+70, y, 10, 42);  。

        //5.画乌龟壳  。

        g.setColor(Color.red);  。

        g.fillOval(x+40, y+40, 70, 100);  。

        //6.画左上脚  。

        g.setColor(Color.green);  。

        g.fillOval(x+15, y+60, 30, 10);  。

        //7.画右上脚  。

        g.fillOval(x+105, y+60, 30, 10);  。

        //8.画左下脚  。

        g.fillOval(x+15, y+110, 30, 10);  。

        //9.画右下脚  。

        g.fillOval(x+105, y+110, 30, 10);  。

        //10.画尾巴  。

        g.setColor(Color.black);  。

        g.drawLine(x+70,y+140,x+130,y+210);  。

        g.drawOval(x+95, y+150, 30, 30);  。

    }  

  

     

    //覆盖JPanel的paint方法  。

    //Graphics 是绘图的重要类。你可以把他理解成一只画笔  。

    public void paint(Graphics g){  。

            //1.调用父类函数完成初始化任务  。

            //这句话不能少  。

            super.paint(g);  。

            //2.画乌龟,调用方法即可  。

            this.drawTortoise(50, 50, g);  。

    }  

      

}  

  

//定义一个乌龟类  

class Tortoise {  。

        //表示乌龟的横坐标  。

        int x = 0;  。

  

        //表示乌龟的纵坐标  。

        int y = 0;  。

          

        public int getX() {  。

            return x;  。

        }  

  

        public void setX(int x) {  。

            this.x = x;  。

        }  

  

        public int getY() {  。

            return y;  。

        }  

  

        public void setY(int y) {  。

            this.y = y;  。

        }  

        public Tortoise(int x, int y){  。

            this.x = x;  。

            this.y = y;  。

        }  

求一个带四则混合运算的JAVA计算器,简单点的。谢谢。十分紧急。的相关图片

求一个带四则混合运算的JAVA计算器,简单点的。谢谢。十分紧急。

首先,必须有一个GUI的类,让它继承JPanel类(javax.swing.JPanel);

让这个类实现MouseListener接口(java.awt.event.MouseListener),并实现此接口的所有方法;

其中有一个mouseClicked(MouseEvent e)方法,就是当该JPanel被鼠标点击时所调用的方法;在此方法中写上修改画笔颜色、字体的代码;

最后,由于继承了JPanel类,故可以重写paint(Graphics g)方法,在此方法中加入一些绘制方法。

示例代码如下:

package com;

import java.awt.*;。

import java.awt.event.*;。

import javax.swing.*;。

public class Client extends JPanel implements MouseListener {。

private JFrame f;。

private Color color;。

private Font font;。

//为了方便,可以增加一个状态变量。

private int state=0;。

public Client(){。

f=new JFrame("Test");。

//此句修改JPanel大小。

setPreferredSize(new Dimension(400,300));。

setBackground(Color.white);。

f.add(this);

//此句让JFrame适应JPanel大小。

f.pack();

f.setResizable(false);。

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);。

//此句为JPanel对象设置了鼠标事件监听器(MouseListener)。

addMouseListener(this);。

color=Color.black;。

font=new Font("Arial",Font.PLAIN,12);。

f.setVisible(true);。

}

public void paint(Graphics g){。

super.paint(g);。

//这2行代码根据成员变量color与font设置了画笔的颜色与字体,可由外部方法更改。

g.setColor(color);。

g.setFont(font);。

//以下为自定义的绘制操作。

g.fillRect(50,50,60,45);。

g.drawString("Hello this is the test text",50,120);。

}

public static void main(String[] args){。

Client c=new Client();。

//此为循环重绘的代码

while(true){

try{

//每40毫秒(25分之1秒)重绘一次。

Thread.sleep(40);。

}catch(Exception e){。

e.printStackTrace();。

}

//调用重绘方法

c.repaint();。

}

}

public void stateChanged(){。

switch(state){。

case 0://状态0

color=Color.black;。

font=new Font("Arial",Font.PLAIN,12);。

break;

case 1://状态1

color=Color.blue;。

font=new Font("Century Gothic",Font.BOLD,12);。

break;

default://此为无效状态。

}

}

public void mouseClicked(MouseEvent e) {。

//此方法在鼠标点击JPanel时自动调用。

//此句规定了成员变量state的2种状态,即0,1。

state=state>=1?0:state+1;。

//下面的方法修改了成员变量color和font,从而实现画笔颜色与字体的变更。

stateChanged();。

}

public void mouseEntered(MouseEvent e) {}。

public void mouseExited(MouseEvent e) {}。

public void mousePressed(MouseEvent e) {}。

public void mouseReleased(MouseEvent e) {}。

效果:

如果想要让不同的部分绘制成不同的颜色或字体,可在成员变量中增加更多的类似于color与font的对象,仿照上述代码调用。

java 扫雷源代码的相关图片

java 扫雷源代码

class Stack_Float。

float nums[];。

int top;

Stack_Float()。

{

nums = new float[50];。

top = -1;。

}

boolean IsEmpty()。

{

if(top == -1)。

return true;。

else

return false;。

}

float Pop_Stack()。

{

if(top==-1)。

{

return 0;。

}

top--;

return nums[top + 1];。

}

float GetTop()。

{

return nums[top];。

}

void Push_Stack(float num)。

{

if(top == 49)。

return;。

top++;

nums[top] = num;。

}

/*****************************************************************************/。

class Stack_Char。

char str[];。

int top;

Stack_Char()。

{

str = new char[50];。

top = -1;。

}

boolean IsEmpty()。

{

if(top==-1)。

return true;。

else

return false;。

}

void Push_Stack(char ch)。

{

if(top == 49)。

return;。

top++;

str[top] = ch;。

}

char Pop_Stack()。

{

if(top == -1)。

return '\0';。

top--;

return str[top + 1];。

}

char GetTop()。

{

if(top == -1)。

{

System.out.print("error");。

System.exit(0);。

}

return str[top];。

}

/*****************************************************************************/。

public class jisuanqi extends javax.swing.JFrame。

String show = "";。

public jisuanqi() 。

{

initComponents();。

}

char[] TranSmit(char str[])。

{

char houzhui[] = new char[50]; //存放后缀表达式的字符串。

int i = 0,j = 0;。

char c = str[i];。

Stack_Char s = new Stack_Char(); //存放运算符的栈。

while(c != '=') //对算术表达式扫描未结束时。

{

if(c >= '0' && c <= '9')。

{

while(c >= '0' && c <= '9')//数字直接入栈。

{

houzhui[j]=c;。

j++;

i++;

c=str[i];

}

houzhui[j]='#';//用#隔开数字。

j++;

}

switch(c) //扫描到运算符时。

{

case '+':

case '-':

case '*':

case '/':

if(s.IsEmpty() == true) //栈空,直接入栈。

{

s.Push_Stack(c);。

i++;

c=str[i];

break;。

}

if(ComPare(s.GetTop(),c) == -1)。

{。

s.Push_Stack(c); //入栈。

i++;

c=str[i];

break;。

}。

if(ComPare(s.GetTop(),c) == 1)。

{。

houzhui[j]=s.Pop_Stack();//出栈元素存入后缀表达式。

j++;

break;。

}。

}

}

while(s.IsEmpty() != true)//把剩余的运算符直接出栈。

{

houzhui[j]=s.Pop_Stack(); 。

j++;

}

houzhui[j] = '=';//后缀表达式后面加 =。

j++;

houzhui[j] = '\0';。

j++;

return houzhui;。

}

float Count(char str[])。

{

Stack_Float s = new Stack_Float();//定义存放数字的栈。

char c = str[0];。

int i = 0,j = 0;。

float result = 0,temp,left,right;。

while(c != '=') //未扫描到 = 时。

{

if(c >= '0' && c <= '9')//扫描到数字。

{

temp = 0;

while(c != '#')//未读到分隔符时。

{

temp = temp * 10 + c - '0';。

i++;

c = str[i];。

}

s.Push_Stack(temp);//进栈。

}

switch(c)//扫描到运算符时。

{

case '+':

{

result = s.Pop_Stack() + s.Pop_Stack();//2个数字出栈相加。

s.Push_Stack(result);//最后得数进栈。

break;

}

case '-':

{

right = s.Pop_Stack();//右操作数出栈。

left = s.Pop_Stack();//左操作数出栈。

result = left - right;。

s.Push_Stack(result);。

break;

}

case '*':

{

result = s.Pop_Stack() * s.Pop_Stack();//2个数字出栈相乘。

s.Push_Stack(result);。

break;

}

case '/':

{

right = s.Pop_Stack();//右操作数出栈。

left = s.Pop_Stack();//左操作数出栈。

result = left / right;。

s.Push_Stack(result);。

break;

}

}

i++;

c = str[i];

}

return result;。

}

int ComPare(char a,char b) //判断运算符的优先级函数。

{

int s[][] =。

{// 栈顶元素高于算术表达式中的元素时, 返回 1,否则返回 -1。

{1,1,-1,-1},

{1,1,-1,-1},

{1,1,1,1},

{1,1,1,1},

};

char x1[]={'+','-','*','/'};//栈顶元素。

char x2[]={'+','-','*','/'};//算术表达式中的元素。

int k=0,m,n = 0;。

for(m=0;m<4;m++) //查找2个进行比较的运算符在表中的位置,并返回比较结果。

{

for(n=0;n<4;n++)。

{

if(x1[m]==a&&x2[n]==b)。

{

k=1;break; //找到比较结果后,跳出循环。

}

}

if(k==1)

break;

}

return s[m][n];//返回比较结果。

}

/*****************************************************************************/。

@SuppressWarnings("unchecked")。

// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents。

private void initComponents() {。

text = new javax.swing.JTextField();。

jButton1 = new javax.swing.JButton();。

jButton2 = new javax.swing.JButton();。

jButton3 = new javax.swing.JButton();。

jButton4 = new javax.swing.JButton();。

jButton5 = new javax.swing.JButton();。

jButton6 = new javax.swing.JButton();。

jButton7 = new javax.swing.JButton();。

jButton8 = new javax.swing.JButton();。

jButton9 = new javax.swing.JButton();。

jButton10 = new javax.swing.JButton();。

jButton11 = new javax.swing.JButton();。

jButton12 = new javax.swing.JButton();。

jButton13 = new javax.swing.JButton();。

jButton14 = new javax.swing.JButton();。

jButton21 = new javax.swing.JButton();。

jButton22 = new javax.swing.JButton();。

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);。

getContentPane().setLayout(null);。

getContentPane().add(text);。

text.setBounds(10, 10, 270, 30);。

jButton1.setText("1");。

jButton1.addActionListener(new java.awt.event.ActionListener() {。

public void actionPerformed(java.awt.event.ActionEvent evt) {。

jButton1ActionPerformed(evt);。

}

});

getContentPane().add(jButton1);。

jButton1.setBounds(10, 50, 60, 25);。

jButton2.setText("2");。

jButton2.addActionListener(new java.awt.event.ActionListener() {。

public void actionPerformed(java.awt.event.ActionEvent evt) {。

jButton2ActionPerformed(evt);。

}

});

getContentPane().add(jButton2);。

jButton2.setBounds(80, 50, 60, 25);。

jButton3.setText("3");。

jButton3.addActionListener(new java.awt.event.ActionListener() {。

public void actionPerformed(java.awt.event.ActionEvent evt) {。

jButton3ActionPerformed(evt);。

}

});

getContentPane().add(jButton3);。

jButton3.setBounds(150, 50, 60, 25);。

jButton4.setText("4");。

jButton4.addActionListener(new java.awt.event.ActionListener() {。

public void actionPerformed(java.awt.event.ActionEvent evt) {。

jButton4ActionPerformed(evt);。

}

});

getContentPane().add(jButton4);。

jButton4.setBounds(220, 50, 60, 25);。

jButton5.setText("5");。

jButton5.addActionListener(new java.awt.event.ActionListener() {。

public void actionPerformed(java.awt.event.ActionEvent evt) {。

jButton5ActionPerformed(evt);。

}

});

getContentPane().add(jButton5);。

jButton5.setBounds(10, 80, 60, 25);。

jButton6.setText("6");。

jButton6.addActionListener(new java.awt.event.ActionListener() {。

public void actionPerformed(java.awt.event.ActionEvent evt) {。

jButton6ActionPerformed(evt);。

}

});

getContentPane().add(jButton6);。

jButton6.setBounds(80, 80, 60, 25);。

jButton7.setText("7");。

jButton7.addActionListener(new java.awt.event.ActionListener() {。

public void actionPerformed(java.awt.event.ActionEvent evt) {。

jButton7ActionPerformed(evt);。

}

});

getContentPane().add(jButton7);。

jButton7.setBounds(150, 80, 60, 25);。

jButton8.setText("8");。

jButton8.addActionListener(new java.awt.event.ActionListener() {。

public void actionPerformed(java.awt.event.ActionEvent evt) {。

jButton8ActionPerformed(evt);。

}

});

getContentPane().add(jButton8);。

jButton8.setBounds(220, 80, 60, 25);。

jButton9.setText("9");。

jButton9.addActionListener(new java.awt.event.ActionListener() {。

public void actionPerformed(java.awt.event.ActionEvent evt) {。

jButton9ActionPerformed(evt);。

}

});

getContentPane().add(jButton9);。

jButton9.setBounds(10, 110, 60, 25);。

jButton10.setText("0");。

jButton10.addActionListener(new java.awt.event.ActionListener() {。

public void actionPerformed(java.awt.event.ActionEvent evt) {。

jButton10ActionPerformed(evt);。

}

});

getContentPane().add(jButton10);。

jButton10.setBounds(80, 110, 60, 25);。

jButton11.setText("+");。

jButton11.addActionListener(new java.awt.event.ActionListener() {。

public void actionPerformed(java.awt.event.ActionEvent evt) {。

jButton11ActionPerformed(evt);。

}

});

getContentPane().add(jButton11);。

jButton11.setBounds(150, 110, 60, 25);。

jButton12.setText("-");。

jButton12.addActionListener(new java.awt.event.ActionListener() {。

public void actionPerformed(java.awt.event.ActionEvent evt) {。

jButton12ActionPerformed(evt);。

}

});

getContentPane().add(jButton12);。

jButton12.setBounds(220, 110, 60, 25);。

jButton13.setText("*");。

jButton13.addActionListener(new java.awt.event.ActionListener() {。

public void actionPerformed(java.awt.event.ActionEvent evt) {。

jButton13ActionPerformed(evt);。

}

});

getContentPane().add(jButton13);。

jButton13.setBounds(10, 140, 60, 25);。

jButton14.setText("/");。

jButton14.addActionListener(new java.awt.event.ActionListener() {。

public void actionPerformed(java.awt.event.ActionEvent evt) {。

jButton14ActionPerformed(evt);。

}

});

getContentPane().add(jButton14);。

jButton14.setBounds(80, 140, 60, 25);。

jButton21.setText("CE");。

jButton21.addActionListener(new java.awt.event.ActionListener() {。

public void actionPerformed(java.awt.event.ActionEvent evt) {。

jButton21ActionPerformed(evt);。

}

});

getContentPane().add(jButton21);。

jButton21.setBounds(150, 140, 60, 25);。

jButton22.setText("=");。

jButton22.addActionListener(new java.awt.event.ActionListener() {。

public void actionPerformed(java.awt.event.ActionEvent evt) {。

jButton22ActionPerformed(evt);。

}

});

getContentPane().add(jButton22);。

jButton22.setBounds(220, 140, 60, 25);。

pack();。

}// </editor-fold>//GEN-END:initComponents。

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed。

show += "1";。

text.setText(show);。

}//GEN-LAST:event_jButton1ActionPerformed。

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed。

show += "2";。

text.setText(show);。

}//GEN-LAST:event_jButton2ActionPerformed。

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed。

show += "3";。

text.setText(show);。

}//GEN-LAST:event_jButton3ActionPerformed。

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton4ActionPerformed。

show += "4";。

text.setText(show);。

}//GEN-LAST:event_jButton4ActionPerformed。

private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton5ActionPerformed。

show += "5";。

text.setText(show);。

}//GEN-LAST:event_jButton5ActionPerformed。

private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton6ActionPerformed。

show += "6";。

text.setText(show);。

}//GEN-LAST:event_jButton6ActionPerformed。

private void jButton7ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton7ActionPerformed。

show += "7";。

text.setText(show);。

}//GEN-LAST:event_jButton7ActionPerformed。

private void jButton8ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton8ActionPerformed。

show += "8";。

text.setText(show);。

}//GEN-LAST:event_jButton8ActionPerformed。

private void jButton9ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton9ActionPerformed。

show += "9";。

text.setText(show);。

}//GEN-LAST:event_jButton9ActionPerformed。

private void jButton10ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton10ActionPerformed。

show += "0";。

text.setText(show);。

}//GEN-LAST:event_jButton10ActionPerformed。

private void jButton13ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton13ActionPerformed。

show += "*";。

text.setText(show);。

}//GEN-LAST:event_jButton13ActionPerformed。

private void jButton14ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton14ActionPerformed。

show += "/";。

text.setText(show);。

}//GEN-LAST:event_jButton14ActionPerformed。

private void jButton21ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton21ActionPerformed。

show = "";

text.setText("");。

}//GEN-LAST:event_jButton21ActionPerformed。

private void jButton22ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton22ActionPerformed。

show += "=";。

text.setText(show);。

char str1[] = new char[50];。

char str2[] = new char[50];。

float result = 0;。

str1 = show.toCharArray();。

str2 = TranSmit(str1);。

result = Count(str2);。

text.setText("" + result);。

show = "";

}//GEN-LAST:event_jButton22ActionPerformed。

private void jButton12ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton12ActionPerformed。

show += "-";

text.setText(show);。

}//GEN-LAST:event_jButton12ActionPerformed。

private void jButton11ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton11ActionPerformed。

show += "+";

text.setText(show);。

}//GEN-LAST:event_jButton11ActionPerformed。

public static void main(String args[]) 。

{

jisuanqi j = new jisuanqi();。

j.setBounds(300, 300, 300, 195);。

j.setVisible(true);。

}

// Variables declaration - do not modify//GEN-BEGIN:variables。

private javax.swing.JButton jButton1;。

private javax.swing.JButton jButton10;。

private javax.swing.JButton jButton11;。

private javax.swing.JButton jButton12;。

private javax.swing.JButton jButton13;。

private javax.swing.JButton jButton14;。

private javax.swing.JButton jButton2;。

private javax.swing.JButton jButton21;。

private javax.swing.JButton jButton22;。

private javax.swing.JButton jButton3;。

private javax.swing.JButton jButton4;。

private javax.swing.JButton jButton5;。

private javax.swing.JButton jButton6;。

private javax.swing.JButton jButton7;。

private javax.swing.JButton jButton8;。

private javax.swing.JButton jButton9;。

private javax.swing.JTextField text;。

// End of variables declaration//GEN-END:variables。

Java程序运行后出现一张笑脸,鼠标点击一次则变成哭脸,再点击一次又变成笑脸,依次轮换。的相关图片

Java程序运行后出现一张笑脸,鼠标点击一次则变成哭脸,再点击一次又变成笑脸,依次轮换。

import java.awt.BorderLayout;。

import java.awt.Container;。

import java.awt.Font;。

import java.awt.GridLayout;。

import java.awt.Insets;。

import java.awt.event.ActionEvent;。

import java.awt.event.ActionListener;。

import java.awt.event.MouseAdapter;。

import java.awt.event.MouseEvent;。

import javax.swing.JButton;。

import javax.swing.JFrame;。

import javax.swing.JLabel;。

import javax.swing.JMenu;。

import javax.swing.JMenuBar;。

import javax.swing.JMenuItem;。

import javax.swing.JPanel;。

import javax.swing.Timer;。

public class ScanLei1 extends JFrame implements ActionListener{。

private static final long serialVersionUID = 1L;。

private Container contentPane;。

private JButton btn;。

private JButton[] btns;。

private JLabel b1;。

private JLabel b2;。

private JLabel b3;。

private Timer timer;。

private int row=9;。

private int col=9;。

private int bon=10;。

private int[][] a;。

private int b;。

private int[] a1;。

private JPanel p,p1,p2,p3;。

public ScanLei1(String title){。

super(title);。

contentPane=getContentPane();。

setSize(297,377);。

this.setBounds(400, 100, 400, 500);。

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);。

timer =new Timer(1000,(ActionListener) this);。

a = new int[row+2][col+2];。

initGUI();

}

public void initGUI(){。

p3=new JPanel();。

b=bon;

JMenuBar menuBar=new JMenuBar();。

JMenu menu1=new JMenu("游戏");。

JMenu menu2=new JMenu("帮助");。

JMenuItem mi1=new JMenuItem("初级");。

JMenuItem mi2 = new JMenuItem("中级");。

JMenuItem mi3 =new JMenuItem("高级");。

mi1.addActionListener(this);。

menu1.add(mi1);。

mi2.addActionListener(this);。

menu1.add(mi2);。

mi3.addActionListener(this);。

menu1.add(mi3);。

menuBar.add(menu1);。

menuBar.add(menu2);。

p3.add(menuBar);。

b1=new JLabel(bon+"");。

a1=new int[bon];。

btn =new JButton("开始");。

btn.addActionListener(this);。

b2=new JLabel("0");。

b3=new JLabel("");。

btns=new JButton[row*col];。

p=new JPanel();。

p.setLayout(new BorderLayout());。

contentPane.add(p);。

p.add(p3,BorderLayout.NORTH);。

//combo=new JComboBox(new Object[]{"初级","中级","高级"} );。

//加监听

/*combo.addItemListener(new ItemListener(){ 。

}});*/

p1=new JPanel();。

//在那个位置

//(( FlowLayout)p1.getLayout()).setAlignment( FlowLayout.RIGHT);。

p1.add(b1);

p1.add(btn);

p1.add(b2);

p1.add(b3);

p.add(p3,BorderLayout.NORTH);。

p.add(p1,BorderLayout.CENTER);。

p2=new JPanel();。

p2.setLayout(new GridLayout(row,col,0,0));。

for(int i=0;i<row*col;i++){。

btns[i]=new JButton("");。

btns[i].setMargin(new Insets(0,0,0,0));。

btns[i].setFont(new Font(null,Font.BOLD,25));。

btns[i].addActionListener(this);。

btns[i].addMouseListener(new NormoreMouseEvent());。

p2.add(btns[i]);。

}

contentPane.add(p,BorderLayout.NORTH);。

contentPane.add(p2,BorderLayout.CENTER); 。

}

public void go(){ 。

setVisible(true);。

}

public static void main(String[] args){。

new ScanLei1("扫雷").go(); 。

}

public void out(int[][] a,JButton[] btns,ActionEvent e,int i,int x,int y){。

int p=1;。

if(a[x][y]==0){。

a[x][y]=10;。

btns[i].setEnabled(false); //33 。

for(int l=y-1;l<=y+1;l++){。

int m=x-1-1;。

int n=l-1;。

p=1;

System.out.println(a[1][2]);。

if(n>-1&&n<col&&m>-1&&m<row)。

{

for(int q=0;q<row&&p==1;q++){//col-->row;。

if(((n+col*q)>=(m*col))&&((n+col*q)<(m+1)*col)){。

if(a[x-1][l]!=0&&a[x-1][l]!=10){。

btns[n+col*q].setText(a[x-1][l]+"");。

a[x-1][l]=10;。

btns[n+col*q].setEnabled(false);。

}。

else if(a[x-1][l]==0){。

//a[x-1][l]=10;。

btns[n+col*q].setEnabled(false);。

out(a,btns,e,n+col*q,x-1,l); ////55////。

a[x-1][l]=10;。

btns[n+col*q].setEnabled(false);。

}。

p=0;。

}

}

}

p=1;

m=x;

if(n>-1&&n<col&&m>-1&&m<col)。

{

for(int q=0;q<row&&p==1;q++){。

if(((n+col*q)>=(m*col))&&((n+col*q)<(m+1)*col)){。

if(a[x+1][l]!=0&&a[x+1][l]!=10){。

btns[n+col*q].setText(a[x+1][l]+"");。

a[x+1][l]=10;。

btns[n+col*q].setEnabled(false);。

}

else if(a[x+1][l]==0){。

out(a,btns,e,n+col*q,x+1,l);///55//// 。

a[x+1][l]=10;。

btns[n+col*q].setEnabled(false);。

}

p=0;

}

}

}

}

int m=x-1;。

int n=y-1-1;。

p=1;。

if(n>-1&&n<col&&m>-1&&m<col)。

{

for(int q=0;q<row&&p==1;q++){。

if(((n+col*q)>=(m*col))&&((n+col*q)<(m+1)*col)){。

if(a[x][y-1]!=0&&a[x][y-1]!=10){。

btns[n+col*q].setText(a[x][y-1]+"");。

a[x][y-1]=10;。

btns[n+col*q].setEnabled(false);。

}

else if(a[x][y-1]==0){。

out(a,btns,e,n+col*q,x,y-1);。

a[x][y-1]=10;。

btns[n+col*q].setEnabled(false);。

}

p=0;

}

}

}

p=1;。

m=x-1;。

n=y+1-1;。

if(n>-1&&n<col&&m>-1&&m<col)。

{

for(int q=0;q<row&&p==1;q++){。

if(((n+col*q)>=(m*col))&&((n+col*q)<(m+1)*col)){。

if(a[x][y+1]!=0&&a[x][y+1]!=10){。

btns[n+col*q].setText(a[x][y+1]+"");。

a[x][y+1]=10;。

btns[n+col*q].setEnabled(false);。

}

else if(a[x][y+1]==0){。

out(a,btns,e,n+col*q,x,y+1); 。

a[x][y+1]=10;。

btns[n+col*q].setEnabled(false);。

}

p=0;

}

}

}

}

}

public void actionPerformed(ActionEvent e) {。

if(e.getActionCommand()=="初级"){。

row=9;

col=9;

bon=10;

a1=new int[bon];。

b=bon;

//setSize(297,377);。

a = new int[row+2][col+2];。

this.remove(p2);。

timer.stop();。

b1.setText("10");。

b2.setText("0");。

b3.setText("");。

btns=new JButton[row*col];。

p2=new JPanel();。

p2.setLayout(new GridLayout(row,col,0,0));。

for(int i=0;i<row*col;i++){。

btns[i]=new JButton(" ");。

btns[i].setMargin(new Insets(0,0,0,0));。

btns[i].setFont(new Font(null,Font.BOLD,25));。

btns[i].addActionListener(this);。

btns[i].addMouseListener(new NormoreMouseEvent());。

p2.add(btns[i]);。

}

contentPane.add(p2,BorderLayout.CENTER);。

//setSize(297,377);。

this.pack();。

for(int i=0;i<row*col;i++){。

btns[i].setText(" ");。

btns[i].setEnabled(true);。

}

for(int i=0;i<row+2;i++){。

for(int j=0;j<col+2;j++){。

a[i][j]=0;。

}

}

}else if(e.getActionCommand()=="中级"){。

row=16;

col=16;

bon=40;

//setSize(33*col,33*row+80);。

a1=new int[bon];。

a = new int[row+2][col+2];。

b=bon;

this.remove(p2);。

timer.stop();。

b1.setText("40");。

b2.setText("0");。

b3.setText("");。

btns=new JButton[row*col];。

p2=new JPanel();。

p2.setLayout(new GridLayout(row,col,0,0));。

for(int i=0;i<row*col;i++){。

btns[i]=new JButton(" ");。

btns[i].setMargin(new Insets(0,0,0,0));。

btns[i].setFont(new Font(null,Font.BOLD,25));。

btns[i].addActionListener(this);。

btns[i].addMouseListener(new NormoreMouseEvent());。

p2.add(btns[i]);。

}

contentPane.add(p2,BorderLayout.CENTER);。

this.pack();。

//setSize(33*col,33*row+80);。

for(int i=0;i<row*col;i++){。

btns[i].setText("");。

btns[i].setEnabled(true);。

}

for(int i=0;i<row+2;i++){。

for(int j=0;j<col+2;j++){。

a[i][j]=0;。

}

}

}else if(e.getActionCommand()=="高级"){。

row=16;

col=32;

bon=99;

setSize(33*col,33*row+80);。

a1=new int[bon];。

a = new int[row+2][col+2];。

b=bon;

this.remove(p2);。

timer.stop();。

b1.setText("99");。

b2.setText("0");。

b3.setText("");。

btns=new JButton[row*col];。

p2=new JPanel();。

p2.setLayout(new GridLayout(row,col,0,0));。

for(int i=0;i<row*col;i++){。

btns[i]=new JButton(" ");。

btns[i].setMargin(new Insets(0,0,0,0));。

btns[i].setFont(new Font(null,Font.BOLD,25));。

btns[i].addActionListener(this);。

btns[i].addMouseListener(new NormoreMouseEvent());。

p2.add(btns[i]);。

}

contentPane.add(p2,BorderLayout.CENTER);。

//setSize(33*col,33*row+80);。

this.pack();。

for(int i=0;i<row*col;i++){。

btns[i].setText("");。

btns[i].setEnabled(true);。

}

for(int i=0;i<row+2;i++){。

for(int j=0;j<col+2;j++){。

a[i][j]=0;。

}

}

}

if(e.getSource()==btn){。

timer.start();。

b=bon;

b3.setText("");。

//System.out.println(bon);。

//清空

for(int i=0;i<row*col;i++){。

btns[i].setText("");。

btns[i].setEnabled(true);。

}

for(int i=0;i<row+2;i++){。

for(int j=0;j<col+2;j++){。

a[i][j]=0;。

}

}

//产生随机数

for(int i=0;i<bon;i++)。

{ int p=1;。

int m=(int)(Math.random()*row*col);。

while(p==1){。

int l=1;。

int j;

for( j=0;j<i&&l==1;j++){。

if(a1[j]==m){。

m=(int)(Math.random()*row*col); 。

l=0;。

}

}

if(j==i){

a1[i]=m;

p=0;

}

}

}

b1.setText(bon+"");。

b2.setText("0"); 。

//布雷

for(int i=0;i<bon;i++){ 。

int x=(a1[i]/col+1);。

int y=(a1[i]%col+1);。

a[x][y]=100;。

}

for(int i=0;i<row+2;i++){。

for(int j=0;j<col+2;j++){。

if(i==0||j==0||i==row+1||j==col+1){。

a[i][j]=0; 。

}

}

}

for(int i=1;i<=row;i++){。

for(int j=1;j<=col;j++){。

if(a[i][j]!=100){。

for(int l=j-1;l<=j+1;l++){。

if(a[i-1][l]==100){。

a[i][j]++;。

}

if(a[i+1][l]==100){。

a[i][j]++;。

}

}

if(a[i][j-1]==100){。

a[i][j]++;。

}

if(a[i][j+1]==100){。

a[i][j]++;。

}

}

}

}

}

if(e.getSource()==timer)。

{

String time=b2.getText().trim();。

int t=Integer.parseInt(time);。

//System.out.println(t);。

if(t>=600){。

timer.stop();。

}else{

t++;

b2.setText(t+"");。

}

}

for(int i=0;i<col*row;i++){。

if(btns[i].getText()!="★")。

{

int x=i/col+1;。

int y=i%col+1;。

if(e.getSource()==btns[i]&&a[x][y]==100){。

btns[i].setText("★");。

btns[i].setEnabled(false);。

a[x][y]=10;。

for(int k=0;k<col*row;k++){。

int m1=k/col+1;。

int n1=k%col+1;。

if(a[m1][n1]!=10&&btns[k].getText()=="★"){。

btns[k].setText("*o*");。

}

}

for(int j=0;j<col*row;j++){。

int m=j/col+1;。

int n=j%col+1;。

if(a[m][n]==100){。

btns[j].setText("★");。

btns[j].setEnabled(false); 。

b3.setText("你输了 !!");。

}

btns[j].setEnabled(false);。

a[m][n]=10;。

}

timer.stop(); 。

}

else if(e.getSource()==btns[i]){。

if(a[x][y]==0){。

out(a,btns,e,i,x,y);。

a[x][y]=10;。

btns[i].setEnabled(false); 。

}

if(a[x][y]!=0&&a[x][y]!=10){。

btns[i].setText(a[x][y]+"");。

btns[i].setEnabled(false);。

a[x][y]=10;。

}

}

}else if(btns[i].getText()=="★"){。

}

}

}

class NormoreMouseEvent extends MouseAdapter{。

public void mouseClicked(MouseEvent e) {。

System.out.println(b);。

for(int i=0;i<col*row;i++){。

int x1=i/col+1;。

int y1=i%col+1;。

if(e.getSource()==btns[i]&&btns[i].getText()!="★"&&a[x1][y1]!=10)。

{

if(e.getButton()==MouseEvent.BUTTON3){。

btns[i].setText("★");。

b--;

if(b==0){。

int flag=0;。

for(int j=0;j<col*row;j++){。

int x=j/col+1;。

int y=j%col+1;。

if(a[x][y]==100&&btns[j].getText()=="★"){。

flag++;。

}

}

if(flag==bon){。

timer.stop();。

b3.setText("你赢了!");。

}

}

b1.setText(b+"");。

}

}else if(e.getSource()==btns[i]&&btns[i].getText()=="★"&&a[x1][y1]!=-1){。

if(e.getButton()==MouseEvent.BUTTON3){。

btns[i].setText("");。

b++;

if(b>bon){。

b1.setText(bon+""); 。

}

else{

b1.setText(b+"");。

} 。

btns[i].setEnabled(true);。

}

}

}

}

}

java布局的问题,急~~!!

import java.awt.*;。

import java.awt.event.MouseEvent;。

import java.awt.event.MouseListener;。

import java.awt.event.WindowAdapter;。

import java.awt.event.WindowEvent;。

public class design extends Frame {。

private String title = "笑脸";。

design() {

this.setTitle("变脸小程序");。

}

public void paint(Graphics g) {。

g.drawArc(100, 200, 100, 60, 0, 180);。

g.drawArc(260, 200, 100, 60, 0, 180);。

if (!title.equals("笑脸")) {。

g.drawArc(180, 260, 100, 60, 0, -180); // 画弧---嘴巴。

title = "笑脸";。

} else {

g.drawArc(180, 260, 100, 60, 0, 180); // 画弧---嘴巴。

title = "哭脸";。

}

g.drawString(title, 80, 100);。

g.drawOval(80, 100, 300, 300);。

}

public static void main(String args[]) {。

design D = new design();。

D.setSize(new Dimension(500, 500));。

D.addWindowListener(new WindowAdapter() {。

public void windowClosing(WindowEvent e) {。

System.exit(0);。

}

});

D.addMouseListener(new MouseClick(D));。

D.setVisible(true);。

}

class MouseClick implements MouseListener {// 实现鼠标监听事件。

private design d;。

public MouseClick() {。

}

public MouseClick(design d) {。

this.d = d;

}

public void mouseClicked(MouseEvent e) {// 这这里做鼠标单机处理。

// TODO Auto-generated method stub。

if (d != null) {。

d.repaint();。

}

}

public void mouseEntered(MouseEvent e) {。

// TODO Auto-generated method stub。

}

public void mouseExited(MouseEvent e) {。

// TODO Auto-generated method stub。

}

public void mousePressed(MouseEvent e) {。

// TODO Auto-generated method stub。

}

public void mouseReleased(MouseEvent e) {。

// TODO Auto-generated method stub。

}

已经做好了,顺便帮你调整一下格式。

原文地址:http://www.qianchusai.com/mouselistener-80.html

妈妈有爱心的事例,妈妈有爱心的事例写两点

妈妈有爱心的事例,妈妈有爱心的事例写两点

vmess转ssr

vmess转ssr

关于追梦的人物素材,关于追梦的人物素材布罗迪

关于追梦的人物素材,关于追梦的人物素材布罗迪

perspicuous,perspicuously illustrated

perspicuous,perspicuously illustrated

我和妹妹争东西作文,我和妹妹争东西作文怎么写

我和妹妹争东西作文,我和妹妹争东西作文怎么写

小青蛙怎么样它繁殖

小青蛙怎么样它繁殖

language-30

language-30

关于大学生的搞笑段子,关于大学生的搞笑段子视频

关于大学生的搞笑段子,关于大学生的搞笑段子视频

烧过的房子描写,烧过的房子还能住吗

烧过的房子描写,烧过的房子还能住吗

小猪唏哩呼噜的宝贝读后的收获

小猪唏哩呼噜的宝贝读后的收获