Create Dynamic Ladder with Java | Learn to Code Java Graphics

  • Java
  • Thread starter life4menu
  • Start date
  • Tags
    Shapes
In summary, "Disappear shapes" refer to objects or figures that appear to disappear or blend into their surroundings due to optical illusions or camouflage. This can be caused by factors such as color, light, and shadow, as well as natural camouflage abilities in certain animals and plants. Scientists study "Disappear shapes" through experiments, observations, and technologies like computer simulations and imaging techniques. These shapes can also be artificially created, such as with camouflage clothing. Studying "Disappear shapes" has practical applications in areas such as military camouflage, hunting gear, and conservation efforts.
  • #1
life4menu
1
0
Hi,

I have a program that draws four rectangles at a time using a while loop.
this is my code.

[code = java]



import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.Timer;


/**
* @author Akshintala
*/

/**
* @param args
*/

public class LadderConstruction extends JPanel implements ActionListener {

/**
*
*/
private static final long serialVersionUID = 1L;

public void paintComponent(Graphics g){
Graphics2D g2 = (Graphics2D) g;

g.setColor( Color.BLACK );
g2.setStroke(new BasicStroke(4));

g.drawLine(300,300,950,300); // Upper side wall
g.drawString("R",960,300); // Label Upper

g.drawLine(300,500,950,500); // Lower side wall
g2.setStroke(new BasicStroke(8));
g.drawLine(300,400,950,400); // Middle ridge
g.drawString("L",960,500); // Label Upper


g.setColor( Color.GRAY);
g2.setStroke(new BasicStroke(2));
g.drawString("27",298,295); // Label 1
g.drawString("27",298,515); // Label 1

g.drawLine(300,300,300,395); // Upper rung 1
g.drawLine(300,405,300,500); // Lower rung 1
g.drawString("26",323,295); // Label 2
g.drawString("26",321,515); // Label 2

g.drawLine(325,300,325,395); // Upper rung 2
g.drawLine(325,405,325,500); // Lower rung 2
g.drawString("25",348,295); // Label 3
g.drawString("25",346,515); // Label 3

g.drawLine(350,300,350,395); // Upper rung 2
g.drawLine(350,405,350,500); // Lower rung 3
g.drawString("24",373,295); // Label 4
g.drawString("24",371,515); // Label 4

g.drawLine(375,300,375,395); // Upper rung 4
g.drawLine(375,405,375,500); // Lower rung 4
g.drawString("23",398,295); // Label 5
g.drawString("23",397,515); // Label 5

g.drawLine(400,300,400,395); // Upper rung 4
g.drawLine(400,405,400,500); // Lower rung 5
g.drawString("22",423,295); // Label 6
g.drawString("22",421,515); // Label 5

g.drawLine(425,300,425,395); // Upper rung 6
g.drawLine(425,405,425,500); // Lower rung 6
g.drawString("21",448,295); // Label 7
g.drawString("21",446,515); // Label 7

g.drawLine(450,300,450,395); // Upper rung 7
g.drawLine(450,405,450,500); // Lower rung 7
g.drawString("20",473,295); // Label 8
g.drawString("20",472,515); // Label 7

g.drawLine(475,300,475,395); // Upper rung 8
g.drawLine(475,405,475,500); // Lower rung 8
g.drawString("19",498,295); // Label 9
g.drawString("19",496,515); // Label 9

g.drawLine(500,300,500,395); // Upper rung 9
g.drawLine(500,405,500,500); // Lower rung 9
g.drawString("18",520,295); // Label 10
g.drawString("18",518,515); // Label 9

g.drawLine(525,300,525,395); // Upper rung 10
g.drawLine(525,405,525,500); // Lower rung 10
g.drawString("17",545,295); // Label 11
g.drawString("17",543,515); // Label 11

g.drawLine(550,300,550,395); // Upper rung 11
g.drawLine(550,405,550,500); // Lower rung 11
g.drawString("16",570,295); // Label 12
g.drawString("16",568,515); // Label 12

g.drawLine(575,300,575,395); // Upper rung 12
g.drawLine(575,405,575,500); // Lower rung 12
g.drawString("15",595,295); // Label 13
g.drawString("15",593,515); // Label 13

g.drawLine(600,300,600,395); // Upper rung 13
g.drawLine(600,405,600,500); // Lower rung 13
g.drawString("14",620,295); // Label 14
g.drawString("14",618,515); // Label 14

g.drawLine(625,300,625,395); // Upper rung 14
g.drawLine(625,405,625,500); // Lower rung 14
g.drawString("13",645,295); // Label 15
g.drawString("13",643,515); // Label 15

g.drawLine(650,300,650,395); // Upper rung 15
g.drawLine(650,405,650,500); // Lower rung 15
g.drawString("12",670,295); // Label 16
g.drawString("12",668,515); // Label 16

g.drawLine(675,300,675,395); // Upper rung 16
g.drawLine(675,405,675,500); // Lower rung 16
g.drawString("11",695,295); // Label 17
g.drawString("11",693,515); // Label 17

g.drawLine(700,300,700,395); // Upper rung 17
g.drawLine(700,405,700,500); // Lower rung 17
g.drawString("10",720,295); // Label 18
g.drawString("10",718,515); // Label 18

g.drawLine(725,300,725,395); // Upper rung 18
g.drawLine(725,405,725,500); // Lower rung 18
g.drawString("09",745,295); // Label 19
g.drawString("09",743,515); // Label 19

g.drawLine(750,300,750,395); // Upper rung 19
g.drawLine(750,405,750,500); // Lower rung 19
g.drawString("08",770,295); // Label 20
g.drawString("08",768,515); // Label 20

g.drawLine(775,300,775,395); // Upper rung 20
g.drawLine(775,405,775,500); // Lower rung 20
g.drawString("07",795,295); // Label 21
g.drawString("07",793,515); // Label 21

g.drawLine(800,300,800,395); // Upper rung 21
g.drawLine(800,405,800,500); // Lower rung 21
g.drawString("06",820,295); // Label 22
g.drawString("06",818,515); // Label 22

g.drawLine(825,300,825,395); // Upper rung 22
g.drawLine(825,405,825,500); // Lower rung 22
g.drawString("05",845,295); // Label 23
g.drawString("05",843,515); // Label 23

g.drawLine(850,300,850,395); // Upper rung 23
g.drawLine(850,405,850,500); // Lower rung 23
g.drawString("04",870,295); // Label 24
g.drawString("04",868,515); // Label 24

g.drawLine(875,300,875,395); // Upper rung 24
g.drawLine(875,405,875,500); // Lower rung 24
g.drawString("03",895,295); // Label 25
g.drawString("03",893,515); // Label 25

g.drawLine(900,300,900,395); // Upper rung 25
g.drawLine(900,405,900,500); // Lower rung 25
g.drawString("02",920,295); // Label 26
g.drawString("02",918,515); // Label 26

g.drawLine(925,300,925,395); // Upper rung 26
g.drawLine(925,405,925,500); // Lower rung 26
g.drawString("01",945,295); // Label 27
g.drawString("01",943,515); // Label 27

g.drawLine(950,300,950,395); // Upper rung 27
g.drawLine(950,405,950,500); // Lower rung 27


int x = 270;
int y= 350;
int yl = 450;
int x1 = 320;
int x2 = 370;

while(x<320){
x = x+25;
// System.out.println(x);
g.setColor(Color.CYAN);
g.drawRect(x,y,10,5);
g.drawRect(x,yl,10,5);
g.drawRect(x, y, 10, 5);
g.drawRect(x, yl, 10, 5);
g.fillRect(x, y, 10, 5);
g.fillRect(x, yl, 10, 5);


}


while(x1<370){
x1 = x1+25;
g.setColor(Color.CYAN);
g.drawRect(x1,y,10,5);
g.drawRect(x1,yl,10,5);
g.drawRect(x1, y, 10, 5);
g.drawRect(x1, yl, 10, 5);
g.fillRect(x1, y, 10, 5);
g.fillRect(x1, yl, 10, 5);
g.clearRect(x1, y, 10, 5);
g.clearRect(x1, yl, 10, 5);
}
while(x2<420){
x2 = x2+25;
g.setColor(Color.CYAN);
g.drawRect(x2,y,10,5);
g.drawRect(x2,yl,10,5);
g.drawRect(x2, y, 10, 5);
g.drawRect(x2, yl, 10, 5);
}

}

private JPanel ladder;
private Timer t = new Timer(1000,this)

public LadderConstruction( ) {

t.setInitialDelay(074);
ladder = new JPanel();
this.add(ladder);
setSize(500,500);
this.setVisible(true);
t.start( );
}

public void actionPerformed(ActionEvent ae) {

LadderConstruction lc= new LadderConstruction();

lc.repaint();

// lc.repaint();
t.stop();
}

public static void main (String args[]){

LadderConstruction lc= new LadderConstruction();

JFrame frame = new JFrame("Ladder Rung Sensor");
//
frame.add(lc);
frame.setSize(500,500);
frame.setVisible(true);
// frame.setLocationRelativeTo(null);
}
}
[/code]

I am drawing four rectangles using following code
Java:
while(x<320){
				x = x+25;
				//		System.out.println(x);
				g.setColor(Color.CYAN);
				g.drawRect(x,y,10,5);
				g.drawRect(x,yl,10,5);
				g.drawRect(x, y, 10, 5);
				g.drawRect(x, yl, 10, 5);
				g.fillRect(x, y, 10, 5);
				g.fillRect(x, yl, 10, 5);
}

Then later I print the next four rectangles by just changing my x coordinates. during this I want to make the previous rectangles disappear or flash off or whatever.

Please help me.
Thanks a lot.
 
Technology news on Phys.org
  • #2


Hi there,

Thank you for sharing your code and explaining your problem. It seems like you are trying to create a ladder with rungs that appear and disappear one at a time. To make the previous rectangles disappear, you can use the Graphics class's `clearRect()` method. This method takes in the coordinates of the rectangle you want to clear and removes it from the screen.

Here is an example of how you can modify your code to make the previous rectangles disappear:

// loop through all the rectangles
while(x<320){
x = x+25;
// draw the rectangles
g.setColor(Color.CYAN);
g.drawRect(x,y,10,5);
g.drawRect(x,yl,10,5);
g.drawRect(x, y, 10, 5);
g.drawRect(x, yl, 10, 5);
g.fillRect(x, y, 10, 5);
g.fillRect(x, yl, 10, 5);

// clear the previous rectangles
g.clearRect(x-25, y, 10, 5);
g.clearRect(x-25, yl, 10, 5);
g.clearRect(x-25, y, 10, 5);
g.clearRect(x-25, yl, 10, 5);
}

I hope this helps. Good luck with your project!



[Your Title]
 

FAQ: Create Dynamic Ladder with Java | Learn to Code Java Graphics

What are "Disappear shapes"?

"Disappear shapes" is a term used to describe objects or figures that appear to disappear or blend into their surroundings due to optical illusions or camouflage.

What causes "Disappear shapes" to occur?

There are a few different factors that can contribute to the appearance of "Disappear shapes." These include the use of color, light, and shadow to create illusions, as well as the natural camouflage abilities of certain animals and plants.

How do scientists study "Disappear shapes"?

Scientists use a variety of methods to study "Disappear shapes," including conducting experiments and observing them in nature. They also use technologies such as computer simulations and imaging techniques to better understand the mechanisms behind these phenomena.

Are "Disappear shapes" only found in nature?

No, "Disappear shapes" can also be artificially created by humans. For example, camouflage clothing is designed to help people blend into their surroundings, creating a "Disappear shape" effect.

What are the practical applications of studying "Disappear shapes"?

Studying "Disappear shapes" can have a variety of practical applications, such as improving camouflage techniques for military purposes, designing more effective camouflage clothing for hunters, and understanding the natural mechanisms of camouflage in animals for conservation efforts.

Similar threads

Replies
1
Views
2K
Replies
5
Views
3K
Replies
8
Views
2K
Replies
5
Views
2K
Replies
6
Views
2K
Replies
6
Views
2K
Replies
1
Views
2K
Back
Top