Swing/AWT/SWT :: How To Draw A Diamond Using Polygon
Mar 8, 2015
I'm currently trying to do a diamond using Polygon. I have done this so far. It is not drawing a diamond.
import java.applet.Applet;
import java.awt.Graphics;
public class Diamond extends Applet {
int[] a = {-30, 100 , 30, 100};
int[] b = {100, 40, 100, -40};
public void init()
{
}
public void paint(Graphics g)
{
g.drawPolygon(a, b, 4);
}
View Replies
ADVERTISEMENT
Apr 23, 2014
I currently have the code set up to iterate through objects and keep track of them but how do I do the same and draw the objects on the panel window? I'm confused on what to do and how to start it.
Here's the code I have so far, the 'Car' which I want to draw extends to another class which extends to GameObject. I currently have a 'draw()' method under the 'Car' class but nothing in the 'draw()' method yet. From what I understand i'm suppose to have a 'draw()' method under 'GameObjects' class also?
public class MapView extends JPanel implements IObserver, ActionListener{
JPanel myPanel;
private Timer timer = new Timer(5, this);
int x = 0;
int moveX = 2;
public MapView(){
super.setBorder(BorderFactory.createTitledBorder("Map:"));
[code]....
Mostly I don't understand how to go through the iterator again to paint the objects. Wouldn't I need to put another iterator under 'paintComponent()' or can it be done under 'update()' ?
how to get some shapes from the GameObjects onto my panel.
View Replies
View Related
Mar 19, 2015
I have this piece of code, i want to insert a text inside my shape.
import javax.swing.SwingUtilities;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.BorderFactory;
import java.awt.Color;
[Code] ....
View Replies
View Related
Mar 3, 2015
one of the java swing challenge I am facing. Problem statement: there are two JPanels panel 1 and panel 2 placed on a JFrame one below the other as panel 2 below panel 1. Now, I need to put a JButton in any one of the panels such that this JButton displays half in panel 1 and half in panel 2.
View Replies
View Related
Mar 12, 2015
I want to draw a line inside a circle, i what to have a horizontal line. Here is what i have done so far.
import javax.swing.SwingUtilities;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.BorderFactory;
import java.awt.Color;
import java.awt.Dimension;
[Code] ....
View Replies
View Related
Nov 22, 2014
I'm having trouble in 2 areas.
I'm trying to draw 3 triangles 'on top' of each other to give appearance of a tree. My code is below and struggling with how to set my x/y cords correctly.
Also I've drawn a rectangle under a new class and that should then be appearing in the south location of my border layout (south) - but it's not.
import javax.swing.*;
import java.awt.*;
public class Christmas1 extends JFrame {
JPanel titlePanel;
JLabel title;
[Code] .....
View Replies
View Related
Jan 31, 2014
Simple gui task. it meant to draw pie chart with different colors. i can't seem to find a mistake in it. It works if i put in g2g.draw(arc) i know arcs overlaps a bit due int conversion, but that's ok.
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import java.awt.geom.Arc2D;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.Color;
[Code] ....
View Replies
View Related
Mar 8, 2015
I'm trying to do a method which will draw a triangle and then the method will be called when we click on a specific button. How I must proceed.
View Replies
View Related
May 8, 2013
I'm working on is to create a program to display an n-sided regular polygon and uses two buttons named +1 and -1 to increase or decrease the size of the polygon. Also enable the the user to increase or decrease the size by clicking the right or left mouse button and by pressing the UP and DOWN arrow keys. So, first off I'm just trying to figure out how to display an n-sided polygon. I have some of the other components started, but I'm just trying to focus on getting this to work.
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.Graphics;
import java.awt.Polygon;
[code]....
View Replies
View Related
Dec 22, 2014
I have a java program which rotates a rectangular polygon. My program is having a problem. As soon as it starts rotating, it shrinks. The polygon is rotating perfectly though. I am trying but unable to figure out the cause.Main class which has an infinite loop (game loop) to rotate polygon continuously :-Java Code:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
[code]....
View Replies
View Related
Mar 2, 2015
I have a shape, Polygon (javafx.scene.shape.Polygon) and want to test whether a point (javafx.geometry.point2D) is contained within the shape. (contains doesn't work)
I can change the polygon to any type, but I need to be able to create it using the 4 corners points and add it as a child to the Pane.
View Replies
View Related
Aug 29, 2014
I have a method that draws a polygon on the screen:
public void poly(List<Point> points) {
//code
}
For the usage of the method, it makes no difference whether points is an array or a List. In fact, switching doesn't even change any of the code in the method since I use a for-each loop. So, my question is, is it a better practice to use a List as an argument, or an array when the method itself doesn't care about which to use?
View Replies
View Related
Jan 19, 2015
I am making a tile based top-down 2D RPG and am using Box2D for the physics. Since my game is tile-based, there are many tiles on each map that cannot be moved through. This results in many small individual Box2D bodies. This is obviously very inefficient and makes the game lag. Therefore I figured that combining the individual tiles' bodies into larger complex groups would be better.
The way I thought of doing it is to, first, group together tiles into groups of tiles that all share 2 vertices with at least one other tile in the group. Then, for each group I do the following. First I get all of the uncommon vertices (these should be the ones on the outside of the polygon). Then I connect all of those vertices and then remove all of the overlapping lines. This should result in only lines on the outside of the polygon. Then I sort the lines so that the first line in the sorted array shares its end point with the second line's start point, etc. Then I remove the doubled vertices and using those remaining vertices (I called them the "true vertices") I create the polygon. I know that Box2D only supports convex polygons, but with Box2DSeparator I should be able to do this, but I first want this method to actually work.
/**
* Attempts to combine the given blocks into larger bodies to improve performance.
* @param bs The created wall blocks.
* @param w The world. Used for body creation.
*/
private void makeLargeBodies(Block[][] bs, World w) {
Array<Tile> tiles = new Array<Tile>();
for(int i = 0; i < bs.length; i++) {
[Code] .....
However, this is where the first problem arises. This method is extremely slow for large maps (like 200x200 tiles). I have worked at this for very long and right now my head can't figure out how to make the loop more efficient...
Now for the next part. After that I attempt to create the bodies for the TileGroups:
//create all the groups' bodies
size = groups.size;
System.out.println(size + " groups");
for(int i = 0; i < size; i++) {
TileGroup g = groups.get(i);
System.out.println("Starting group " + i + ".");
long timeCheck = TimeUtils.millis();
g.createBody(w);
System.out.println("Group 0 took " + (TimeUtils.millis() - timeCheck) + " millis");
}
*Note that the printing is for debugging purposes*...
This method is probably not a problem; it is what is inside createBody(World) that is the issue...
public void createBody(World w) {
Array<Vector2> allVertices = new Array<Vector2>();
Array<Vector2> uncommonVertices = new Array<Vector2>();
System.out.print("Starting search for uncommon vertices. ");
long timeCheck = TimeUtils.millis();
[Code] .....
Most of the code is self-explanatory (with comments). My current issue is where I connect the uncommon vertices (see the printed statements). This method does not actually finish (I have let it run for several minutes and it does not complete). This is likely due to a large number of vertices (often around 3000 in a 60x60 map), but I cannot figure out how to make the loop more efficient... Because of this early failure I don't know if the rest of the method works, both physically and in theory.
All relevant classes (Tile, TileGroup, Line) are below:
private class Tile {
private Vector2[] vertices;
private TileGroup group;
public Tile(int x, int y) {
vertices = new Vector2[4];
[Code] ....
View Replies
View Related
Sep 5, 2014
My code is giving me an error at the main method and it says that modifier 'static' is not allowed in constant variable declarations. every program that i searched for had the same code line but none had the problem i do.
package regularpolygon;
/**
*
* @author home1
*/
import java.lang.Math;
import java.text.*;
[code]...
View Replies
View Related
Mar 26, 2014
I am currently trying to print a Diamond using for-loops but I seem to be confusing my self / over-complicating it.
This is what I have so far [URL]). When I run the code I get [URL].
I want to duplicate it on to the other side but I can't seem to be able to figure out a working for-loop to print it out.
Also, is there a faster/efficient method of doing something like this?
View Replies
View Related
Nov 19, 2014
I am pretty close to finishing the diamond but I cant figure out how to print the bottom right. I have to use a for loop and if/else statements.
public static void main(String[] args) {
int input = 0;
input = getSize(input);
char[][] array = new char[input][input];
System.out.println("
Diamond:");
createDiamond(array, input);
print(array);
[code]....
View Replies
View Related
Oct 11, 2014
i want solution to my program
View Replies
View Related
Nov 14, 2014
I am new to java and i am trying to make a Java application which prints a diamond in a square grid of dots whose side length is input to the application.When you run the code is should be like this:
..*..
.*.*.
*...*
.*.*.
..*..
My java code print this:
..*..
.***.
*****
.***.
..*..
Here is my code:
class Main {
public static void main(String args[]) {
System.out.println("#Enter size of Diamond :");
int longestRow = BIO.getInt();
for(int row=1 ; row<=longestRow ; ++row)
[Code] .....
View Replies
View Related
Jul 8, 2014
So I am learning HashMaps/Arraylists and I can't really understand the diamond operator or what it's for. Take the following code for example: Why could we not just do this without the diamond?
Java Code:
import java.util.HashMap;
class Untitled {
public static void main(String[] args) {
HashMap<String, String> map = new HashMap<String, String>();
map.put("California","Sacramento");
map.put("Oregon","Salem");
map.put("Washington","Olympia");
System.out.println(map);
}
} mh_sh_highlight_all('java');
View Replies
View Related
Oct 14, 2014
Write a program that reads an integer and displays, using asterisks, a filled diamond of the given side length. For example, if the side length is 4 the program should display.
*
***
*****
*******
*****
***
*
I have it where it displays the top half of the diamond. But i cannot figure out how to get it to draw the bottom half.
import java.util.*;
public class E616 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.print("Enter number of rows. ");
int N=input.nextInt();
[code]...
View Replies
View Related
Jan 31, 2015
I am new to learning Java and I am trying to print an unfilled diamond using asterisks. The height of the diamond has to be based on user input. My code currently prints out a filled diamond based on user input but I cannot figure out how to print an unfilled one. Every time I change one of the loops it messes something else up.
[public static void diamond(){
int i = 0;
int j = 0;
int k = 0;
int height = 0;
[code]...
View Replies
View Related
Mar 23, 2015
I have to make a pattern that is of a diamond shape such as this:
Java Code:
1
1 2 3
1 2 3 4 5
1 2 3
1
mh_sh_highlight_all('java');
I wrote this (for the variable name, this is just a small part of my program and I'm trying to get the pattern right so I didn't mind my variables at the moment):
Java Code:
public class NewFile{
public static void main(String []args){
int k = 0;
for (int i=1 ; i<=5 ; i++) {
{ for (int h=2 ; h >= i ; h--)
[Code] ....
My output is the following:
Java Code:
1
123
12345
1234567
123456789
mh_sh_highlight_all('java');
I realize I should divide the code into a lower and upper triangle using two loops. However, I don't know how to break the first part. I did find the "trend" but I don't see how to implement it.
View Replies
View Related
Oct 5, 2014
My son want to create a java program (Diamond shape) that can plot graph for with the following data.
Pattern type is:
* *
* *
*
* *
* *
*
View Replies
View Related
Apr 16, 2015
I have a JPanel embedded in a JScrollPane. I draw in the JPanel, using the paint() method. I have to draw some shapes that can go far in the y direction, that's why I put my JPanel in a scroll pane, in order to scroll down to be able to discover the shapes down. But even though I put my JPanel in a JScrollPane, it soon blocks in the y direction and does not show the shapes far in the y direction.
Note: I used a GridBagConstraints which is correctly set, with its fill attribute etc.
View Replies
View Related
Oct 30, 2014
So I also am working on this problem. My frame does print each new rectangle; however, it is printed each time from the top left corner, and the bottom right is where I click.
Here is my RectangleComponent:
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.Shape;
import java.util.ArrayList;
import javax.swing.JComponent;
public class RectangleComponent extends JComponent
[Code] ....
View Replies
View Related
Jan 21, 2014
So I drew a menu in DrawingPanel extends JPanel, that gets user input of number of players...etc. I also have a boolean, when true, the board is drawn, but apparently, right when I run, the boolean is checked, returns false and so board isn't drawn at all. When the user finishes input, the boolean becomes true, but the board doesn't get drawn. So my question is, how do I draw something not immediately when the program is ran?
View Replies
View Related