-1

Hi guys,
I need to display "Java Mug" (in red) inside the mug I created in the following code. I spent hours working on it but couldn't get anywhere. Can you guys help me please?

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

public class DrawJavaMugTest {

	public static void main(String[] args) {
		
		EventQueue.invokeLater(new Runnable(){
			
			public void run(){
				DrawFrame frame = new DrawFrame();
				frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
				frame.setVisible(true);
			}
		});
	}
}

class DrawFrame extends JFrame{
	
	public DrawFrame(){
		setTitle("babylonlion");
		setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
		
	    //DrawJavaMugPanel panel = new DrawJavaMugPanel();
	    //add(panel);
	    
		DrawJavaMugComponent component = new DrawJavaMugComponent();
	    add(component);
	}
	public static final int DEFAULT_WIDTH = 400;
	public static final int DEFAULT_HEIGHT = 400;
}

class DrawJavaMugComponent extends JComponent{
	
	public void paintComponent(Graphics g){
		
	   Graphics2D g2 = (Graphics2D) g;
		
	    g2.draw(new Line2D.Double(100, 100, 100, 300));//Vertical line 1
	    g2.draw(new Line2D.Double(276, 100, 276, 300));//Vertical line 2
	    g2.draw(new Line2D.Double(276, 300, 100, 300));//Horizontal line
		
	    Ellipse2D ellipse1 = new Ellipse2D.Double();//the opening of the mug
	    ellipse1.setFrame(276, 125, 40, 150);
	    g2.draw(ellipse1);
	    
	    Ellipse2D ellipse2 = new Ellipse2D.Double();//the handle of the mug
	    ellipse2.setFrame(99.5, 91, 177, 15);//(leftX,topY,width, height)
	    g2.draw(ellipse2);
	    
	}
}

Edited by babylonlion: n/a

3
Contributors
5
Replies
6
Views
7 Years
Discussion Span
Last Post by quuba
Featured Replies
  • Just use the drawString method to draw your words. g.drawString(parameters go here) [url]http://java.sun.com/j2se/1.4.2/docs/api/java/awt/Graphics.html[/url] You can set the Graphics contexts' font and color and stuff before you draw the string, and it will draw in that font and color. At least so says the API if you read that link. Read More

0

Just use the drawString method to draw your words. g.drawString(parameters go here) http://java.sun.com/j2se/1.4.2/docs/api/java/awt/Graphics.html

You can set the Graphics contexts' font and color and stuff before you draw the string, and it will draw in that font and color. At least so says the API if you read that link.

I'm aware of the API. And I know what tools to use, but I don't know how to use them; I was hoping that someone could help me write the code. Thank you for you time

0

Ok, glad you got it fixed. The reason I thought you didn't know the API was because it looked like you were trying to write words by drawing the lines individually and connecting them. But anyway, my mistake. Mark this solved if you have no more questions.

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.