当前位置:首页 > 西部百科 > 正文内容

awt与swing区别(java.awt和java.swing)

2023-04-22 04:06:04西部百科1

java.awt和java.swing

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

import java.util.*;

public class SnakeGame extends JFrame implements KeyListener{

private int stat=1,direction=0,bodylen=6,headx=7,heady=8,

tailx=1,taily=8,tail,foodx,foody,food;//初始化定义变量

public final int EAST=1,WEST=2,SOUTH=3,NORTH=4;//方向常量

int [][] fillblock=new int [20][20];//定义蛇身所占位置

public SnakeGame() {//构造函数

super("贪吃蛇");

setSize(510,510);

setVisible(true);//设定窗口属性

addKeyListener(this);//添加监听

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

for(int i=1;i<=7;i++) fillblock[i][8]=EAST;//初始化蛇身属性

direction=EAST;//方向初始化的设置

FoodLocate(); //定位食物

while (stat==1){

fillblock[headx][heady]=direction;

switch(direction){

case 1:headx++;break;

case 2:headx--;break;

case 3:heady++;break;

case 4:heady--;break;

}//蛇头的前进

if(heady>19||headx>19||tailx>19||taily>19||heady<0||headx<0||tailx<0||taily<0||fillblock[headx][heady]!=0){

stat=0;

break;

} //判断游戏是否结束

try{

Thread.sleep(150); }

catch(InterruptedException e){}//延迟

fillblock[headx][heady]=direction;

if(headx==foodx&&heady==foody){//吃到食物

FoodLocate();

food=2;

try{

Thread.sleep(100); }

catch(InterruptedException e){}//延迟

}

if(food!=0)food--;

else{tail=fillblock[tailx][taily];

fillblock[tailx][taily]=0;//蛇尾的消除

switch(tail){

case 1:tailx++;break;

case 2:tailx--;break;

case 3:taily++;break;

case 4:taily--;break;

}//蛇尾的前进

}

repaint();

}

if(stat==0)

JOptionPane.showMessageDialog(null,"GAME OVER","Game Over",JOptionPane.INFORMATION_MESSAGE);

}

public void keyPressed(KeyEvent e) {//按键响应

int keyCode=e.getKeyCode();

if(stat==1) switch(keyCode){

case KeyEvent.VK_UP:if(direction!=SOUTH) direction=NORTH;break;

case KeyEvent.VK_DOWN:if(direction!=NORTH)direction=SOUTH;break;

case KeyEvent.VK_LEFT:if(direction!=EAST)direction=WEST;break;

case KeyEvent.VK_RIGHT:if (direction!=WEST)direction=EAST;break;

}

}

public void keyReleased(KeyEvent e){}//空函数

public void keyTyped(KeyEvent e){} //空函数

public void FoodLocate(){//定位食物坐标

do{

Random r=new Random();

foodx=r.nextInt(20);

foody=r.nextInt(20);

}while (fillblock[foodx][foody]!=0);

}

public void paint(Graphics g){//画图

super.paint(g);

g.setColor(Color.BLUE);

for(int i=0;i<20;i++)

for(int j=0;j<20;j++)

if (fillblock[i][j]!=0)

g.fillRect(25*i+5,25*j+5,24,24);

g.setColor(Color.RED);

g.fillRect(foodx*25+5,foody*25+5,24,24);

}

public static void main(String[] args) {//主程序

SnakeGame application=new SnakeGame();

}

}

awt和swing

JFC(全称为“Java Foundation Classes”,中文译为“爪哇基础类别”)是一个图形框架(Graphical Framework),依据此框架可建构出具有移携性(Portable)的Java式GUI图形式使用者界面。

JFC主要是由AWTAbstract Window Toolkit(AWT)、Swing以及Java 2D三者所构成,若将这些一同搭配运用,则用Java程式语言撰写开发成的使用者界面,无论移转、转移到Microsoft WindowsWindows、Mac OS X或Linux等各种不同的作业平台上,都能保有一致性的图像呈现。

swing组件与awt组件有什么区别

JxBrowser是一个跨平台的Java库,允许将基于Google Chromium的Web浏览器组件集成到Java Swing / AWT / JavaFX应用程序中。使用JxBrowser,您可以将轻量级Swing / JavaFX组件嵌入到Java应用程序中,以显示现代网页,支持最新的Web标准,如HTML5,CSS3,JavaScript等。

swing和swt的区别

javaFX就从来没有流行过。要说java真正流行过的gui技术只有applet,那时候独领风骚。后来的swing和swt也还可以,毕竟上个十年cs架构的程序也还有市场。而现在这些年,不是非要客户端调用dll等特殊功能,一般都做成bs架构了,javafx只能说生不逢时。

awt与swing的区别

区别如下:

一,Web项目是网页的编码,像jsp,servlet,struts这类的。但是java maven项目的话,是AWT,SWING这类的编码。

二,Web项目中是tomcat来触发的,但是java maven项目里是Main来开始的。

三,Web项目需要服务器,java maven项目则不需要。 Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。 由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。

awt和swing有没有必要学

Swing的基本规则:

与 AWT 组件不同,Swing 不能直接在顶层容器中添加组件。Swing 组件必须添加到与顶层容器相关的内容面板上,内容面板是一个普通的轻量级组件,还要避免使用非 Swing 轻量级组件。在顶层容器 JFrame 对象中添加组件有以下两种方式:

(1)用 getContentPane()方法获得容器的内容面板,直接添加组件,格式如下:

Container c = frame.getContentPane(); //获取窗口内容面板

JPanel pane = new JPanel(); //创建面板

c.add(pane); //在容器中添加面板

(2)建立一个中间容器对象(Jpanel 或 JdesktopPane),将组件添加到中间容器对象内,然后通过 setContentPane()方法将该容器设置为顶层容器 frame 的内容面板。

JPanel pane = newJPanel();

pane.add(new JButton("OK"));

frame.setContentPane(pane);

本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.

本文链接:https://www.xibujisuan.cn/98790845.html