Psst.. new poll here.
[email protected] webmail now available. Want one? Go here.
Cannot use outlook/hotmail/live here to register as they blocking our mail servers. #microsoftdeez
Obey the Epel!
Paste
Pasted as text by cdc ( 16 years ago )
import org.eclipse.swt.events.PaintEvent;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.GC;
import org.eclipse.swt.widgets.Canvas;
public class BarDrawer extends Drawer {
int[] mainArray;
boolean setByGui = false;
public BarDrawer(Canvas c) {
super(c);
}
public void setArray(int[] i)
{
mainArray = i;
setByGui = true;
}
private int maxInt(int[] array)
{
int max = 0;
for(int i=0;i<array.length;i++)
{
max = Math.max(max, array[i]);
}
return max;
}
public void paintControl(PaintEvent event)
{
GC gc = event.gc;
Color[] farbe = new Color[10];
farbe[0] = dc.getDisplay().getSystemColor(SWT.COLOR_BLUE);
farbe[1] = dc.getDisplay().getSystemColor(SWT.COLOR_CYAN);
farbe[2] = dc.getDisplay().getSystemColor(SWT.COLOR_MAGENTA);
farbe[3] = dc.getDisplay().getSystemColor(SWT.COLOR_RED);
farbe[4] = dc.getDisplay().getSystemColor(SWT.COLOR_YELLOW);
farbe[5] = dc.getDisplay().getSystemColor(SWT.COLOR_GREEN);
farbe[6] = dc.getDisplay().getSystemColor(SWT.COLOR_BLACK);
farbe[7] = dc.getDisplay().getSystemColor(SWT.COLOR_GRAY);
farbe[8] = dc.getDisplay().getSystemColor(SWT.COLOR_DARK_RED);
farbe[9] = dc.getDisplay().getSystemColor(SWT.COLOR_DARK_MAGENTA);
// Variablen definieren
int i = 0;
int balkenFarbeZufallszahl = (int)(Math.random()*9+1);
int balkenHoehe = 0;
int balkenBreite = 0;
int feldgroesseX = dc.getSize().x;
int feldgroesseY = dc.getSize().y;
int balkenY = feldgroesseY;
int balkenX = 1;
int mainArrayMaximalerWert = maxInt(mainArray);
while(i<mainArray.length)
{
if(mainArrayMaximalerWert > 565)
{
balkenHoehe = 565;
}
else
{
balkenHoehe = mainArrayMaximalerWert;
}
// Wenn die Breite des Fensters kleiner als 565 ist
if(feldgroesseY <= 565)
{
balkenBreite = 1;
balkenHoehe = (mainArray[i]);
}
else if(feldgroesseY >= 565)
{
balkenBreite = 1;
balkenHoehe = feldgroesseY - mainArray[i] - 2;
}
// Farbe für den Balken setzen und den Balken zeichnen
Color balkenfarbe = farbe[balkenFarbeZufallszahl];
gc.setBackground(farbe[6]);
gc.fillRectangle(balkenX, balkenY, balkenBreite, balkenHoehe);
balkenX++;
i++;
System.out.println("Feld-Groesse Y: " + feldgroesseY + " ### Feld-Groesse X: " + feldgroesseX + " ### Array-Laenge: " + mainArray.length + " ### Array-Wert: " + i + " ### Breite: " + balkenBreite + " ### Hoehe: " + balkenHoehe);
}
}
}
Revise this Paste