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代码小程序下载,小程序开发软件下载
本文链接:https://www.cdcxhl.com/article6/hcecog.html

成都网站建设公司_创新互联,为您提供移动网站建设商城网站营销型网站建设网站建设外贸建站网站设计公司

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

小程序开发