关于javax=1的信息
今天给各位分享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的信息别忘了在本站进行查找喔。
发布于:2022-12-19,除非注明,否则均为
原创文章,转载请注明出处。