olemagro Skrevet 21. januar 2010 Del Skrevet 21. januar 2010 Hei, Driver å roter litt rundt med GeneralPath, men får ikke tegnet noe uten å først lage en Shape for så å bruke AffineTransform til å hente ut generalpath og legge det til i panelet. Koden under har jeg vridd og snudd på en million ganger på nå og hadde satt stor pris på om noen gidder kjøre dette og se om de får utskrift (evt finne en feil de ser som gjør at jeg ikke vil få tegnet noen streker, koordinatfeil etc). public class generalpathtest extends JApplet{ public static void main (String[]args) { JFrame frame = new JFrame(); frame.setTitle("GeneralPath"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JApplet applet = new generalpathtest(); applet.init(); frame.getContentPane().add(applet); frame.pack(); frame.setVisible(true); } public void init() { JPanel panel = new generalpanel(); getContentPane().add(panel); } } class generalpanel extends JPanel { public generalpanel() { setBackground(Color.white); setPreferredSize(new Dimension(300,400)); } public void paintCompontent(Graphics g) { super.paintComponent(g); Graphics2D g2 = (Graphics2D)g; GeneralPath path = new GeneralPath(GeneralPath.WIND_NON_ZERO); g2.setColor(Color.black); float w = 500, h = 500; float x1 = 0.0f*w; float y1 = 0.0f*h; float x2 = 0.5f*w; float y2 = 0.5f*h; float x3 = 0.2f*w; float y3 = 0.1f*h; path.moveTo(x1, y1); path.lineTo(x2, y2); path.lineTo(x3, y3); path.closePath(); g2.draw(path); g2.translate(120, 120); g2.fill(path); } } På forhånd takk! //Ole Martin Lenke til kommentar
olemagro Skrevet 22. januar 2010 Forfatter Del Skrevet 22. januar 2010 (endret) Fant ut av det. Problemet lå i en ørliten men fatal skrivefeil i paintComponent sitt metodenavn der det stod "paintCompontent" i stedet for "paintComponent". Endret 22. januar 2010 av olemagro Lenke til kommentar
BrokenTomato Skrevet 23. januar 2010 Del Skrevet 23. januar 2010 Hvilken IDE bruker du? Sånne småting er lett å oppdage med f.eks. Netbeans. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå