精华内容
下载资源
问答
  • 我无法为我正在处理的这段示例代码添加一个启动和停止按钮 . 我敢肯定我必须在游戏课上混淆 Thread.sleep(10); . 该代码在程序运行时启动游戏 . 有没有办法我可以添加启动按钮来启动线程 . 我已经创建了j按钮 . ...

    我是一名新编码员 . 我无法为我正在处理的这段示例代码添加一个启动和停止按钮 . 我敢肯定我必须在游戏课上混淆 Thread.sleep(10); . 该代码在程序运行时启动游戏 . 有没有办法我可以添加启动按钮来启动线程 . 我已经创建了j按钮 . 谢谢 .

    游戏类

    import java.awt.Graphics;

    import java.awt.Graphics2D;

    import java.awt.RenderingHints;

    import java.awt.event.KeyEvent;

    import java.awt.event.KeyListener;

    import javax.swing.JFrame;

    import javax.swing.JOptionPane;

    import javax.swing.JPanel;

    @SuppressWarnings("serial")

    public class Game extends JPanel {

    Ball ball = new Ball(this);

    Racquet racquet = new Racquet(this);

    public Game() {

    addKeyListener(new KeyListener() {

    @Override

    public void keyTyped(KeyEvent e) {

    }

    @Override

    public void keyReleased(KeyEvent e) {

    racquet.keyReleased(e);

    }

    @Override

    public void keyPressed(KeyEvent e) {

    racquet.keyPressed(e);

    }

    });

    setFocusable(true);

    }

    private void move() {

    ball.move();

    racquet.move();

    }

    @Override

    public void paint(Graphics g) {

    super.paint(g);

    Graphics2D g2d = (Graphics2D) g;

    g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,

    RenderingHints.VALUE_ANTIALIAS_ON);

    ball.paint(g2d);

    racquet.paint(g2d);

    }

    public void gameOver() {

    JOptionPane.showMessageDialog(this, "Game Over", "Game Over", JOptionPane.YES_NO_OPTION);

    System.exit(ABORT);

    }

    public static void main(String[] args) throws InterruptedException {

    JFrame frame = new JFrame("Mini Tennis");

    Game game = new Game();

    frame.add(game);

    frame.setSize(300, 400);

    frame.setVisible(true);

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    while (true) {

    game.move();

    game.repaint();

    Thread.sleep(10);

    }

    }

    }

    球类

    import java.awt.Graphics2D;

    import java.awt.Rectangle;

    public class Ball {

    private static final int DIAMETER = 30;

    int x = 0;

    int y = 0;

    int xa = 1;

    int ya = 1;

    private Game game;

    public Ball(Game game) {

    this.game= game;

    }

    void move() {

    if (x + xa < 0)

    xa = 1;

    if (x + xa > game.getWidth() - DIAMETER)

    xa = -1;

    if (y + ya < 0)

    ya = 1;

    if (y + ya > game.getHeight() - DIAMETER)

    game.gameOver();

    if (collision()){

    ya = -1;

    y = game.racquet.getTopY() - DIAMETER;

    }

    x = x + xa;

    y = y + ya;

    }

    private boolean collision() {

    return game.racquet.getBounds().intersects(getBounds());

    }

    public void paint(Graphics2D g) {

    g.fillOval(x, y, DIAMETER, DIAMETER);

    }

    public Rectangle getBounds() {

    return new Rectangle(x, y, DIAMETER, DIAMETER);

    }

    }

    球拍类

    import java.awt.Graphics2D;

    import java.awt.Rectangle;

    import java.awt.event.KeyEvent;

    public class Racquet {

    private static final int Y = 330;

    private static final int WIDTH = 60;

    private static final int HEIGHT = 10;

    int x = 0;

    int xa = 0;

    private Game game;

    public Racquet(Game game) {

    this.game = game;

    }

    public void move() {

    if (x + xa > 0 && x + xa < game.getWidth() - WIDTH)

    x = x + xa;

    }

    public void paint(Graphics2D g) {

    g.fillRect(x, Y, WIDTH, HEIGHT);

    }

    public void keyReleased(KeyEvent e) {

    xa = 0;

    }

    public void keyPressed(KeyEvent e) {

    if (e.getKeyCode() == KeyEvent.VK_LEFT)

    xa = -1;

    if (e.getKeyCode() == KeyEvent.VK_RIGHT)

    xa = 1;

    }

    public Rectangle getBounds() {

    return new Rectangle(x, Y, WIDTH, HEIGHT);

    }

    public int getTopY() {

    return Y;

    }

    }

    展开全文
  • importjava.awt.Dimension;importjava.awt.FlowLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;import...package dictionary;import j...

    packagedictionary;importjava.awt.Dimension;importjava.awt.FlowLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;import...

    package dictionary;

    import java.awt.Dimension;

    import java.awt.FlowLayout;

    import java.awt.event.ActionEvent;

    import java.awt.event.ActionListener;

    import javax.swing.JButton;

    import javax.swing.JFrame;

    import javax.swing.JLabel;

    import javax.swing.JOptionPane;

    import javax.swing.JTextField;

    public class yingyu extends JFrame implements ActionListener{

    private JTextField word;

    private JLabel label;

    private JButton next;

    private int index = 0;

    private String[] words;

    private int score = 0;

    public yingyu(){

    words = new String[] {"苹果", "香蕉", "狗", "猫", "水"};

    word = new JTextField();

    Dimension size = new Dimension(60, 30);

    word.setPreferredSize(size );

    label = new JLabel(words[0]);

    next = new JButton("下一道");

    next.addActionListener(this);

    this.setLayout(new FlowLayout(FlowLayout.CENTER, 3, 3));

    this.add(label);

    this.add(word);

    this.add(next);

    this.setBounds(100, 100, 300, 300);

    this.setVisible(true);

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

    new yingyu();

    }

    public void reload(){

    label.setText(words[index]);

    repaint();

    }

    展开

    展开全文
  • import javax.swing.*;import java.awt.*;import java.awt.event.*;public classA extends JFrame implements FocusListener{JButton jbn[]=new ...JButton jbn14=new JButton("重新开始");publicA(){jbn[0]=ne...

    import javax.swing.*;

    import java.awt.*;

    import java.awt.event.*;public classA extends JFrame implements FocusListener{

    JButton jbn[]=new JButton[14];

    JButton jbn14=new JButton("重新开始");publicA(){

    jbn[0]=new JButton("周");

    jbn[1]=new JButton("曹操");

    jbn[2]=new JButton("黄");

    jbn[3]=new JButton("张");

    jbn[4]=new JButton("关羽");

    jbn[5]=new JButton("刘");

    jbn[6]=new JButton("兵");

    jbn[7]=new JButton("兵");

    jbn[8]=new JButton("兵");

    jbn[9]=new JButton("兵");

    jbn[10]=newJButton();

    jbn[11]=newJButton();

    jbn[12]=newJButton();

    jbn[13]=newJButton();

    Container cn=getContentPane();

    cn.setLayout(null);

    jbn[10].setBounds(50,290,200,5);

    cn.add(jbn[10]);

    jbn[11].setBounds(45,35,210,5);

    cn.add(jbn[11]);

    jbn[12].setBounds(45,40,5,255);

    cn.add(jbn[12]);

    jbn[13].setBounds(250,40,5,255);

    cn.add(jbn[13]);

    jbn[0].setBounds(50,40,50,100);

    cn.add(jbn[0]);

    jbn[1].setBounds(100,40,100,100);

    cn.add(jbn[1]);

    jbn[2].setBounds(200,40,50,100);

    cn.add(jbn[2]);

    jbn[3].setBounds(50,140,50,100);

    cn.add(jbn[3]);

    jbn[4].setBounds(100,140,100,50);

    cn.add(jbn[4]);

    jbn[5].setBounds(200,140,50,100);

    cn.add(jbn[5]);

    jbn[6].setBounds(100,190,50,50);

    cn.add(jbn[6]);

    jbn[7].setBounds(150,190,50,50);

    cn.add(jbn[7]);

    jbn[8].setBounds(50,240,50,50);

    cn.add(jbn[8]);

    jbn[9].setBounds(200,240,50,50);

    cn.add(jbn[9]);

    jbn14.setBounds(100,320,100,20);

    cn.add(jbn14);for(int i=0;i<10;i++){

    jbn[i].setBackground(new Color(255,245,170));

    jbn[i].addFocusListener(this);

    }for(int i=0;i

    jbn[i].addKeyListener(newKeyAdapter(){public voidkeyPressed(KeyEvent e){

    JButton jbntemp=(JButton)e.getSource();

    Rectangle r=jbntemp.getBounds();int x=r.x;int y=r.y;int z=0;if (e.getKeyCode()==KeyEvent.VK_UP){for(int j=0;j

    Rectangle c=jbn[j].getBounds();if(c!=r){

    r.setLocation(x,y-50);if(r.intersects(c)){

    z=1;break;

    }

    }

    }if(z==0)

    jbntemp.setLocation(x,y-50);

    }if (e.getKeyCode()==KeyEvent.VK_DOWN){for(int j=0;j

    Rectangle c=jbn[j].getBounds();if(c!=r){

    r.setLocation(x,y+50);if(r.intersects(c)){

    z=1;break;

    }

    }

    }if(z==0)

    jbntemp.setLocation(x,y+50);

    }if (e.getKeyCode()==KeyEvent.VK_LEFT){for(int j=0;j

    Rectangle c=jbn[j].getBounds();if(c!=r){

    r.setLocation(x-50,y);if(r.intersects(c)){

    z=1;break;

    }

    }

    }if(z==0)

    jbntemp.setLocation(x-50,y);

    }if (e.getKeyCode()==KeyEvent.VK_RIGHT){for(int j=0;j

    Rectangle c=jbn[j].getBounds();if(c!=r){

    r.setLocation(x+50,y);if(r.intersects(c)){

    z=1;break;

    }

    }

    }if(z==0)

    jbntemp.setLocation(x+50,y);

    }

    }

    });

    }

    jbn14.addActionListener(newActionListener(){public voidactionPerformed(ActionEvent e){

    jbn[10].setBounds(50,290,200,5);

    cn.add(jbn[10]);

    jbn[11].setBounds(45,35,210,5);

    cn.add(jbn[11]);

    jbn[12].setBounds(45,40,5,255);

    cn.add(jbn[12]);

    jbn[13].setBounds(250,40,5,255);

    cn.add(jbn[13]);

    jbn[0].setBounds(50,40,50,100);

    cn.add(jbn[0]);

    jbn[1].setBounds(100,40,100,100);

    cn.add(jbn[1]);

    jbn[2].setBounds(200,40,50,100);

    cn.add(jbn[2]);

    jbn[3].setBounds(50,140,50,100);

    cn.add(jbn[3]);

    jbn[4].setBounds(100,140,100,50);

    cn.add(jbn[4]);

    jbn[5].setBounds(200,140,50,100);

    cn.add(jbn[5]);

    jbn[6].setBounds(100,190,50,50);

    cn.add(jbn[6]);

    jbn[7].setBounds(150,190,50,50);

    cn.add(jbn[7]);

    jbn[8].setBounds(50,240,50,50);

    cn.add(jbn[8]);

    jbn[9].setBounds(200,240,50,50);

    cn.add(jbn[9]);

    }

    });

    setSize(300,400);

    setVisible(true);

    validate();

    }public voidfocusGained(FocusEvent e)

    {

    ((JButton)e.getSource()).setBackground(Color.red);

    }public voidfocusLost(FocusEvent e)

    {

    ((JButton)e.getSource()).setBackground(new Color(255,245,170));

    }public static voidmain(String args[]){

    A a=newA();

    }

    }

    展开全文
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼blockType = (int) (Math.random() * 1000) % 7;turnState = (int) (Math.random() * 1000) % 4;x = 4;y = 0;if (crash(x, y, blockType, turnState) == 0) {JOptionPane...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

    blockType = (int) (Math.random() * 1000) % 7;

    turnState = (int) (Math.random() * 1000) % 4;

    x = 4;

    y = 0;

    if (crash(x, y, blockType, turnState) == 0) {

    JOptionPane.showMessageDialog(null, "GAME OVER");

    newGame();

    }

    }

    // 初始化地图

    private void newGame() {

    score = 0;

    for (int i = 0; i < 12; i++) {

    for (int j = 0; j < 22; j++) {

    map[i][j] = 0;

    map[11][j] = map[0][j] = 3;

    }

    map[i][21] = 3;

    }

    }

    // 旋转的方法

    private void turn() {

    turnState = (crash(x, y, blockType, (turnState + 1) % 4) + turnState) % 4;

    repaint();

    }

    // 左移的方法

    private void left() {

    x -= crash(x - 1, y, blockType, turnState);

    repaint();

    }

    // 右移的方法

    private void right() {

    x += crash(x + 1, y, blockType, turnState);

    repaint();

    }

    // 下落的方法

    private void down() {

    y += crash(x, y + 1, blockType, turnState);

    if (crash(x, y + 1, blockType, turnState) == 0) {

    add(x, y, blockType, turnState);

    nextBlock();

    }

    repaint();

    }

    // 是否碰撞的方法

    private int crash(int x, int y, int blockType, int turnState) {

    for (int a = 0; a < 4; a++) {

    for (int b = 0; b < 4; b++) {

    if ((shapes[blockType][turnState][a * 4 + b] & map[x + b + 1][y

    + a]) == 1) {

    return 0;

    }

    }

    }

    return 1;

    }

    // 尝试消行的方法

    private void tryDelLine() {

    for (int b = 0; b < 21; b++) {

    int c = 1;

    for (int a = 0; a < 12; a++) {

    c &= map[a][b];

    }

    if (c == 1) {

    score += 10;

    for (int d = b; d > 0; d--) {

    for (int e = 0; e < 11; e++) {

    map[e][d] = map[e][d - 1];

    }

    }

    }

    }

    }

    // 把当前添加map

    private void add(int x, int y, int blockType, int turnState) {

    for (int a = 0; a < 4; a++) {

    for (int b = 0; b < 4; b++) {

    map[x + b + 1][y + a] |= shapes[blockType][turnState][a * 4 + b];

    }

    }

    tryDelLine();

    }

    // 画方块的的方法

    public void paintComponent(Graphics g) {

    super.paintComponent(g);

    // 画当前方块

    for (int j = 0; j < 16; j++) {

    if (shapes[blockType][turnState][j] == 1) {

    g.fillRect((j % 4 + x + 1) * 10, (j / 4 + y) * 10, 10, 10);

    }

    }

    // 画已经固定的方块

    for (int j = 0; j < 22; j++) {

    for (int i = 0; i < 12; i++) {

    if (map[i][j] == 1) {

    g.fillRect(i * 10, j * 10, 10, 10);

    } else if (map[i][j] == 3) {

    g.drawRect(i * 10, j * 10, 10, 10);

    }

    }

    }

    g.drawString("score=" + score, 125, 10);

    g.drawString("抵制不良游戏,", 125, 50);

    g.drawString("拒绝盗版游戏。", 125, 70);

    g.drawString("注意自我保护,", 125, 90);

    g.drawString("谨防受骗上当。", 125, 110);

    g.drawString("适度游戏益脑,", 125, 130);

    g.drawString("沉迷游戏伤身。", 125, 150);

    g.drawString("合理安排时间,", 125, 170);

    g.drawString("享受健康生活。", 125, 190);

    }

    // 定时器监听和键盘监听

    class TimerListener extends KeyAdapter implements ActionListener {

    public void actionPerformed(ActionEvent e) {

    down();

    }

    public void keyPressed(KeyEvent e) {

    switch (e.getKeyCode()) {

    case KeyEvent.VK_DOWN:

    down();

    break;

    case KeyEvent.VK_UP:

    turn();

    break;

    case KeyEvent.VK_RIGHT:

    right();

    break;

    case KeyEvent.VK_LEFT:

    left();

    }

    }

    }

    }

    这是后面的

    展开全文
  • 展开全部第一个窗体LoginFrame.java:package winRelation;import java.awt.Dimension;import java.awt.Rectangle;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing....
  • 解决Java按钮与当前内容的焦点问题

    千次阅读 2016-11-25 11:12:13
    如果是通过按钮来实现对蛇的控制,那么肯定会出现“蛇不能移动”的问题,因为当你点了按钮后,焦点就停留在按钮上,要将焦点聚焦在蛇上,那么就要 重新获取焦点 requestFocus(true),当开始游戏的时候就 重新获取...
  • 猜数游戏: 该程序随机在1到1000的范围中选择一个供用户猜测的整数。 界面上提供一个文本框来接收用户输入的猜测...点击重新开始按钮可以重新开始这个游戏。 点击退出按钮可以退出。 在界面上还需显示用户猜测的次数。
  • 1,这个是我的主类MainActivity,里面根据id添加了一个重玩按钮,我想实现点击按钮的时候重新开始游戏(没开通博客无法上传照片,我就发代码了)////////////MainActivity.java代码:public class MainActivity ...
  • 代码如下,所以步骤是:当用户pres开始录制按钮时,开始录制并调用fightTimer.start()方法。它调用timer.start()方法开始运行线程。 timer是fightTimer内部的线程对象当用户点击停止按钮时,调用stopTimer方法stop()...
  • 并且随机数 有对应的 中文 如生成随机数 1 后面跟着“壹”字 接下去再生成的随机数不重复 按重置按钮重新开始生成我要代码 代码 不要说明 那个我也会说1个回答分类:综合2014-09-25问题解答:我来补答importjava....
  • 目录简介成品视频实现思路界面实现分为了三块棋盘抽象类按钮组抽象类棋子绘制接口棋盘界面实现棋子的实现按钮组的实现监听工厂和监听类棋盘绘制类的实现开始游戏实现停止游戏实现游戏抽象类游戏实现类可走路线和吃棋...
  • 因此我开始进入OOP,也开始学习秋千库,但是遇到了麻烦。 当我尝试删除所有JFrame组件时,它不起作用。 我想做的是,当用户单击一个按钮时,我必须删除所有JFrame组件并添加新的组件,但是尽管我使用了removeAll()...
  • java源码包---java 源码 大量 实例

    千次下载 热门讨论 2013-04-18 23:15:26
    Java圆形按钮实例代码,含注释 两个目标文件,自绘button。 Java圆形电子时钟源代码 1个目标文件 内容索引:JAVA源码,系统相关,电子钟  用JAVA编写的指针式圆形电子钟,效果图如下所示,其实代码很简单,希望对你有...
  • Java实现华容道游戏

    2019-06-05 17:05:12
    Java实现华容道游戏,大学Java课的期末实验要求。1、本程序主要练习使用布局管理器设计一个华容道游戏界面并练习使用事件监听...对重新开始按钮定义动作事件(ActionEvent)完成界面初始化功能也就是各人物按钮重新归位。
  • java五子棋

    2020-04-22 09:44:17
    建立UI(棋盘(1818/间距50则12001000)+开始/重新开始按钮) 下棋(确定位置、画出棋子、记录所下位置) 判断胜负、游戏结束、再来一局 二、实现思路 主类:Practice 建立UI:利用Swing 疑问:在创建界面、设置...
  • Java五子棋功能要求:1....添加重新开始,悔棋,退出按钮功能image.png导入的五子棋棋盘图片image.png完整代码import java.awt.BorderLayout;import java.awt.Color;import java.awt.Cursor;import java.awt.F...
  • (所有功能实现之后我重新写了一个开始界面,这里就只介绍主要的实现步骤了)1.游戏界面的实现思路是:定义一个JFrame窗体,在定义一个JPanel面板,在JPanel面板上添加对应的功能按钮,然后再将JPanel面板固定在JFrame...
  • 按下“开始游戏”按钮后,我们才可以下棋,同时选定“人机对战”或“玩家对战”的下拉框被锁定,直到“重新开始按钮按下。2.按下悔棋按钮,实现:如果是“玩家对战”,悔一个棋子。如果是“人...
  • java源码包2

    千次下载 热门讨论 2013-04-20 11:28:17
    Java圆形按钮实例代码,含注释 两个目标文件,自绘button。 Java圆形电子时钟源代码 1个目标文件 内容索引:JAVA源码,系统相关,电子钟  用JAVA编写的指针式圆形电子钟,效果图如下所示,其实代码很简单,希望对...
  • 这个小游戏是我和我姐们儿的JAVA课程设计,也是我做...3、重新开始功能的实现。4、悔棋功能的实现。5、退出功能的实现。6、棋盘中棋子点类的定义。7、利用MouseListener接口实现事件监听,并实现接口里的所有方法。...
  • Java五子棋功能要求:1....添加重新开始,悔棋,退出按钮功能image.png导入的五子棋棋盘图片image.png完整代码import java.awt.BorderLayout;import java.awt.Color;import java.awt.Cursor;import java.awt.F...
  • 今天比较闲,自己写了个简单的抽奖程序,很久没有用swing...点击“重置”按钮,人员信息重置为初始化的,又可以开始重新抽奖。4.需要修改人员信息的,在LuckyFrame.java中修改getPerson方法中的人员初始化方法。/**...
  • java源码包3

    千次下载 热门讨论 2013-04-20 11:30:13
    Java圆形按钮实例代码,含注释 两个目标文件,自绘button。 Java圆形电子时钟源代码 1个目标文件 内容索引:JAVA源码,系统相关,电子钟  用JAVA编写的指针式圆形电子钟,效果图如下所示,其实代码很简单,希望对...
  • 对于开发人员来说,电脑的性能很重要,所以换了Mac后需要重新配置开发环境,网上对Windows系统的Java环境配置有很多,所以,这里就不多介绍。现在记录一下在Mac电脑上的Java环境配置。众所周知,Java开发需要安装JDK...
  • Button b1=new Button("重新开始"); Button b2=new Button("暂停"); Button b3=new Button("继续"); public Movement() { p.add(b1);p.add(b2);p.add(b3); f.add(p,"South"); b1.addActionListener...
  • 对于开发人员来说,电脑的性能很重要,所以换了Mac后需要重新配置开发环境,网上对Windows系统的Java环境配置有很多,所以,这里就不多介绍。现在记录一下在Mac电脑上的Java环境配置。众所周知,Java开发需要安装JDK...
  • 点击重新开始按钮,可以将各个人物的位置重置。如果目的地的面积能够容得下当前要移动的人物,则认为可以移动。当曹操移动到“曹操到达该位置”的位置的时候,认为程序结束。本示例中,利用Java的图形技术和消息响应...
  • 对于开发人员来说,电脑的性能很重要,所以换了Mac后需要重新配置开发环境,网上对Windows系统的Java环境配置有很多,所以,这里就不多介绍。现在记录一下在Mac电脑上的Java环境配置。众所周知,Java开发需要安装JDK...
  • jre5会发生什么情况:屏幕开始变暗,按钮“前景”出现在调光面板的顶部(如预期的那样)。在jre6中,按钮完全不会出现,但您确实会得到调光。您可以通过将鼠标移动到其位置来强制该按钮(强制翻转以重新绘制它)。我可以...
  • 对于开发人员来说,电脑的性能很重要,所以换了Mac后需要重新配置开发环境,网上对Windows系统的Java环境配置有很多,所以,这里就不多介绍。现在记录一下在Mac电脑上的Java环境配置。众所周知,Java开发需要安装JDK...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 183
精华内容 73
关键字:

java按钮重新开始

java 订阅