java代码小程序下载,小程序开发软件下载

java小程序源代码,简单点的,100多行,谁有啊??

// My car shop.java

为桥东等地区用户提供了全套网页设计制作服务,及桥东网站建设行业解决方案。主营业务为网站建设、成都网站设计、桥东网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.border.*;

public class carshop extends JFrame

{

// JPanel to hold all pictures

private JPanel windowJPanel;

private String[] cars = { "","阿斯顿马丁", "美洲虎", "凯迪拉克",

"罗孚", "劳斯莱斯","别克"};

private int[] jiage = { 0,150000, 260000, 230000,

140000, 290000, 150000};

// JLabels for first snack shown

private JLabel oneJLabel;

private JLabel oneIconJLabel;

// JLabels for second snack shown

private JLabel twoJLabel;

private JLabel twoIconJLabel;

// JLabels for third snack shown

private JLabel threeJLabel;

private JLabel threeIconJLabel;

// JLabels for fourth snack shown

private JLabel fourJLabel;

private JLabel fourIconJLabel;

// JLabels for fifth snack shown

private JLabel fiveJLabel;

private JLabel fiveIconJLabel;

// JLabels for sixth snack shown

private JLabel sixJLabel;

private JLabel sixIconJLabel;

// JTextField for displaying snack price

private JTextArea displayJTextArea;

// JLabel and JTextField for user input

private JLabel inputJLabel;

private JComboBox selectCountryJComboBox;

private JLabel inputJLabel2;

private JTextField inputJTextField2;

// JButton to enter user input

private JButton enterJButton;

//JButton to clear the components

private JButton clearJButton;

// no-argument constructor

public carshop()

{

createUserInterface();

}

// create and position GUI components; register event handlers

private void createUserInterface()

{

// get content pane for attaching GUI components

Container contentPane = getContentPane();

// enable explicit positioning of GUI components

contentPane.setLayout( null );

// set up windowJPanel

windowJPanel = new JPanel();

windowJPanel.setBounds( 10, 20, 340, 200 );

windowJPanel.setBorder( new LineBorder( Color.BLACK ) );

windowJPanel.setLayout( null );

contentPane.add( windowJPanel );

// set up oneIconJLabel

oneIconJLabel = new JLabel();

oneIconJLabel.setBounds( 10, 20, 100, 65 );

oneIconJLabel.setIcon( new ImageIcon( "images/阿斯顿马丁.jpg" ) );

windowJPanel.add( oneIconJLabel );

// set up oneJLabel

oneJLabel = new JLabel();

oneJLabel.setBounds( 10, 60, 100, 70 );

oneJLabel.setText( "阿斯顿马丁" );

oneJLabel.setHorizontalAlignment( JLabel.CENTER );

windowJPanel.add( oneJLabel );

// set up twoIconJLabel

twoIconJLabel = new JLabel();

twoIconJLabel.setBounds( 120, 20, 100, 65 );

twoIconJLabel.setIcon( new ImageIcon( "images/美洲虎.jpg" ) );

windowJPanel.add( twoIconJLabel );

// set up twoJLabel

twoJLabel = new JLabel();

twoJLabel.setBounds( 110, 60, 100, 70 );

twoJLabel.setText( "美洲虎" );

twoJLabel.setHorizontalAlignment( JLabel.CENTER );

windowJPanel.add( twoJLabel );

// set up threeIconJLabel

threeIconJLabel = new JLabel();

threeIconJLabel.setBounds( 230, 20, 100, 65 );

threeIconJLabel.setIcon( new ImageIcon(

"images/凯迪拉克.jpg" ) );

windowJPanel.add( threeIconJLabel );

// set up threeJLabel

threeJLabel = new JLabel();

threeJLabel.setBounds( 230, 60, 100, 70);

threeJLabel.setText( "凯迪拉克" );

threeJLabel.setHorizontalAlignment( JLabel.CENTER );

windowJPanel.add( threeJLabel );

// set up fourIconJLabel

fourIconJLabel = new JLabel();

fourIconJLabel.setBounds( 10, 100, 100, 65 );

fourIconJLabel.setIcon( new ImageIcon( "images/罗孚.jpg" ) );

windowJPanel.add( fourIconJLabel );

// set up fourJLabel

fourJLabel = new JLabel();

fourJLabel.setBounds( 10, 150, 50, 70 );

fourJLabel.setText( "罗孚" );

fourJLabel.setHorizontalAlignment( JLabel.CENTER );

windowJPanel.add( fourJLabel );

// set up fiveIconJLabel

fiveIconJLabel = new JLabel();

fiveIconJLabel.setBounds( 120, 100, 100, 65 );

fiveIconJLabel.setIcon( new ImageIcon(

"images/劳斯莱斯.jpg" ) );

windowJPanel.add( fiveIconJLabel );

// set up fiveJLabel

fiveJLabel = new JLabel();

fiveJLabel.setBounds( 110, 150, 100, 70 );

fiveJLabel.setText( "劳斯莱斯" );

fiveJLabel.setHorizontalAlignment( JLabel.CENTER );

windowJPanel.add( fiveJLabel );

// set up sixIconJLabel

sixIconJLabel = new JLabel();

sixIconJLabel.setBounds( 230, 100, 100, 65 );

sixIconJLabel.setIcon( new ImageIcon( "images/别克.jpg" ) );

windowJPanel.add( sixIconJLabel );

// set up sixJLabel

sixJLabel = new JLabel();

sixJLabel.setBounds( 230, 150, 100, 70 );

sixJLabel.setText( "别克" );

sixJLabel.setHorizontalAlignment( JLabel.CENTER );

windowJPanel.add( sixJLabel );

// set up enterJButton

enterJButton = new JButton();

enterJButton.setBounds( 390, 160, 135, 30 );

enterJButton.setText( "Enter" );

contentPane.add( enterJButton );

enterJButton.addActionListener(

new ActionListener() // anonymous inner class

{

// event handler called when enterJButton is clicked

public void actionPerformed( ActionEvent event )

{

enterJButtonActionPerformed( event );

}

} // end anonymous inner class

); // end call to addActionListener

// set up clearJButton

clearJButton = new JButton();

clearJButton.setBounds( 390, 200, 135, 30 );

clearJButton.setText( "Clear" );

contentPane.add( clearJButton );

// set up inputJLabel

inputJLabel = new JLabel();

inputJLabel.setBounds( 390, 25, 135, 25 );

inputJLabel.setText( "Please make selection:" );

contentPane.add( inputJLabel );

selectCountryJComboBox = new JComboBox( cars );

selectCountryJComboBox.setBounds( 390, 50, 135, 21 );

selectCountryJComboBox.setMaximumRowCount( 3 );

contentPane.add( selectCountryJComboBox );

// set up inputJTextField

inputJLabel2 = new JLabel();

inputJLabel2.setBounds( 390, 80, 150, 20 );

inputJLabel2.setText( "Input the Numble:" );

contentPane.add( inputJLabel2 );

// set up inputJTextField

inputJTextField2 = new JTextField();

inputJTextField2.setBounds( 390, 100, 135, 25 );

inputJTextField2.setHorizontalAlignment( JTextField.RIGHT );

contentPane.add( inputJTextField2 );

clearJButton.addActionListener(

new ActionListener() // anonymous inner class

{

// event handler called when clearJButton is clicked

public void actionPerformed( ActionEvent event )

{

clearJButtonActionPerformed( event );

}

} // end anonymous inner class

);

// set up displayJTextField

displayJTextArea = new JTextArea();

displayJTextArea.setBounds( 10, 237,515, 70 );

displayJTextArea.setEditable( false );

contentPane.add( displayJTextArea );

// set properties of application's window

setTitle( "My car Shop" ); // set title bar string

setSize( 550, 360 ); // set window size

setVisible( true ); // display window

} // end method createUserInterface

private void clearJButtonActionPerformed( ActionEvent event )

{

// clear the JTextFields

inputJTextField2.setText( "" );

displayJTextArea.setText("");

} // end method clearJButtonActionPerformed

private void enterJButtonActionPerformed( ActionEvent event )

{

double z;

double c;

int x;

int y;

x=selectCountryJComboBox.getSelectedIndex();

y=Integer.parseInt(inputJTextField2.getText());

double discountRate;

int amount = Integer.parseInt( inputJTextField2.getText());

switch (amount/5)

{

case 0:

discountRate = 0;

break;

case 1:

discountRate = 1;

break;

case 2:

discountRate = 2;

break;

case 3:

discountRate = 3;

break;

default:

discountRate = 4;

} // end switch statement

c=1-discountRate/100;

z=jiage[x]*y*c;

displayJTextArea.append("你选择的是:"+cars[x]+";"+

"它的单价是:"+jiage[x]+";" +"你购买该产品的数量是:"+y+"," +"\n"+"该数量的折扣是:"

+discountRate + " %"+";"+"本次消费的总价格是:"+z+"元"+"!"+"\n");

}

public static void main( String args[] )

{

carshop application = new carshop();

application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );

} // end method main

} // end class carshop

怎样用java代码编写网络小程序,下载某网站的电影

首先搞清楚那个网站的流媒体协议是什么,然后google或是baidu这种协议的传送编码规范,之后就是用socket向服务器发送符合编码规范的握手信息,建立起连接就ok了,就看着电影一点点地down下来吧

java小程序入门

先到官网下载myeclipse或者eclipse编程软件,并配置java环境变量,在百度搜索栏依次搜索eclipse下载和搜索java环境变量的配置,就可以找到图文并茂的详细教程。下面介绍一下怎么制作小程序:

1、打开myeclispe(eclipse都一样),依次点击File-New-Java Project,然后给这个项目起一个名字(随便起),这里就叫MyFirst.然后点击Finish;

2、在myeclipse左侧找到自己建好的MyFirst项目,左键点击,下面有文件件src,点击src,右键,依次点击New-Class,然后给这个新的类起一个名字(随便起),我这里叫MyFirstClass,然后点击Finish;

3、复制粘贴下面这些代码到MyFirstClass.java文件中,然后ctrl+s,保存;

4、在MyFirstClass.java文件的空白处右键选择 Run As --Java Application,你就会在下方的控制台看到hello worl。

扩展资料:

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

参考资料:Java-百度百科

求java经典小程序代码

代码如下:

public class HelloWorld {

public static void main(String []args) {

int a = 3, b = 7 ;

 System.out.println("Hello World!");

}

public static int f(int a, int b){

return a*a + a*b + b*b;

}

}

结果如下:

什么是Java小程序

(小应用程序)

采用Java创建的基于HTML的程序。浏览器将其暂时下载到用户的硬盘上,并在Web页打开时在本地运行。

可通过因特网下载并在接收计算机上运行的一小段程序。小应用程序通常用Java语言编写并运行在浏览器软件中,applet典型用于为万维网网页页面定制或添加交互格式元素。Applet可以翻译为小应用程序,可通过因特网下载并在接收计算机上运行的一小段程序。,Java Applet就是用Java语言编写的这样的一些小应用程序,它们可以直接嵌入到网页中,并能够产生特殊的效果。包含Applet的网页被称为Java- powered页,可以称其为Java支持的网页。

当用户访问这样的网页时, Applet被下载到用户的计算机上执行,但前提是用户使用的是支持Java的网络l浏览器。由于Applet是在用户的计算机上执行的,因此它的执行速度不受网络带宽或者Modem存取速度的限制。用户可以更好地欣赏网页上Applet产生的多媒体效果。

在Java Applet中,可以实现图形绘制,字体和颜色控制,动画和声音的插入,人机交互及网络交流等功能。 Applet还提供了名为抽象窗口工具箱(Abstract Window Toolkit, AWT)的窗口环境开发工具。 AWT利用用户计算机的GUI元素,可以建立标准的图形用户界面,如窗口、按钮、滚动条等等。目前,在网络上有非常多的Applet范例来生动地展现这些功能,读者可以去调阅相应的网页以观看它们的效果。

Applet的工作原理.

含有Applet的网页的HTML文件代码中部带有applet 和/applet这样一对标记,当支持Java的网络浏览器遇到这对标记时,就将下载相应的小应用程序代码并在本地计算机上执行该Applet。

Java Applet 是用Java 语言编写的一些小应用程序,这些程序是直接嵌入到页面中,由支持Java的浏览器(IE 或 Nescape)解释执行能够产生特殊效果的程序。它可以大大提高Web页面的交互能力和动态执行能力。包含Applet的网页被称为Java- powered页,可以称其为Java支持的网页。

当用户访问这样的网页时,Applet被下载到用户的计算机上执行,但前提是用户使用的是支持Java的网络浏览器。由于Applet是在用户的计算机上执行的,所以它的执行速度不受网络带宽或者Modem存取速度的限制,用户可以更好地欣赏网页上Applet产生的多媒体效果。

Applet 小应用程序的实现主要依靠java.applet 包中的Applet类。与一般的应用程序不同,Applet应用程序必须嵌入在HTML页面中,才能得到解释执行;同时Applet可以从Web页面中获得参数,并和Web页面进行交互。

含有Applet的网页的HTML文件代码中必须带有applet和/applet这样一对标记,当支持Java的网络浏览器遇到这对标记时,就将下载相应的小程序代码并在本地计算机上执行该Applet小程序。

Applet是一种Java的小程序,它通过使用该Applet的HTML文件,由支持Java的网页浏览器下载运行。也可以通过java开发工具的 appletviewer来运行。Applet 程序离不开使用它的HTML文件。这个HTML文件中关于Applet的信息至少应包含以下三点:

1)字节码文件名(编译后的Java文件,以.class为后缀)

2)字节码文件的地址

3)在网页上显示Applet的方式。

一个HTML文件增加Applet有关的内容只是使网页更加富有生气,如添加声音、动画等这些吸引人的特征,它并不会改变HTML文件中与Applet无关的元素。

(一) Applet程序开发步骤

Applet程序开发主要步骤如下:

1)选用EDIT或Windows Notepad等工具作为编辑器建立Java Applet源程序。

2)把Applet的源程序转换为字节码文件。

3)编制使用class 的HTML文件。在HTML文件内放入必要的APPLET语句。

下面举一个最简单的HelloWorld 例子来说明Applet程序的开发过程:

(1) 编辑Applet 的java源文件

创建文件夹C:\ghq,在该文件夹下建立 HelloWorld.java

文件的源代码如下:

import java.awt.*;

import java.applet.*;

public class HelloWorld extends Applet //继承Appelet类,这是Appelet Java程序的特点

{

public void paint(Graphics g )

{

g.drawString("Hello World!",5,35);

}

}

保存上述程序在C:\ghq\HelloWorld.java文件里。

(2)编译Applet

编译HelloWorld.java源文件可使用如下JDK命令:

C:\ghq\javac HelloWorld.javaEnter

注意:如果编写的源程序违反了Java编程语言的语法规则,Java编译器将在屏幕上显示语法错误提示信息。源文件中必须不含任何语法错误,Java编译器才能成功地把源程序转换为appletviewer和浏览器能够执行的字节码程序。

成功地编译Java applet之后生成响应的字节码文件HelloWorld.class的文件。用资源管理器或DIR命令列出目录列表,将会发现目录C:\ghq中多了一个名为HelloWorld.class的文件。

(3)创建HTML文件

在运行创建的HelloWorld.class 之前,还需创建一个HTML文件,appletviewer或浏览器将通过该文件访问创建的Applet。为运行HelloWorld.class, 需要创建包含如下HTML语句的名为HelloWorld.html的文件。

HTML

TITLEHelloWorld! Applet/TITLE

APPLET

CODE="JavaWorld.class"

WIDTH=200

HEIGHT=100

/APPLET

/HTML

本例中,APPLET语句指明该Applet字节码类文件名和以像素为单位的窗口的尺寸。虽然这里HTML文件使用的文件名为 HelloWorld.HTML,它对应于HelloWorld.java的名字,但这种对应关系不是必须的,可以用其他的任何名字(比如说 Ghq.HTML)命名该HTML文件。但是使文件名保持一种对应关系可给文件的管理带来方便。

(4)执行 HelloWorld.html

如果用appletviewer运行HelloWorld.html,需输入如下的命令行:

C:\ghq\appletviewer JavaWorld.htmlENTER

可以看出,该命令启动了appletviewer并指明了HTML文件,该HTML文件中包含对应于HelloWorld 的APPLET语句。

如果用浏览器运行HelloWorld Applet,需在浏览器的地址栏中输入HTML文件URL地址。

至此,一个Applet程序的开发运行整个过程结束了(包括java源文件、编译的class文件、html文件以及用appletviewer或用浏览器运行)。

(二) Applet类

Applet类是所有Applet应用的基类,所有的Java小应用程序都必须继承该类。如下所示。

import java. applet.*;

public class OurApplet extends Applet

{

......

......

}

Applet类的构造函数只有一种,即:public Applet()

Applet实现了很多基本的方法,下面列出了Applet类中常用方法和用途。

public final void setStub(AppletStub stub)

//设置Applet的stub.stub是Java和C之间转换参数并返回值的代码位,它是由系统自动设定的。

public boolean isActive();// 判断一个Applet是否处于活动状态。

public URL getDocumentBase();// 检索表示该Applet运行的文件目录的对象。

public URL getCodeBase();// 获取该Applet 代码的URL地址。

public String getParameter(String name);// 获取该Applet 由name指定参数的值。

public AppletContext getAppletContext();// 返回浏览器或小应用程序观察器。

public void resize(int width,int height);// 调整Applet运行的窗口尺寸。

public void resize(Dimension d);// 调整Applet运行的窗口尺寸。

public void showStatus(String msg);// 在浏览器的状态条中显示指定的信息。

public Image getImage(URL url); // 按url指定的地址装入图象。

public Image getImage(URL url,String name);// 按url指定的地址和文件名加载图像。

public AudioClip getAudioClip(URL url);// 按url指定的地址获取声音文件。

public AudioClip getAudioClip(URL url, String name);// 按url指定的地址和文件名获取声音。

public String getAppletInfo();// 返回Applet应用有关的作者、版本和版权方面的信息;

public String[][] getParameterInfo();

// 返回描述Applet参数的字符串数组,该数组通常包含三个字符串: 参数名、该参数所需值的类型和该参数的说明。

public void play(URL url);// 加载并播放一个url指定的音频剪辑。

public void destroy();//撤消Applet及其所占用的资源。若该Applet是活动的,则先终止该Applet的运行。

(1) Applet运行状态控制基本方法

Applet类中的四种基本方法用来控制其运行状态:init()、start()、stop()、destroy()

init()方法

这个方法主要是为Applet的正常运行做一些初始化工作。当一个Applet被系统调用时,系统首先调用的就是该方法。通常可以在该方法中完成从网页向Applet传递参数,添加用户界面的基本组件等操作。

start()方法

系统在调用完init()方法之后,将自动调用start()方法。而且,每当用户离开包含该Applet的主页后又再返回时,系统又会再执行一遍 start()方法。这就意味着start()方法可以被多次执行,而不像init()方法。因此,可把只希望执行一遍的代码放在init()方法中。可以在start()方法中开始一个线程,如继续一个动画、声音等。

stop()方法

这个方法在用户离开Applet所在页面时执行,因此,它也是可以被多次执行的。它使你可以在用户并不注意Applet的时候,停止一些耗用系统资源的工作以免影响系统的运行速度,且并不需要人为地去调用该方法。如果Applet中不包含动画、声音等程序,通常也不必实现该方法。

destroy()方法

与对象的finalize()方法不同,Java在浏览器关闭的时候才调用该方法。Applet是嵌在HTML文件中的,所以destroty()方法不关心何时Applet被关闭,它在浏览器关闭的时候自动执行。在destroy()方法中一般可以要求收回占用的非内存独立资源。(如果在 Applet仍在运行时浏览器被关闭,系统将先执行stop()方法,再执行destroy()方法。

(2) Applet应用的有关参数说明

利用Applet来接收从HTML中传递过来的参数,下面对这些参数作一简单说明:

* CODE标志

CODE标志指定Applet的类名;WIDTH和HEIGHT标志指定Applet窗口的像素尺寸。在APPLET语句里还可使用其他一些标志。

* CODEBASE 标志

CODEBASE标志指定Applet的URL地址。Applet的通用资源定位地址URL,它可以是绝对地址,如。也可以是相对于当前HTML所在目录的相对地址,如/AppletPath/Name。如果HTML文件不指定 CODEBASE 标志,浏览器将使用和HTML文件相同的URL。

* ALT 标志

虽然Java在WWW上很受欢迎,但并非所有浏览器都对其提供支持。如果某浏览器无法运行Java Applet,那么它在遇到APPLET语句时将显示ALT标志指定的文本信息。

* ALIGN 标志

ALIGN标志可用来控制把Applet窗口显示在HTML文档窗口的什么位置。与HTMLLMG语句一样,ALIGN标志指定的值可以是TOP、MIDDLE或BOTTOM。

* VSPACE与HSPACE 标志

VSPACE和HSPACE标志指定浏览器显示在Applet窗口周围的水平和竖直空白条的尺寸,单位为像素。如下例使用该标志在Applet窗口之上和之下各留出50像素的空白,在其左和其右各留出25像素的空白:

* NAME 标志

NAME标志把指定的名字赋予Applet的当前实例。当浏览器同时运行两个或多个Applet时,各Applet可通过名字相互引用或交换信息。如果忽略NAME标志,Applet的名字将对应于其类名。

* PARAM 标志

通用性是程序设计所追求的目标之一。使用户或者程序员能很方便地使用同一个Applet完成不同的任务是通用性的具体表现。从HTML文件获取信息是提高Applet通用性的一条有效途径。

假设编制了一个把某公司的名字在屏幕上卷动的Applet。为了使该Applet更加通用,则可以使该Applet从HTML文件获取需要卷动的文本信息。这样,若想显示另一个公司的名字,用不着修改Java Applet本身,只需修改HTML文件即可。

PARAM 标志可用来在HTML文件里指定参数,格式如下所示:

PARAM Name="name" Value="Liter"

Java Applet可调用getParameter方法获取HTML文件里设置的参数值。

上面这个例子就是一个简单主页的HTML文件代码。代码第五行中的P,是为了确保Applet出现在新的一行,若没有它, Applet将会紧接着上一行的最后一个单词出现。代码第六、七两行是关于Applet的一些参数。其中第六行是必需的Applet参数,定义了编译后的包含Applet字节码的文件名,后缀通常为“.class”;和以象素为单位的Applet的初始宽度与高度。第七行则是附加的Applet参数,它由一个分离的

标记来指定其后的名称和值,在这里是img的值为“example.gif’,它代表了一个图形文件名。

Applet的下载与图形文件一样需要一定的时间,若干秒后它才能在屏幕上显示出来。等待的时间则取决于Applet的大小和用户的网络连接的速度。一旦下载以后,它便和本地计算机上的程序以相同的速度运行了。

Applet在用户的计算机上执行时,还可以下载其它的资源,如声音文件、图像文件或更多的Java代码,有些Applet还允许用户进行交互式操作。但这需要重复的链接与下载,因此速度很慢,这是一个亟待解决的问题,可以想到的一个好办法是采用类似高速缓存的技术,将每次下载的文件都临时保存在用户的硬盘上,虽然第一次使用时花的时间比较多,但当再次使用时,只需直接从硬盘上读取文件而无需再与Internet连接,便可以大大提高性能了。

从哪里得到Applet

自从Java日益流行之后,世界各地的爱好者们便不断创造出各种各样的Applet。这里列出了几个较大的Applet收集站,读者可以去逛一逛,看看这些Applet的效果如何,相信会使人流连忘返的。

这是Intemet上最负盛名的Applet收集站,它按照小应用程序的用途加以分类,并列出了它们的说明、功能和程序代码,其规模和种类之多,令人叹为观止。

这个站点的特色是对它收集的小应用程序都加以评分,JARS是小应用程序评价服务(Java Applet Rating Services)的简称。许多Java开发者均以能获得其好评为荣。

这个URL可真够长的!这是Yahoo公司提供的小应用程序目录,收集的数量虽然稍逊于Gamelan,但也很可观了。

/java_applets/ BR这是网景公司提供的小应用程序演示网页,同时也提供一些Java信息。

这是一个小应用程序的信息站点,提供了许多实用信息,读者可以借助这里的数据库,查询自己感兴趣的小应用程序的相关信 .

applet的超类是panel,

如果您认为本词条还有待完善,需要补充新内容或修改错误内容,请 编辑词条

贡献者(共6名):

jlbstz2003、fuweimin911、明明我心521、mengduanhonglo、邪恶怖怖、lym13

本词条在以下词条中被提及:

java.applet、JRE、web2.0、www

“Applet”在英汉词典中的解释(来源:百度词典):

applet

n.

1. 【电脑】程序类型(一小程序可附予其它程序一些功能,像Java就是一受欢迎用之以产生applet的语言)

关于本词条的评论(共4条):查看评论

返回页首

©2008 Baidu

求java小程序源代码 在线等 急急急!!!

下面是俄罗斯方块游戏源代码

还没完,这代码太长了,我用我另一个号再粘上

import javax.swing.*;

import javax.swing.JOptionPane;

import javax.swing.border.Border;

import javax.swing.border.EtchedBorder;

import java.awt.*;

import java.awt.event.*;

/**

* 游戏主类,继承自JFrame类,负责游戏的全局控制。

* 内含

* 1, 一个GameCanvas画布类的实例引用,

* 2, 一个保存当前活动块(ErsBlock)实例的引用,

* 3, 一个保存当前控制面板(ControlPanel)实例的引用;*/

public class ErsBlocksGame extends JFrame {

/**

* 每填满一行计多少分*/

public final static int PER_LINE_SCORE = 100;

/**

* 积多少分以后能升级*/

public final static int PER_LEVEL_SCORE = PER_LINE_SCORE * 20;

/**

* 最大级数是10级*/

public final static int MAX_LEVEL = 10;

/**

* 默认级数是5*/

public final static int DEFAULT_LEVEL = 5;

private GameCanvas canvas;

private ErsBlock block;

private boolean playing = false;

private ControlPanel ctrlPanel;

private JMenuBar bar = new JMenuBar();

private JMenu

mGame = new JMenu("游戏设置"),

mControl = new JMenu("游戏控制"),

mWindowStyle = new JMenu("窗口风格");

private JMenuItem

miNewGame = new JMenuItem("新游戏"),

miSetBlockColor = new JMenuItem("设置颜色 ..."),

miSetBackColor = new JMenuItem("设置底色 ..."),

miTurnHarder = new JMenuItem("提升等级"),

miTurnEasier = new JMenuItem("调底等级"),

miExit = new JMenuItem("退出"),

miPlay = new JMenuItem("开始游戏"),

miPause = new JMenuItem("暂停"),

miResume = new JMenuItem("继续");

private JCheckBoxMenuItem

miAsWindows = new JCheckBoxMenuItem("风格1"),

miAsMotif = new JCheckBoxMenuItem("风格2"),

miAsMetal = new JCheckBoxMenuItem("风格3", true);

/**

* 主游戏类的构造函数

* @param title String,窗口标题*/

public ErsBlocksGame(String title) {

super(title);

//this.setTitle("lskdf");

setSize(315, 392);

Dimension scrSize = Toolkit.getDefaultToolkit().getScreenSize();

//获得屏幕的大小

setLocation((scrSize.width - getSize().width) / 2,

(scrSize.height - getSize().height) / 2);

createMenu();

Container container = getContentPane();

container.setLayout(new BorderLayout(6, 0));

canvas = new GameCanvas(20, 12);

ctrlPanel = new ControlPanel(this);

container.add(canvas, BorderLayout.CENTER);

container.add(ctrlPanel, BorderLayout.EAST);

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent we) {

JOptionPane about=new JOptionPane();

stopGame();

System.exit(0);

}

});

addComponentListener(new ComponentAdapter() {

public void componentResized(ComponentEvent ce) {

canvas.fanning();

}

});

show();

canvas.fanning();

}

// 游戏“复位”

public void reset() {

ctrlPanel.reset();

canvas.reset();

}

/**

* 判断游戏是否还在进行

* @return boolean, true-还在运行,false-已经停止*/

public boolean isPlaying() {

return playing;

}

/**

* 得到当前活动的块

* @return ErsBlock, 当前活动块的引用*/

public ErsBlock getCurBlock() {

return block;

}

/**

* 得到当前画布

* @return GameCanvas, 当前画布的引用 */

public GameCanvas getCanvas() {

return canvas;

}

/**

* 开始游戏*/

public void playGame() {

play();

ctrlPanel.setPlayButtonEnable(false);

miPlay.setEnabled(false);

ctrlPanel.requestFocus();

}

/**

* 游戏暂停*/

public void pauseGame() {

if (block != null) block.pauseMove();

ctrlPanel.setPauseButtonLabel(false);

miPause.setEnabled(false);

miResume.setEnabled(true);

}

/**

* 让暂停中的游戏继续*/

public void resumeGame() {

if (block != null) block.resumeMove();

ctrlPanel.setPauseButtonLabel(true);

miPause.setEnabled(true);

miResume.setEnabled(false);

ctrlPanel.requestFocus();

}

/**

* 用户停止游戏 */

public void stopGame() {

playing = false;

if (block != null) block.stopMove();

miPlay.setEnabled(true);

miPause.setEnabled(true);

miResume.setEnabled(false);

ctrlPanel.setPlayButtonEnable(true);

ctrlPanel.setPauseButtonLabel(true);

}

/**

* 得到当前游戏者设置的游戏难度

* @return int, 游戏难度1-MAX_LEVEL*/

public int getLevel() {

return ctrlPanel.getLevel();

}

/**

* 让用户设置游戏难度

* @param level int, 游戏难度1-MAX_LEVEL*/

public void setLevel(int level) {

if (level 11 level 0) ctrlPanel.setLevel(level);

}

/**

* 得到游戏积分

* @return int, 积分。*/

public int getScore() {

if (canvas != null) return canvas.getScore();

return 0;

}

/**

* 得到自上次升级以来的游戏积分,升级以后,此积分清零

* @return int, 积分。*/

public int getScoreForLevelUpdate() {

if (canvas != null) return canvas.getScoreForLevelUpdate();

return 0;

}

/**

* 当分数累计到一定的数量时,升一次级

* @return boolean, ture-update successufl, false-update fail

*/

public boolean levelUpdate() {

int curLevel = getLevel();

if (curLevel MAX_LEVEL) {

setLevel(curLevel + 1);

canvas.resetScoreForLevelUpdate();

return true;

}

return false;

}

/**

* 游戏开始*/

private void play() {

reset();

playing = true;

Thread thread = new Thread(new Game());

thread.start();

}

/**

* 报告游戏结束了*/

private void reportGameOver() {

JOptionPane.showMessageDialog(this, "游戏结束!");

}

/**

* 建立并设置窗口菜单 */

private void createMenu() {

bar.add(mGame);

bar.add(mControl);

bar.add(mWindowStyle);

mGame.add(miNewGame);

mGame.addSeparator();

mGame.add(miSetBlockColor);

mGame.add(miSetBackColor);

mGame.addSeparator();

mGame.add(miTurnHarder);

mGame.add(miTurnEasier);

mGame.addSeparator();

mGame.add(miExit);

mControl.add(miPlay);

mControl.add(miPause);

mControl.add(miResume);

mWindowStyle.add(miAsWindows);

mWindowStyle.add(miAsMotif);

mWindowStyle.add(miAsMetal);

setJMenuBar(bar);

miPause.setAccelerator(

KeyStroke.getKeyStroke(KeyEvent.VK_P, KeyEvent.CTRL_MASK));

miResume.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0));

miNewGame.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent ae) {

stopGame();

reset();

setLevel(DEFAULT_LEVEL);

}

});

miSetBlockColor.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent ae) {

Color newFrontColor =

JColorChooser.showDialog(ErsBlocksGame.this,

"设置积木颜色", canvas.getBlockColor());

if (newFrontColor != null)

canvas.setBlockColor(newFrontColor);

}

});

miSetBackColor.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent ae) {

Color newBackColor =

JColorChooser.showDialog(ErsBlocksGame.this,

"设置底版颜色", canvas.getBackgroundColor());

if (newBackColor != null)

canvas.setBackgroundColor(newBackColor);

}

});

miTurnHarder.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent ae) {

int curLevel = getLevel();

if (curLevel MAX_LEVEL) setLevel(curLevel + 1);

}

});

miTurnEasier.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent ae) {

int curLevel = getLevel();

if (curLevel 1) setLevel(curLevel - 1);

}

});

miExit.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent ae) {

System.exit(0);

}

});

miPlay.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent ae) {

playGame();

}

});

miPause.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent ae) {

pauseGame();

}

});

miResume.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent ae) {

resumeGame();

}

});

miAsWindows.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent ae) {

String plaf = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";

setWindowStyle(plaf);

canvas.fanning();

ctrlPanel.fanning();

miAsWindows.setState(true);

miAsMetal.setState(false);

miAsMotif.setState(false);

}

});

miAsMotif.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent ae) {

String plaf = "com.sun.java.swing.plaf.motif.MotifLookAndFeel";

setWindowStyle(plaf);

canvas.fanning();

ctrlPanel.fanning();

miAsWindows.setState(false);

miAsMetal.setState(false);

miAsMotif.setState(true);

}

});

miAsMetal.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent ae) {

String plaf = "javax.swing.plaf.metal.MetalLookAndFeel";

setWindowStyle(plaf);

canvas.fanning();

ctrlPanel.fanning();

miAsWindows.setState(false);

miAsMetal.setState(true);

miAsMotif.setState(false);

}

});

}

/**

* 根据字串设置窗口外观

* @param plaf String, 窗口外观的描述

*/

private void setWindowStyle(String plaf) {

try {

UIManager.setLookAndFeel(plaf);

SwingUtilities.updateComponentTreeUI(this);

} catch (Exception e) {

}

}

/**

* 一轮游戏过程,实现了Runnable接口

* 一轮游戏是一个大循环,在这个循环中,每隔100毫秒,

* 检查游戏中的当前块是否已经到底了,如果没有,

* 就继续等待。如果到底了,就看有没有全填满的行,

* 如果有就删除它,并为游戏者加分,同时随机产生一个

* 新的当前块,让它自动下落。

* 当新产生一个块时,先检查画布最顶上的一行是否已经

* 被占了,如果是,可以判断Game Over了。*/

private class Game implements Runnable {

public void run() {

//产生新方快

int col = (int) (Math.random() * (canvas.getCols() - 3)),

style = ErsBlock.STYLES[(int) (Math.random() * 7)][(int) (Math.random() * 4)];

while (playing) {

if (block != null) { //第一次循环时,block为空

if (block.isAlive()) {

try {

Thread.currentThread().sleep(100);

} catch (InterruptedException ie) {

ie.printStackTrace();

}

continue;

}

}

checkFullLine(); //检查是否有全填满的行

if (isGameOver()) { //检查游戏是否应该结束了

miPlay.setEnabled(true);

miPause.setEnabled(true);

miResume.setEnabled(false);

ctrlPanel.setPlayButtonEnable(true);

ctrlPanel.setPauseButtonLabel(true);

reportGameOver();

return;

}

block = new ErsBlock(style, -1, col, getLevel(), canvas);

block.start();

col = (int) (Math.random() * (canvas.getCols() - 3));

style = ErsBlock.STYLES[(int) (Math.random() * 7)][(int) (Math.random() * 4)];

ctrlPanel.setTipStyle(style);

}

}

/**

* 检查画布中是否有全填满的行,如果有就删除之*/

public void checkFullLine() {

for (int i = 0; i canvas.getRows(); i++) {

int row = -1;

boolean fullLineColorBox = true;

for (int j = 0; j canvas.getCols(); j++) {

if (!canvas.getBox(i, j).isColorBox()) {

fullLineColorBox = false;

break;

}

}

if (fullLineColorBox) {

row = i--;

canvas.removeLine(row);

}

}

}

/**

* 根据最顶行是否被占,判断游戏是否已经结束了。

* @return boolean, true-游戏结束了,false-游戏未结束*/

private boolean isGameOver() {

for (int i = 0; i canvas.getCols(); i++) {

ErsBox box = canvas.getBox(0, i);

if (box.isColorBox()) return true;

}

return false;

}

}


当前题目:java代码小程序下载,小程序开发软件下载
网页链接:http://bzwzjz.com/article/hcecog.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 定制网站制作 温江网站设计 企业网站设计 重庆网站建设 重庆外贸网站建设 广安网站设计 成都网站建设 成都网站建设 重庆网站建设 网站建设开发 企业网站制作 成都定制网站建设 网站建设公司 成都网站制作 成都营销网站制作 成都品牌网站设计 成都企业网站建设 企业网站设计 响应式网站设计 成都网站建设 网站建设 成都h5网站建设