Jeg skrev for nogle år siden en java-grafikpakke.Den var til brug på hjemmesider, og de forskellige funktioner blev aktiveret fra VBscript eller java script: tegning af linier mellem to punkter, rektangler, polygonfigurer i forskellige farver, etc. Ville det være af interesse?
her kan du se nogle del af grafik-pakken, men den bruger en java.applet.Applet, så du kan nok ikke bruge det. Men her er en lille del, der viser hvad det går ud på:
public class JavaGrafik extends Applet implements MouseListener,MouseMotionListener { String Sts="Antal ubrugte punkter: "; int mouseX[]; int mouseY[]; int pp; int Max=50; int Mx=0, My=0; Image offIm; Graphics offGraph;
public void init(){ mouseX= new int[Max]; mouseY= new int[Max]; for (int i=0;i<Max;i++){mouseX[i]=0;mouseY[i]=0;} pp=0; addMouseListener( this ); addMouseMotionListener( this ); offIm=createImage(getSize().width,getSize().height); offGraph=offIm.getGraphics(); offGraph.drawRect(0,0,getSize().width-1,getSize().height-1); repaint(); }
public void wipeInit(){ pp=0; offIm=createImage(getSize().width,getSize().height); offGraph=offIm.getGraphics(); offGraph.drawRect(0,0,getSize().width-1,getSize().height-1); repaint(); } //Farvevalg public void newColor(int r, int g, int b){ offGraph.setColor(new Color(r,g,b)); } //En tekststreng udskrives på stedet (x,y) public void drawString(String str, int x, int y){ offGraph.drawString(str,x,y); repaint(); }
//Et rektangel tegnes. Øverste venstre hjørne (x1,y1), bredde w og højde h public void drawRect(int x1, int y1, int w, int h){ offGraph.drawRect(x1,y1,w,h); repaint(); }
Du kan let flytte en Applet til en Frame, selv det ikke er rigtig pæn kode. Du skal bare inkludere en main metode som -> public static void main(String[] args){ Frame vinduet = new MainFrame([appletten], [int brede], [int højde] ).show(); } og så lige importere java.applet.MainFrame; (så vidt jeg husker)
Jeg kikkede lidt efter det efter min kommentar, og det slog mig at det er en klasse jeg bruger under java's 3D API, så den er nok ikke så anvendelig aligevel. Men ellers er det :
Det ser rigtigt ud, dog: - setExtendedState(MAXIMIZED_BOTH); - Virker ikke helt... - Jeg vil gerne kunne lave noget grafisk, dvs. istedet for System.out.println("ok"), hver gang der sker noget i mit program!
Jeg har lidt svært ved at forstå opbygningen af denne klasse nemlig, ved ikke helt hvordan jeg skal lave en metode som f.eks. F.paint("Hej"), printer "Hej" ud i et frame eller tegner en cirker osv..
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.