Permalänk

Hjälp med javaprogramering

Uppgiften är att jag ska skapa en rektangel klass för att sätta konstruktor som tar argument för att kunna sätta bredd och höjd och färg på rektangeln. Gör metoder för att sätta och hämta x- och y positionen, samt metoder för att hämta bredd, höjd och färg. Fixa även metoder som returnerar omkrets och area för rektangeln. Skapa sedan två olika objekt ur denna Rektangel klassen för att rita ut dem på en JPanel baserat på indatat till objekten.

Jag har gjort en fungerande rektangel klass med konstruktor och metoder som ska fungera.. hoppas jag...

import java.awt.Color; import java.awt.Graphics; /** * * @author Doh */ public class Rektangel { // public int bredd; public int hojd; public int xp; public int yp; public int area; Rektangel(){ //Konstruktor för att sätta värde på bredd,höjd och färg bredd = 20; hojd = 20; xp = 0; yp = 0; } //slut Rektangel(int b, int h, int x, int y){ bredd = b; hojd = h; xp = x; yp = y; }//slut //Metoder public void setX(int x){} public void setY(int y){} public int getX(int x){return xp;} public int getY(int y){return yp;} public double getBredd(){return bredd;} public double getHojd(){return hojd;} public double getOmkrets(){return (bredd + bredd + hojd + hojd);} public double getArea(){return (hojd * bredd);} public void paint(Graphics g) //Paint metod { g.fillRect(xp,yp,bredd,hojd); }

Dold text

Men det är panelen som jag inte kommer underfund hur jag ska skriva

import java.awt.*; /** * * @author Doh */ public class Panel extends javax.swing.JPanel { private Rektangel rektangel1; private Rektangel rektangel2; public void paintComponent(Graphics g) { rektangel1.paint(g); rektangel2.paint(g); }

Dold text

Uppskattar all hjälp, även om det finns fel i rektangel klassen

Mvh

Permalänk
Medlem

Plz do my homework ))

Visa signatur

[ i7-8700K @ 5Ghz || CM MasterLiquid ml360r || 64GB DDR4 3200Mhz || MSI Z370Pro Carbon || KFA2 RTX 3080TI || EVGA Supernova G2 750W || Samsung 960 EVO || Lian Li pc-o11 Dynamic ]

Permalänk
Medlem
Skrivet av sagaisabella:

Uppgiften är att jag ska skapa en rektangel klass för att sätta konstruktor som tar argument för att kunna sätta bredd och höjd och färg på rektangeln. Gör metoder för att sätta och hämta x- och y positionen, samt metoder för att hämta bredd, höjd och färg. Fixa även metoder som returnerar omkrets och area för rektangeln. Skapa sedan två olika objekt ur denna Rektangel klassen för att rita ut dem på en JPanel baserat på indatat till objekten.

Jag har gjort en fungerande rektangel klass med konstruktor och metoder som ska fungera.. hoppas jag...

import java.awt.Color; import java.awt.Graphics; /** * * @author Doh */ public class Rektangel { // public int bredd; public int hojd; public int xp; public int yp; public int area; Rektangel(){ //Konstruktor för att sätta värde på bredd,höjd och färg bredd = 20; hojd = 20; xp = 0; yp = 0; } //slut Rektangel(int b, int h, int x, int y){ bredd = b; hojd = h; xp = x; yp = y; }//slut //Metoder public void setX(int x){} public void setY(int y){} public int getX(int x){return xp;} public int getY(int y){return yp;} public double getBredd(){return bredd;} public double getHojd(){return hojd;} public double getOmkrets(){return (bredd + bredd + hojd + hojd);} public double getArea(){return (hojd * bredd);} public void paint(Graphics g) //Paint metod { g.fillRect(xp,yp,bredd,hojd); }

Dold text

Men det är panelen som jag inte kommer underfund hur jag ska skriva

import java.awt.*; /** * * @author Doh */ public class Panel extends javax.swing.JPanel { private Rektangel rektangel1; private Rektangel rektangel2; public void paintComponent(Graphics g) { rektangel1.paint(g); rektangel2.paint(g); }

Dold text

Uppskattar all hjälp, även om det finns fel i rektangel klassen

Mvh

Kika på detta exempel och återkom om det är något som är svårt:
http://docs.oracle.com/javase/tutorial/uiswing/painting/step3...

Övrigt:
Variabeln "area" i din Rektangel-klass används aldrig. Ta bort den då du beräknar arean direkt.

Visa signatur

ηλί, ηλί, λαμά σαβαχθανί!?

Permalänk
Medlem

Nåt att fundera på är dina set/get metoder, varför ska du ha dom?
Vad är det läraren vill lära ut igentligen?
Som du gör nu så har dessa inte nån större funktion..

Angående din panel får du visa lite mer kod och tänk.

Visa signatur

Corsair 16GB (4x4096MB) CL9 1600Mhz | Asus P8Z77-V PRO |
Samsung SSD Basic 830-Series 256GB | Intel Core i7 3770K 3,5Ghz |
Asus Xonar Essence STX | Noctua NH-U9B SE2 | Antec Performance One P280 | Corsair HX 850W 80+ Gold Modulär | MSI GTX 770