我是JAVA初学者,在以下代码基础上修改一下,用J2SE的GUI组件设计一块类似于屏保的砖墙,要求:
(1)、程序在绘制完第一块砖头后,会间隔1秒钟再接着绘制第二块砖头,如此类推,直至将整个JPanel充满为止。
(2)、当充满整个JPanel后,先前的第一个砖头会自动消失,接着第二个砖头会消失,直至将整个JPanel清空。
(3)、清空后,先前的第一块砖头的位置将再画一块砖头,循环第(1)步的操作。
如果有哪位大知道怎么弄得话,请将代码发送到以下邮箱 su1989hai@126.com,小弟无比感谢!!!
这个是BrickWall.java主程序
// Exercise 20.11: BrickWall.java
// Program builds a brick wall using rectangles.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class BrickWall extends JFrame
{
// DrawJPanel for displaying bricks
private DrawJPanel drawingJPanel;
// no-argument constructor
public BrickWall()
{
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 drawingJPanel
drawingJPanel = new DrawJPanel();
drawingJPanel.setBounds( 0, 0, 450, 250 );
drawingJPanel.setBackground( Color.WHITE );
contentPane.add( drawingJPanel );
// set properties of application's window
setTitle( "Brick Wall" ); // set title bar text
setSize( 454, 275 ); // set window size
setVisible( true ); // display window
} // end method createUserInterface
// main method
public static void main( String[] args )
{
BrickWall application = new BrickWall();
application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
} // end method main
} // end class BrickWall
这个是MyRectangle.java,一个画矩形的类
// Tutorial 20: MyRectangle.java
// This class defines the MyRectangle object.
import java.awt.*;
public class MyRectangle extends Rectangle
{
// instance variable to hold fillColor of MyRectangle
private Color fillColor;
// constructor
public MyRectangle( int xValue, int yValue, int widthValue,
int heightValue, Color colorValue )
{
// call constructor of superclass
super( xValue, yValue, widthValue, heightValue );
// set fillColor of MyRectangle
setFillColor( colorValue );
} // end constructor
// set fillColor value
public void setFillColor( Color colorValue )
{
fillColor = colorValue;
} // end method setColor
// get fillColor value
public Color getFillColor()
{
return fillColor;
} // end method getColor
// draw MyRectangle
public void drawMyRectangle( Graphics g )
{
g.setColor( fillColor );
g.fillRect( x, y, width, height );
} // end method drawRect
} // end class MyRectangle
这个是DrawJPanel.java,画砖墙的类
// Exercise 20.11: DrawJPanel.java
// This class defines the DrawJPanel object.
import java.awt.*;
import java.awt.event.*;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Random;
import javax.swing.*;
public class DrawJPanel extends JPanel
{
// ArrayList object to hold MyRectangle objects
private ArrayList brickArrayList = new ArrayList();
// no-argument constructor
public DrawJPanel()
{
super();
drawBricks();
} // end contructor
// add randomNumber brick to ArrayList and draw all bricks
public void paintComponent( Graphics g )
{
super.paintComponent( g );
// create iterator
Iterator traverse = brickArrayList.iterator();
// iterate through ArrayList and draw all MyRectangles
while ( traverse.hasNext() )
{
MyRectangle currentRectangle =
( MyRectangle ) traverse.next();
currentRectangle.drawMyRectangle( g ); // draw brick
} // end while loop
} // end method paintComponent
// draw 10 rows and 9 columns of bricks
public void drawBricks()
{
// declare a new MyRectangle object
// set the bricks color
Color myColor = Color.RED;
// initialize width and height variables
int width = 45;
int height = 20;
for(int row=0;row <=9;row++)
{
int y=25;
y=y*row;
for(int column=0;column <=9;column++)
{
int x=50;
x=x*column;
if(row%2==1)
{
MyRectangle brick=new MyRectangle(x,y,width,height,myColor);
brickArrayList.add(brick);
}
else
{
MyRectangle bricks=new MyRectangle(x-25,y,width,height,myColor);
brickArrayList.add(bricks);
}
}
}
// repaint JPanel
repaint();
} // end method drawBricks
} // end class DrawJPanel
相关推荐
内容概要:通过程序注释带着读者了解GUI界面构建过程,初步了解 java GUI的使用,理解GUI框架中的核心逻辑,简化代码实现过程,保留核心功能,例如:登陆确认、随机出题、题目文本导入等内容实现。 适合人群:具备...
本示例程序"Java GUI简单程序"旨在教你如何构建一个基本的GUI界面,同时整合数据库连接、查询功能,并利用JTable来展示查询结果。这是一个很好的起点,适合那些希望深入理解Java Swing库和数据库操作的初学者。 ...
Java的GUI程序设计是Java应用程序开发中的一个重要领域,它允许开发者创建交互式的图形用户界面。在本实验中,我们将深入理解Java GUI的基本概念,并通过实际操作来熟悉其关键组件和事件处理机制。 首先,GUI...
Java GUI(图形用户界面)开发是Java编程领域中的一个重要部分,它允许开发者创建具有交互性的桌面应用程序。在Java中,我们可以使用多种库来构建GUI,其中最常用的包括Swing和JavaFX。本项目中提到的"javaGUI开发的...
通过Java的GUI来编写服务器和客服端来创建一个聊天室程序
综上所述,这个Java编写的定时关机程序结合了Java的基础知识、操作系统交互、GUI编程以及多线程等技术,对于学习Java的开发者来说是一个很好的实践项目。通过理解这些知识点,开发者不仅可以创建类似的应用,还能...
在这个特定的案例中,"java GUI notepad" 是一个使用Java GUI编写的简单记事本程序。这个程序可能实现了基本的文本编辑功能,如打开、保存、复制、粘贴、查找和替换等,这些都是一个标准记事本应用通常会提供的。 ...
1、进入Eclipse环境,新建一个Java Project; 2、编写程序实现显示功能选项,创建GUI界面,显示所有学生信息,实现学生添加界面 3、编写程序,实现数据查询功能,加载数据功能,读取数组内容,生成对象,GUI界面显示...
【描述】:“这是一个用JAVA编写的像WINDOWS画板的程序,实现了一小部分功能,可以拿来看看的东东。” 描述中提到,这个Java版的画板程序实现了Windows画板的一部分功能。这可能包括基本的绘画工具,如选择不同颜色...
Java GUI(图形用户界面)程序设计是Java编程领域的一个重要组成部分,它允许开发者创建具有丰富交互性的桌面...这本书“Java GUI程序设计”很可能会深入探讨这些主题,并提供实例代码帮助读者理解和掌握Java GUI编程。
java编写的ATM模拟程序,GUI界面,连接Mysql数据库,实现了管理员界面(增删改查),用户界面(取款,存款,查询,安全退出,修改密码,转账,查询记录,导出记录),详情请看我的博客 ...
本项目是个人使用JAVA编写的聊天程序,它实现了基本的即时通讯功能,用户之间可以进行文字聊天并发送表情,具有实时性的特点。 首先,我们要了解Java聊天程序的基础架构。在Java中,通常会采用Socket编程来实现网络...
综上所述,这个"java编写的GUI树的创立和遍历程序"是一个综合性的项目,涵盖了数据结构、算法、GUI编程和事件处理等多个重要概念。通过这个程序,开发者能够向用户展示如何在Java环境中创建、操作和可视化树数据结构...
总之,Java GUI和Swing提供了一个强大的框架,用于构建具有用户友好的图形界面的应用程序。通过学习和实践,开发者可以利用这些工具创建出满足各种需求的桌面应用。本教程中的源代码将帮助你更好地理解和运用这些...
这是一个用Java GUI编写的画板程序,自编代码,java课程设计 实现铅笔,橡皮,功能,可以画直线,矩形,圆等各种形状,可以保存读取所画图片,更改背景等。也有图片。可根据自己需求添加新功能,有一些功能也供大家...
在这个特定的场景中,我们讨论的是一个使用Java编写的时钟小程序。这个程序可能利用了Java的Swing或JavaFX库来创建图形用户界面(GUI),显示当前时间,并可能提供了其他一些功能,如定时提醒或者时间格式的自定义。...
标题 "合并TXT的java编写Gui小程序" 描述了一个使用Java编程语言开发的图形用户界面(GUI)应用程序,其主要功能是合并多个TXT文本文件。这个程序尽管还没有完成所有功能,但核心的TXT合并功能已经实现。从标签"TXT...
10. **调试与测试**:编写GUI程序时,调试和测试同样重要。可以使用Swing内置的`JOptionPane`类弹出对话框进行简单的测试,或者利用IDE提供的工具进行更复杂的调试。 在学习和实践中,了解并掌握这些基本概念和技巧...
实验中,服务器端程序创建了一个SFrame类,该类继承自Frame,表示一个GUI窗口。窗口包含一个端口号文本字段、一个文本区域、一个输入框,以及两个按钮。"Start"按钮用于启动服务器,"say"按钮用于发送消息。...
Swing是在AWT基础上发展起来的,它是一个完全由Java编写的库,提供了更丰富的组件集和更好的跨平台兼容性。 在Swing中,组件通常被称为J组件,如JButton、JLabel、JTextField等。Swing还引入了容器(如JFrame、...