Quantcast
Channel: Programming Forums
Viewing all articles
Browse latest Browse all 51036

simple graphic programming

$
0
0
The issue is that when i compile(which it does without errors) and run the program the java pops out a window that shows just white. Could someone see what i am missing in my code? i have really tried to debug it, but without
success. cheers
import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;

class MyPanel extends JPanel
{
	
	int numCols;
	int numRows;
	
	public static void main(String[] args)
	{
		W1Graphics w = new W1Graphics();
		w.setVisible(true);
	}

	public MyPanel()
	{
		numCols = 6;
		numRows = 8;
		
	}


	public void paint(Graphics g)
	{
		Graphics2D g2 = (Graphics2D)g;
		// above: this "upgrades" the Graphics class to a Graphics2D class:
		// this has some extra methods that we'll use later on

		int w = getWidth();
		int h = getHeight();

	
		
		Rectangle r1 = new Rectangle(0,0,w,h);
		Rectangle r2 = getRect(2,8);
		Rectangle r3 = getRect(1,3);
		Rectangle r4 = getRect(3,1);
		Rectangle r5 = getRect(8,2);
		
		g2.setColor(Color.red);

		g2.fill(r1);
		
		g2.setColor(Color.yellow);
		
		g2.fillOval(r2.x, r2.y, r2.width, r2.height);
		g2.fillOval(r3.x, r3.y, r3.width, r3.height);
		
		g2.setColor(Color.green);
		g2.fillOval(r4.x, r4.y, r4.width, r4.height);
		g2.fillOval(r5.x, r5.y, r5.width, r5.height);
		

		System.out.println(w + h);

	}
	
	Rectangle getRect(int thisCol, int thisRow)
	{
		if (thisCol < numCols && thisRow < numRows)
		{
			
			int r_w = getWidth()/numCols;
			int r_h = getHeight()/numRows;
			int r_x = thisCol * r_w;
			int r_y = thisRow * r_h;
			Rectangle r = new Rectangle(r_x, r_y, r_w, r_h);
            
			return r;


		}
		
		else
		{
			return null;
		}
	}

} 


// main program

import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;


public class W1Graphics extends JFrame
{
	MyPanel myVeryOwnPanel;

	public static void main(String[] args)
	{
		W1Graphics w = new W1Graphics();
		w.setVisible(true);
	}

	public W1Graphics()
	{
		setTitle("Kaveh Bakhshalizadeh Rashti");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setSize(500,220);
		setLocation(300,300);
		myVeryOwnPanel = new MyPanel();
		add(myVeryOwnPanel);
 	}

 }


Viewing all articles
Browse latest Browse all 51036

Trending Articles