aspose file tools*
The moose likes Swing / AWT / SWT and the fly likes Frame Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Swing / AWT / SWT
Bookmark "Frame" Watch "Frame" New topic
Author

Frame

Lisa Smith
Ranch Hand

Joined: Sep 24, 2002
Posts: 57
If you imagined your screen being divisible into 4 quadrants; I am trying to write a program that does the following. By implementing the ActionListener interface and the Timer class, every 3 seconds fill one quadrant with the JFrame I created. Any idea on how I can get the frame to pop up in each quadrant?
// Begin Code

import java.awt.geom.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;

class Asignment3{
public static void main(String[] args){
GUI guiObj = new GUI();
}
}

class GUI extends Frame{
int res;
static final int ds = 72;//default scale, 72 units/inch
static final int hSize = 6;//horizonal size = 6 inches
static final int vSize = 6;//vertical size = 6inches

GUI(){//constructor
//Get screen resolution
res = Toolkit.getDefaultToolkit().
getScreenResolution();
//Set Frame size
this.setSize(hSize*res,vSize*res);
this.setVisible(true);
this.setTitle("Assignment 3");

//Window listener to terminate program.
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);}});
}//end constructor
//-----------------------------------------------------//

//Override the paint() method
public void paint(Graphics g){
//Downcast the Graphics object to
//a Graphics2D object
Graphics2D g2 = (Graphics2D)g;

//Scale device space to produce inches
//on the screen
// based on actual screen resolution.
g2.scale((double)res/72,(double)res/72);

//Translate origin to center of Frame
g2.translate((hSize/2)*ds,(vSize/2)*ds);

//Draw x-axis
g2.draw(new Line2D.Double(
-2.5*ds,0.0,2.5*ds,0.0));
//Draw y-axis
g2.draw(new Line2D.Double(
0.0,-2.5*ds,0.0,2.5*ds));

//Upper left quadrant, Solid red fill
Ellipse2D.Double circle1 =
new Ellipse2D.Double(
-2.0*ds,-2.0*ds,2.0*ds,2.0*ds);
g2.setPaint(new Color(120,8,8));//red
g2.fill(circle1);
g2.draw(circle1);


Ellipse2D.Double circle2 =
new Ellipse2D.Double(
0.0*ds,-2.0*ds,2.0*ds,2.0*ds);
g2.setPaint(
new GradientPaint(
0.5f*ds,-1.0f*ds,Color.green,
1.5f*ds,-1.0f*ds,Color.blue,false));
g2.fill(circle2);
g2.draw(circle2);

//Lower left quadrant
//Gradient red to orange, cyclic along
//horizontal axis
Ellipse2D.Double circle3 =
new Ellipse2D.Double(
-2.0*ds,0.0*ds,2.0*ds,2.0*ds);
g2.setPaint(
new GradientPaint(
-1.15f*ds,1.0f*ds,Color.yellow,
-0.85f*ds,1.0f*ds,Color.black,true));
g2.fill(circle3);
g2.draw(circle3);

//Lower right quadrant
//Gradient red to orange, cyclic along
// 45 degree angle
Ellipse2D.Double circle4 =
new Ellipse2D.Double(
0.0*ds,0.0*ds,2.0*ds,2.0*ds);
g2.setPaint(
new GradientPaint(
0.0f*ds,0.0f*ds,Color.pink,
0.25f*ds,0.25f*ds,Color.green,true));
g2.fill(circle4);
g2.draw(circle4);

}//end overridden paint()

}//end class GUI
//==============================//

// end code
Dave Vick
Ranch Hand

Joined: May 10, 2001
Posts: 3244
Moving this to the Swing forum


Dave
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Frame