- 浏览: 1236364 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (242)
- java (58)
- netty (14)
- javascript (21)
- commons (13)
- 读书笔记 (5)
- java测试 (6)
- database (5)
- struts2 (8)
- hibernate (6)
- english (27)
- spring (10)
- 生活 (4)
- 多线程 (4)
- 正则表达式 (1)
- 杂项 (1)
- maven (4)
- 数据库 (10)
- 学习笔记 (1)
- mongodb (1)
- 百度bcs (4)
- 云推送javasdk (2)
- webservice (3)
- IllegalAnnotationException: Two classes have the same XML type name (0)
- drools (3)
- freemarker (3)
- tomcat (1)
- html5 (2)
- mq (11)
- fastjson (3)
- 小算法 (2)
最新评论
-
longxitian:
https://www.cnblogs.com/jeffen/ ...
万恶的Mybatis的EnumTypeHandler -
asialee:
ddnzero 写道博主请问FileUtils这个类是哪个包的 ...
使用mockftpserver进行ftp测试 -
ddnzero:
博主请问FileUtils这个类是哪个包的?还是自己的呢?能放 ...
使用mockftpserver进行ftp测试 -
yizishou:
为什么会intMap.get("bbb") ...
浅谈System.identityHashCode -
liguanqun811:
感觉LogManager打开了所有的LogSegment(文件 ...
jafka学习之LogManager
先上图吧:
功能是: 点击play后三个图片会随机的进行变化, 然后点击相应的底下的stop按钮,相应
的图片就会停止下来,上面的stop按钮是三个同时停下来。
做这个有下面的体会:
1. VisualSwing 在eclipse底下特别好用,记录一下
http://download.eclipse.org/tools/ve/updates/1.5.0/
2. 我在重载paint函数的时候, 忘记了super.paint(g), 导致了一些控件没有正确的被绘制
3. 在写线程的时候,忘记加了while(true)这样的代码了, 导致了线程直接退出了,这个说明基础知识还不是很牢固。
4. 对applet的声明周期稍微有点了解了,实际上repaint里面是调用了paint(g)函数的,但是一般是不介意直接调用paint(g),因为paint(g)是由AWT的主线程调用的。
5. 这个里面是没有声音的,另外对图像的处理也很粗糙,感觉一个东西做好还是需要很多心思的。
功能是: 点击play后三个图片会随机的进行变化, 然后点击相应的底下的stop按钮,相应
的图片就会停止下来,上面的stop按钮是三个同时停下来。
做这个有下面的体会:
1. VisualSwing 在eclipse底下特别好用,记录一下
http://download.eclipse.org/tools/ve/updates/1.5.0/
2. 我在重载paint函数的时候, 忘记了super.paint(g), 导致了一些控件没有正确的被绘制
3. 在写线程的时候,忘记加了while(true)这样的代码了, 导致了线程直接退出了,这个说明基础知识还不是很牢固。
4. 对applet的声明周期稍微有点了解了,实际上repaint里面是调用了paint(g)函数的,但是一般是不介意直接调用paint(g),因为paint(g)是由AWT的主线程调用的。
5. 这个里面是没有声音的,另外对图像的处理也很粗糙,感觉一个东西做好还是需要很多心思的。
import java.awt.Graphics; import java.awt.Image; import java.awt.Rectangle; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Random; import javax.swing.JApplet; import javax.swing.JButton; import javax.swing.JPanel; public class StopGo extends JApplet { private static final long serialVersionUID = 4396077428436372737L; private final static int CHERRY_STOP = 50; private final static int CLUB_STOP = 60; private final static int SPADE_STOP = 30; private JPanel rootContentPanel = null; private JButton startButton = null; private JButton stompButton = null; private JButton stopClub = null; private JButton stopSpade = null; private JButton stopCherry = null; private Image[] images = new Image[3]; private Thread cherryThread; private Thread clubThread; private Thread spadeThread; private boolean stopClubFlag = true; private boolean stopSpadeFlag = true; private boolean stopCherryFlag = true; private Image lastCherry = null; private Image lastClub = null; private Image lastSpade = null; /** * This method initializes this * * @return void */ public void init() { images[0] = getImage(getCodeBase(), "club.jpg"); images[1] = getImage(getCodeBase(), "spade.jpg"); images[2] = getImage(getCodeBase(), "cherry.jpg"); lastClub = images[0]; lastSpade = images[1]; lastCherry = images[2]; this.setSize(420, 290); this.setContentPane(getJContentPane()); } public void paint(Graphics g) { super.paint(g); g.drawImage(lastClub, 60, 60, this); g.drawImage(lastSpade, 190, 60, this); g.drawImage(lastCherry, 320, 60, this); } /** * This method initializes jContentPane * * @return javax.swing.JPanel */ private JPanel getJContentPane() { if (rootContentPanel == null) { rootContentPanel = new JPanel(); rootContentPanel.setLayout(null); rootContentPanel.add(getStartButton(), null); rootContentPanel.add(getStopButton(), null); rootContentPanel.add(getStopCherry(), null); rootContentPanel.add(getStopStod(), null); rootContentPanel.add(getStopValid(), null); } return rootContentPanel; } /** * This method initializes startButton * * @return javax.swing.JButton */ private JButton getStartButton() { if (startButton == null) { startButton = new JButton("Play"); startButton.setBounds(new Rectangle(120, 18, 82, 32)); } startButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { cherryThread = new DrawCherryThread(); clubThread = new DrawClubThread(); spadeThread = new DrawSpadeThread(); cherryThread.start(); clubThread.start(); spadeThread.start(); stopCherryFlag = false; stopClubFlag = false; stopSpadeFlag = false; startButton.setEnabled(false); stompButton.setEnabled(true); stopCherry.setEnabled(true); stopClub.setEnabled(true); stopSpade.setEnabled(true); } }); return startButton; } /** * This method initializes stopButton * * @return javax.swing.JButton */ private JButton getStopButton() { if (stompButton == null) { stompButton = new JButton("Stop"); stompButton.setBounds(new Rectangle(260, 18, 82, 32)); stompButton.setEnabled(false); } stompButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { stopCherryFlag = true; stopClubFlag = true; stopSpadeFlag = true; startButton.setEnabled(true); stompButton.setEnabled(false); stopCherry.setEnabled(false); stopClub.setEnabled(false); stopSpade.setEnabled(false); } }); return stompButton; } private void stopAllAndActivePlay(){ if(stopCherryFlag && stopClubFlag && stopSpadeFlag) { startButton.setEnabled(true); stompButton.setEnabled(false); } } /** * This method initializes stopCherry * * @return javax.swing.JButton */ private JButton getStopCherry() { if (stopClub == null) { stopClub = new JButton("Stop"); stopClub.setBounds(new Rectangle(46, 181, 82, 32)); stopClub.setEnabled(false); } stopClub.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { stopClubFlag = true; stopClub.setEnabled(false); stopAllAndActivePlay(); } }); return stopClub; } /** * This method initializes stopStod * * @return javax.swing.JButton */ private JButton getStopStod() { if (stopSpade == null) { stopSpade = new JButton("Stop"); stopSpade.setBounds(new Rectangle(182, 181, 91, 32)); stopSpade.setEnabled(false); } stopSpade.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { stopSpadeFlag = true; stopSpade.setEnabled(false); stopAllAndActivePlay(); } }); return stopSpade; } /** * This method initializes stopValid * * @return javax.swing.JButton */ private JButton getStopValid() { if (stopCherry == null) { stopCherry = new JButton("Stop"); stopCherry.setBounds(new Rectangle(316, 181, 91, 32)); stopCherry.setEnabled(false); } stopCherry.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { stopCherryFlag = true; stopCherry.setEnabled(false); stopAllAndActivePlay(); } }); return stopCherry; } public class DrawClubThread extends Thread { @Override public void run() { while (!stopClubFlag) { lastClub = images[new Random().nextInt(3)]; repaint(); try { Thread.sleep(CLUB_STOP); } catch (InterruptedException e) { e.printStackTrace(); } } } } public class DrawCherryThread extends Thread { @Override public void run() { while (!stopCherryFlag) { lastCherry = images[new Random().nextInt(3)]; repaint(); try { Thread.sleep(CHERRY_STOP); } catch (InterruptedException e) { e.printStackTrace(); } } } } public class DrawSpadeThread extends Thread { @Override public void run() { while (!stopSpadeFlag) { lastSpade = images[new Random().nextInt(3)]; repaint(); try { Thread.sleep(SPADE_STOP); } catch (InterruptedException e) { e.printStackTrace(); } } } } }
发表评论
-
maven的system scope的依赖在打包的时候不出现在lib里面的解决
2017-09-20 11:21 0上周遇到一个问题,一个sytem scope的依赖,在导出的 ... -
JAVA静态代码块
2015-04-07 16:26 2037今天遇到下面的代码 ... -
StringUtils.repeat函数赏析与疑问
2014-09-01 18:43 6090今天实现一个字符串拼接的一个需求,比如: ... -
java服务的培训ppt
2014-08-30 23:01 1585给应届生培训java web 服 ... -
给新人制定的java学习计划
2014-08-30 22:52 2504花了一点时间,给团队应届生和实习生制定 ... -
获取手机的mac地址
2014-04-10 22:20 3406与IP不同,MAC是指连接WIFI使用的无线网卡的物理地址, ... -
解决errorpage里面取不到Authentication的问题
2013-01-20 23:56 2454本人原创,发现一些网站无道德的抓取 ... -
SimpleDateFormat使用的时候的注意点
2012-12-06 20:59 2056今天在帮助同事查找一个项目bug的时候发现一个很奇怪 ... -
java和javascript的正则表达式有点不同
2012-11-06 18:54 1448今天在项目中遇 ... -
velocity 1.6.4的一个bug
2012-09-10 17:24 2181$.ajax()在Velocity中会冲突, 总之 ... -
一种多数据源分页算法
2012-09-10 17:13 7551以前开发一个系统,需要去多个系统去取数据,简单期间,比 ... -
使用stringBuffer和StringBuilder拼串要注意的问题
2012-07-30 17:30 8099今天在和同事排除一个问题的时候发现,从 ... -
java获取当月的工作日
2012-05-10 12:07 6136在这个记录一下,记录java获取某个月的工作日的代码,方便以 ... -
webservice引用传参
2012-04-19 19:38 1453http://www.blogjava.net/xylz/ar ... -
java获取当天的开始时间,当前周的开始时间
2012-04-16 17:31 19597在程序里面要获取当前的开始时间和结束时间,以及当前天 ... -
edtFTPj源码学习
2012-04-11 16:25 1257下面是edtFTPj的源码学习,下面的类图都是我自己亲手花的, ... -
ftp协议研究
2012-03-12 17:34 1272ACTIVE FTP OPERATION 1、客户端使用源 ... -
西安交通大学的错误日志
2011-12-14 13:30 1010西安交大的网站报错了,记录下出错日志,改天研究一下。 HT ... -
tomcat的favicon.ico的用法
2011-12-01 20:00 22421. web.xml文件添加下面的mime-mapping ... -
htmlunit模拟sso登陆
2011-07-27 14:45 6940import java.io.IOException; ...
相关推荐
标题中的“自己写的一个java小程序”表明这是一段用Java编程语言编写的简易应用程序,而描述则提到这是作者在空闲时间创作的作品,可能存在功能不全或者需要改进的地方,他期望有其他对Java编程感兴趣的人能参与完善...
Java虚拟机为Applet运行提供了一个“沙箱”环境,限制了Applet的某些操作,以防止恶意代码的执行。例如,Applet不能随意调用其他程序、进行文件读写、加载本地库或与非提供Applet的主机建立socket连接。这些限制确保...
例如,你可以使用`JFrame`、`JPanel`、`JButton`等Swing类创建一个简单的窗口Applet,然后通过`add()`方法添加组件,使用`setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)`设置关闭操作,`setVisible(true)`使窗口...
总的来说,这个"简单java Applet做的登录界面"展示了如何使用Java技术构建一个基本的Web客户端应用程序。尽管Applet在当前Web开发中已较少使用,但它仍然是学习Java GUI编程和客户端-服务器交互的一个经典示例。理解...
在本案例中,我们通过Java Applet 实现了一个具有简单功能的风扇模拟器,该程序允许用户控制风扇的速度并改变扇叶的颜色。 #### 二、项目结构与组件 - **项目核心类**:`MyCanvas` 类继承自 `Applet`,是整个程序的...
下面是一个简单的Java Applet示例: ```java import java.applet.Applet; import java.awt.*; public class FirstApplet extends Applet { public void paint(Graphics g) { g.drawRect(0, 0, 250, 100); g....
1. 创建一个继承自 `java.applet.Applet` 的公共子类,子类名应与源程序文件名相同。 2. 编译该源代码文件生成 `.class` 文件。 3. 在 HTML 文件中添加 `<applet>` 标签,指定 `.class` 文件的位置。 4. 当用户访问...
- **创建Applet**:编写一个简单的Applet,用于下载服务器上的文件到本地。 - **实现下载逻辑**:使用`java.net.URL`和`java.io`包中的类,如`URL`和`InputStream/OutputStream`,实现从服务器读取数据并写入本地...
虽然Java Applet由于安全性和现代Web技术的崛起,已经逐渐被淘汰,但它仍然是学习Java GUI编程和Web应用程序历史的一个重要组成部分。通过这个作业,学习者可以了解到早期互联网时代的交互式内容是如何创建的,并为...
2. 编写一个简单的 Java Applet 程序,在 Java Applet 中写两行文字:“这是一个 Java Applet 程序”和“我改变了字体”。 3. 联合编译四个源文件:Hello.java、A.java、B.java 和 C.java,每个源文件只有一个类,...
标题中的“图片浏览小程序(java+applet)”表明这是一个基于Java技术开发的小程序,主要用于查看图片。Applet是Java的一种小程序,它可以嵌入到HTML页面中,由浏览器来执行。这个项目可能是一个简单的图像查看器,...
本主题关注的是如何使用Applet来实现一个自动化文件下载功能,即从服务器上下载文件到客户端,而且这个过程无需用户手动操作弹出的保存对话框。 首先,我们需要了解Applet的基本概念。Applet是Java语言编写的一种...
**Applet** 是Java的一个特性,它允许开发者创建可以在网页中运行的小程序。在Web的早期,Applet常用于增强网页的交互性,如动态图像或简单的游戏。Applet运行在用户的Java虚拟机(JVM)上,通过浏览器插件来支持。...
- **代码示例**:以下是一个简单的Java Applet示例,展示如何读取本地文件。 ```java package jcomponent; import java.awt.*; import java.awt.event.*; import java.applet.*; import java.io.*; public ...
这可以通过创建一个简单的Java类来完成。 2. 创建服务器端逻辑:利用JSP创建一个Servlet,负责接收客户端发送的聊天请求,处理消息并将其保存到数据库中。Servlet是Java Web应用程序的核心部分,可以处理HTTP请求和...
3. Java Application通常由一个或多个类组成,主类包含main方法。通过javac命令编译源代码生成.class字节码文件,这些文件机器无法直接执行,需要JVM(Java虚拟机)解释执行。执行Java程序时,使用java命令并指定...
熟悉JDK的安装和配置,学习如何编写并运行简单的Application程序和Applet程序(能输出一条简单的问候信息); 三、实验要求: 1. 能正确地安装JDK 2. 熟悉环境变量PATH, CLASSPATH设置方法,熟悉编辑环境 3. 调试程序...
2. 一个程序中是否能存在两个访问权限为 public 的类?通过程序验证你的判断。 六、线程实验 实验目的:掌握 Java 多线程程序的特点,编译,调试及运行方法。 实验环境:Java 编译系统。 预备知识:线程及进程的...