关于javax=1的信息

博主:adminadmin 2022-12-19 05:21:06 55

今天给各位分享javax=1的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

javax和jakarta一样吗

javax和jakarta两者是不一样的。首先,javax是java的扩展包,因为后面的x是extension的意思,不过javax的用处和java是有着各有各的用处。而jakarta是开放源代码开发项目。

拓展资料:Java是一种受C语言影响的编程语言。Java和Javax本质上是与Java编程语言的上下文一起使用的包。实际上Java和Javax没有区别。这只是不同的名字。Java和Javax本质上是与Java编程语言的上下文一起使用的包。

参考资料:java javax 的区别_java与javax的区别分析

求一份java 贪吃蛇的代码

package games;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.util.*;

import static java.lang.Math.*;//静态导入

/*

* 此类是贪吃蛇的简单实现方法

* 自己可以加入在开始时的设置,比如

* 选关,初始的蛇的长度等等

*/

public class Snake extends JPanel {

private static final long serialVersionUID = 1L;

private Direction dir;// 要走的方向

private int blockWidth = 10;// 块大小

private int blockSpace = 2;// 块之间的间隔

private long sleepTime;// 重画的进间间隔

private MySnake my;

private int total;// 代表蛇的长度

private Rectangle food;// 代表蛇的食物

private volatile boolean go;

private int round;// 表示第几关

public Snake(JFrame jf) {

initOther();

// 为顶级窗口类JFrame添加事件处理函数

jf.addKeyListener(new KeyAdapter() {

public void keyReleased(KeyEvent ke) {

int code = ke.getKeyCode();

if (code == KeyEvent.VK_RIGHT) {

if (dir != Direction.WEST)

dir = Direction.EAST;

}

else if (code == KeyEvent.VK_LEFT) {

if (dir != Direction.EAST)

dir = Direction.WEST;

}

else if (code == KeyEvent.VK_UP) {

if (dir != Direction.SOUTH)

dir = Direction.NORTH;

}

else if (code == KeyEvent.VK_DOWN) {

if (dir != Direction.NORTH)

dir = Direction.SOUTH;

} else if (code == KeyEvent.VK_ENTER) {

if (!go)

initOther();

}

}

});

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

this.setVisible(true);

}

// 随机生成一个食物的位置

private void makeFood() {

int x = 40 + (int) (random() * 30) * 12;

int y = 10 + (int) (random() * 30) * 12;

food = new Rectangle(x, y, 10, 10);

}

// 做一些初始化的工作

private void initOther() {

dir = Direction.EAST;

sleepTime = 500;

my = new MySnake();

makeFood();

total = 3;

round = 1;

new Thread(new Runnable() {

public void run() {

go = true;

while (go) {

try {

Thread.sleep(sleepTime);

repaint();

} catch (Exception exe) {

exe.printStackTrace();

}

}

}

}).start();

}

// 处理多少关的函数

private void handleRound() {

if (total == 6) {

round = 2;

sleepTime = 300;

} else if (total == 10) {

round = 3;

sleepTime = 200;

} else if (total == 15) {

round = 4;

sleepTime = 100;

} else if (total == 18) {

round = 5;

sleepTime = 50;

} else if (total == 20) {

round = 6;

sleepTime = 20;

} else if (total 21) {

round = 7;

sleepTime = 15;

}

}

// 把自己的组件全部画出来

public void paintComponent(Graphics g) {

g.setColor(Color.PINK);

g.fillRect(0, 0, this.getWidth(), this.getHeight());

g.setColor(Color.BLACK);

g.drawRect(40, 10, 358, 360);

if (go) {

my.move();

my.draw(g);

g.setFont(new Font("黑体", Font.BOLD, 20));

g.drawString("您的得分:" + (total * 10) + " 第" + round + "关", 40,

400);

} else {

g.setFont(new Font("黑体", Font.BOLD, 20));

g.drawString("游戏结束,按回车(ENTER)键重玩!", 40, 440);

}

g.setColor(Color.RED);

g.fillRect(food.x, food.y, food.width, food.height);

}

private class MySnake {

private ArrayListRectangle list;

public MySnake() {

list = new ArrayListRectangle();

list.add(new Rectangle(160 + 24, 130, 10, 10));

list.add(new Rectangle(160 + 12, 130, 10, 10));

list.add(new Rectangle(160, 130, 10, 10));

}

// 蛇移动的方法

public void move() {

if (isDead()) {

go = false;

return;

}

if (dir == Direction.EAST) {

Rectangle rec = list.get(0);

Rectangle rec1 = new Rectangle(rec.x

+ (blockWidth + blockSpace), rec.y, rec.width,

rec.height);

list.add(0, rec1);

} else if (dir == Direction.WEST) {

Rectangle rec = list.get(0);

Rectangle rec1 = new Rectangle(rec.x

- (blockWidth + blockSpace), rec.y, rec.width,

rec.height);

list.add(0, rec1);

} else if (dir == Direction.NORTH) {

Rectangle rec = list.get(0);

Rectangle rec1 = new Rectangle(rec.x, rec.y

- (blockWidth + blockSpace), rec.width, rec.height);

list.add(0, rec1);

} else if (dir == Direction.SOUTH) {

Rectangle rec = list.get(0);

Rectangle rec1 = new Rectangle(rec.x, rec.y

+ (blockWidth + blockSpace), rec.width, rec.height);

list.add(0, rec1);

}

if (isEat()) {

handleRound();

makeFood();

} else {

list.remove(list.size() - 1);

}

}

// 判断是否吃到了食物

private boolean isEat() {

if (list.get(0).contains(food)) {

total++;

return true;

} else

return false;

}

// 判断是否死了,如果碰壁或者自己吃到自己都算死了

private boolean isDead() {

Rectangle temp = list.get(0);

if (dir == Direction.EAST) {

if (temp.x == 388)

return true;

else {

Rectangle comp = new Rectangle(temp.x + 12, temp.y, 10, 10);

for (Rectangle rec : list) {

if (rec.contains(comp))

return true;

}

}

return false;

} else if (dir == Direction.WEST) {

if (temp.x == 40)

return true;

else {

Rectangle comp = new Rectangle(temp.x - 12, temp.y, 10, 10);

for (Rectangle rec : list) {

if (rec.contains(comp))

return true;

}

}

return false;

} else if (dir == Direction.NORTH) {

if (temp.y == 10)

return true;

else {

Rectangle comp = new Rectangle(temp.x, temp.y - 12, 10, 10);

for (Rectangle rec : list) {

if (rec.contains(comp))

return true;

}

}

return false;

} else if (dir == Direction.SOUTH) {

if (temp.y == 358)

return true;

else {

Rectangle comp = new Rectangle(temp.x, temp.y + 12, 10, 10);

for (Rectangle rec : list) {

if (rec.contains(comp))

return true;

}

}

return false;

} else {

return false;

}

}

// 把自己画出来

public void draw(Graphics g) {

for (Rectangle rec : list) {

g.fillRect(rec.x, rec.y, rec.width, rec.height);

}

}

}

public static void main(String arsg[]) {

JFrame jf = new JFrame("贪吃蛇");

Snake s = new Snake(jf);

jf.getContentPane().add(s, BorderLayout.CENTER);

jf.setBounds(300, 300, 500, 500);

jf.setVisible(true);

jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

// 定义一个枚举,在此也可以用接口或者常量值代替

enum Direction {

EAST, SOUTH, WEST, NORTH;

}

求高手给我编译 java 点击一个按钮风扇就转的

上面的那位代码是正常的,只是他用了过期的API而产生了警告。

如果你不想要警告,我就给你改一下了,没有用线程的过期API而是使用正常判断

import java.util.*;

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

import java.awt.geom.*;

import java.lang.*;

public class main {

public static void main(String[] args) {

MyFrame frame = new MyFrame();

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setVisible(true);

}

}

class MyFrame extends JFrame {

private static int W = 400;

private static int H = 200;

public MyFrame() {

setTitle("fs");

setSize(W, H);

MyPanel panel = new MyPanel();

add(panel);

}

}

//实现Runnable接口的Run方法

class MyPanel extends JPanel implements Runnable {

private Thread[] thread = new Thread[3];

private JButton[] button = new JButton[4];

private int[] Status = new int[3];

private int[] Start = new int[3];

private int radius = 40;

private int rangeAngle = 30;

private int x, y;

private int speed = 5;

private int number = 100000000;

public MyPanel() {

for (int i = 0; i 3; i++) {

Status[i] = 0;//

Start[i] = i * 30;

button[i] = new JButton("fs" + (i + 1));

button[i].addActionListener(new ButtonAction(i));

add(button[i]);

}

button[3] = new JButton("on");

button[3].addActionListener(new ButtonAction(3));

add(button[3]);

for (int i = 0; i 3; i++) {

thread[i] = new Thread(this);

thread[i].start();

// thread[i].suspend();

}

}

public void paintComponent(Graphics g) {

super.paintComponent(g);

Graphics2D g2 = (Graphics2D) g;

setBackground(Color.white);

PaintFan(g2);

}

public void run() {

try {

for (int i = 0; i number; i++) {

for (int j = 0; j 3; j++) {

if (Thread.currentThread() == thread[j]) {

if (Status[j] == 1) {

Start[j] += 30;

if (Start[j] = 360) {

Start[j] -= 360;

}

}

}

}

repaint();

Thread.currentThread().sleep(50);

}

} catch (Exception e) {

System.out.println(e);

}

}

public synchronized void PaintFan(Graphics2D g2) {

x = 50;

y = 50;

for (int i = 0; i 3; i++) {

int startAngle = Start[i];

g2.clearRect(x, y, 2 * radius, 2 * radius);

g2.setColor(Color.green);

g2.fillArc(x, y, 2 * radius, 2 * radius, startAngle, rangeAngle);

g2.fillArc(x, y, 2 * radius, 2 * radius, startAngle + 120, rangeAngle);

g2.fillArc(x, y, 2 * radius, 2 * radius, startAngle + 240, rangeAngle);

x += 100;

}

}

private class ButtonAction implements ActionListener {

private int n = 0;//

public ButtonAction(int n) {

this.n = n;

}

public void actionPerformed(ActionEvent e) {

try {

if (n == 3) {

boolean All = true;

for (int j = 0; j 3; j++) {

if (Status[j] == 1) {

All = false;

}

}

if (!All) {

for (int j = 0; j 3; j++) {

// thread[j].suspend();

Status[j] = 0;

}

} else {

for (int j = 0; j 3; j++) {

//thread[j].resume();

Status[j] = 1;

}

}

} else if (Status[n] == 1) {

// thread[n].suspend();

Status[n] = 0;

System.out.println("Stop Thread" + n);

} else {

// thread[n].resume();

Status[n] = 1;

System.out.println("Start Thread" + n);

}

} catch (Exception ex) {

System.out.println(ex);

}

}

}

}

javax=1的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、javax=1的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-19,除非注明,否则均为首码项目网原创文章,转载请注明出处。