0 0

一个用JAVA编写的GUI程序问题,紧!!!!5

我是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
2009年6月01日 22:51

3个答案 按时间排序 按投票排序

0 0

自己动手先 有具体问题再问

2009年6月16日 21:58
0 0

说的太笼统了。
实现步骤没什么复杂度,做图形,关键看细节的实现,你没有说转头是怎么绘制出来的,是淡入淡出绘制还是渐变绘制??没有动态缓慢的效果没人愿意看,呵呵。

2009年6月16日 09:32
0 0

思路都有 为什么不自己找资料 开始动手呢

2009年6月16日 08:13

相关推荐

    随机出题系统的java实现,使用java GUI和MySql数据库!

    内容概要:通过程序注释带着读者了解GUI界面构建过程,初步了解 java GUI的使用,理解GUI框架中的核心逻辑,简化代码实现过程,保留核心功能,例如:登陆确认、随机出题、题目文本导入等内容实现。 适合人群:具备...

    Java gui简单程序

    本示例程序"Java GUI简单程序"旨在教你如何构建一个基本的GUI界面,同时整合数据库连接、查询功能,并利用JTable来展示查询结果。这是一个很好的起点,适合那些希望深入理解Java Swing库和数据库操作的初学者。 ...

    实验十一 java的GUI程序设计.docx

    Java的GUI程序设计是Java应用程序开发中的一个重要领域,它允许开发者创建交互式的图形用户界面。在本实验中,我们将深入理解Java GUI的基本概念,并通过实际操作来熟悉其关键组件和事件处理机制。 首先,GUI...

    javaGUI开发的小程序

    Java GUI(图形用户界面)开发是Java编程领域中的一个重要部分,它允许开发者创建具有交互性的桌面应用程序。在Java中,我们可以使用多种库来构建GUI,其中最常用的包括Swing和JavaFX。本项目中提到的"javaGUI开发的...

    用Java的GUI来编写聊天室

    通过Java的GUI来编写服务器和客服端来创建一个聊天室程序

    Java编写的定时关机程序!只适用于Windows

    综上所述,这个Java编写的定时关机程序结合了Java的基础知识、操作系统交互、GUI编程以及多线程等技术,对于学习Java的开发者来说是一个很好的实践项目。通过理解这些知识点,开发者不仅可以创建类似的应用,还能...

    java GUI 编写的记事本

    在这个特定的案例中,"java GUI notepad" 是一个使用Java GUI编写的简单记事本程序。这个程序可能实现了基本的文本编辑功能,如打开、保存、复制、粘贴、查找和替换等,这些都是一个标准记事本应用通常会提供的。 ...

    java-利用GUI实现窗口学生管理系统

    1、进入Eclipse环境,新建一个Java Project;  2、编写程序实现显示功能选项,创建GUI界面,显示所有学生信息,实现学生添加界面 3、编写程序,实现数据查询功能,加载数据功能,读取数组内容,生成对象,GUI界面显示...

    用JAVA编写的画板程序

    【描述】:“这是一个用JAVA编写的像WINDOWS画板的程序,实现了一小部分功能,可以拿来看看的东东。” 描述中提到,这个Java版的画板程序实现了Windows画板的一部分功能。这可能包括基本的绘画工具,如选择不同颜色...

    java GUI程序设计

    Java GUI(图形用户界面)程序设计是Java编程领域的一个重要组成部分,它允许开发者创建具有丰富交互性的桌面...这本书“Java GUI程序设计”很可能会深入探讨这些主题,并提供实例代码帮助读者理解和掌握Java GUI编程。

    java编写ATM柜员机模拟程序(GUI+javaSwing+MySQL).zip

    java编写的ATM模拟程序,GUI界面,连接Mysql数据库,实现了管理员界面(增删改查),用户界面(取款,存款,查询,安全退出,修改密码,转账,查询记录,导出记录),详情请看我的博客 ...

    个人使用JAVA编写的聊天程序

    本项目是个人使用JAVA编写的聊天程序,它实现了基本的即时通讯功能,用户之间可以进行文字聊天并发送表情,具有实时性的特点。 首先,我们要了解Java聊天程序的基础架构。在Java中,通常会采用Socket编程来实现网络...

    java编写的GUI树的创立和遍历程序

    综上所述,这个"java编写的GUI树的创立和遍历程序"是一个综合性的项目,涵盖了数据结构、算法、GUI编程和事件处理等多个重要概念。通过这个程序,开发者能够向用户展示如何在Java环境中创建、操作和可视化树数据结构...

    JAVA gui swing程序设计

    总之,Java GUI和Swing提供了一个强大的框架,用于构建具有用户友好的图形界面的应用程序。通过学习和实践,开发者可以利用这些工具创建出满足各种需求的桌面应用。本教程中的源代码将帮助你更好地理解和运用这些...

    java编写的画板

    这是一个用Java GUI编写的画板程序,自编代码,java课程设计 实现铅笔,橡皮,功能,可以画直线,矩形,圆等各种形状,可以保存读取所画图片,更改背景等。也有图片。可根据自己需求添加新功能,有一些功能也供大家...

    一个用java编写的时钟小程序

    在这个特定的场景中,我们讨论的是一个使用Java编写的时钟小程序。这个程序可能利用了Java的Swing或JavaFX库来创建图形用户界面(GUI),显示当前时间,并可能提供了其他一些功能,如定时提醒或者时间格式的自定义。...

    合并TXT的java编写Gui小程序

    标题 "合并TXT的java编写Gui小程序" 描述了一个使用Java编程语言开发的图形用户界面(GUI)应用程序,其主要功能是合并多个TXT文本文件。这个程序尽管还没有完成所有功能,但核心的TXT合并功能已经实现。从标签"TXT...

    java GUI程序案例

    10. **调试与测试**:编写GUI程序时,调试和测试同样重要。可以使用Swing内置的`JOptionPane`类弹出对话框进行简单的测试,或者利用IDE提供的工具进行更复杂的调试。 在学习和实践中,了解并掌握这些基本概念和技巧...

    基于GUI的网络通信程序设计.docx

    实验中,服务器端程序创建了一个SFrame类,该类继承自Frame,表示一个GUI窗口。窗口包含一个端口号文本字段、一个文本区域、一个输入框,以及两个按钮。"Start"按钮用于启动服务器,"say"按钮用于发送消息。...

    JavaGUI程序设计

    Swing是在AWT基础上发展起来的,它是一个完全由Java编写的库,提供了更丰富的组件集和更好的跨平台兼容性。 在Swing中,组件通常被称为J组件,如JButton、JLabel、JTextField等。Swing还引入了容器(如JFrame、...

Global site tag (gtag.js) - Google Analytics