stasichase.gui
Class Hintergrund
java.lang.Object
|
+--java.awt.Component
|
+--java.awt.Container
|
+--javax.swing.JComponent
|
+--javax.swing.JPanel
|
+--stasichase.gui.Hintergrund
- public class Hintergrund
- extends JPanel
Die Klasse, die den Hintergund grafisch darstellt.
Je nach Aufruf des Kontruktors wird eine Hintergrundgrafik geladen oder
ein dynamischer Hintergrund generiert.
Es wird eine Map generiert, die verschiedene Farbstufen per Zufall auf dem
Bildschirm verteilt. Diese Map basiert auf einem zwei-dimensionalen Array
int[][] bild. Es werden dann Flaechen unter die zukuenftigen
Stationen plaziert und ein Gitter gezeichnet.
Auf dieser Karte werden mit Hilfe eines BufferedImages Haeuser und weitere
Elemente plaziert.
- Version:
- $Id: Hintergrund.java,v 1.37 2000/07/06 20:57:44 rieck Exp $
- Author:
- Hakan Cakar, Konrad Rieck, Konrad Kretschmer
- See Also:
- Serialized Form
Fields inherited from class javax.swing.JComponent |
_bounds,
accessibleContext,
alignmentX,
alignmentY,
ANCESTOR_USING_BUFFER,
ancestorNotifier,
autoscroller,
border,
changeSupport,
clientProperties,
flags,
HAS_FOCUS,
IS_DOUBLE_BUFFERED,
IS_OPAQUE,
IS_PAINTING_TILE,
IS_PRINTING,
IS_PRINTING_ALL,
KEYBOARD_BINDINGS_KEY,
listenerList,
maximumSize,
minimumSize,
NEXT_FOCUS,
paintImmediatelyClip,
paintingChild,
preferredSize,
readObjectCallbacks,
REQUEST_FOCUS_DISABLED,
tmpRect,
TOOL_TIP_TEXT_KEY,
ui,
uiClassID,
UNDEFINED_CONDITION,
vetoableChangeSupport,
WHEN_ANCESTOR_OF_FOCUSED_COMPONENT,
WHEN_FOCUSED,
WHEN_IN_FOCUSED_WINDOW |
Fields inherited from class java.awt.Component |
actionListenerK,
adjustmentListenerK,
appContext,
assert,
background,
BOTTOM_ALIGNMENT,
CENTER_ALIGNMENT,
changeSupport,
componentListener,
componentListenerK,
componentOrientation,
componentSerializedDataVersion,
containerListenerK,
cursor,
dropTarget,
enabled,
eventMask,
focusListener,
focusListenerK,
font,
foreground,
hasFocus,
height,
incRate,
inputMethodListener,
inputMethodListenerK,
isInc,
isPacked,
itemListenerK,
keyListener,
keyListenerK,
LEFT_ALIGNMENT,
locale,
LOCK,
minSize,
mouseListener,
mouseListenerK,
mouseMotionListener,
mouseMotionListenerK,
name,
nameExplicitlySet,
newEventsOnly,
ownedWindowK,
parent,
peer,
peerFont,
popups,
prefSize,
RIGHT_ALIGNMENT,
serialVersionUID,
textListenerK,
TOP_ALIGNMENT,
valid,
visible,
width,
windowListenerK,
x,
y |
Method Summary |
private int[][] |
generiereBoden(int[][] bild,
int start,
int ende)
Generiert Boden. |
private int[][] |
generiereGrass(int[][] bild,
int start,
int ende)
Generiert Grass. |
private ColorModel |
generierePalette(int[] farbstufen)
Generiert eine Farbpalette. |
Image |
genesis(int breite,
int hoehe)
Genesis. |
int |
getHeight()
Gibt die Hoehe des Hintergundbildes zurueck. |
int |
getWidth()
Gibt die Breite des Hintergundbildes zurueck. |
private int[][] |
stempel(int[][] bild,
int x,
int y,
int breite,
int start,
int ende)
stempelt. |
private void |
zeichneGitter(Graphics g,
int breite,
int hoehe,
int raster)
Zeichne Gitter. |
private void |
zeichneHaeuser(Graphics g,
int radius)
|
private int[][] |
zeichneStrasse(int[][] bild,
int x,
int y,
int x1,
int y1,
int farbeVon,
int farbeZu,
int schattenVon,
int schattenZu)
Zeichnet eine Strasse. |
private int[][] |
zeichneStrassen(int[][] bild,
int[] farbstufen)
Zeichnet das Strassennetz auf das SpielplanNetz. |
Methods inherited from class javax.swing.JComponent |
_paintImmediately,
addAncestorListener,
addNotify,
addPropertyChangeListener,
addPropertyChangeListener,
addVetoableChangeListener,
adjustPaintFlags,
alwaysOnTop,
bindingForKeyStroke,
checkIfChildObscuredBySibling,
computeVisibleRect,
computeVisibleRect,
contains,
createToolTip,
enableSerialization,
firePropertyChange,
firePropertyChange,
firePropertyChange,
firePropertyChange,
firePropertyChange,
firePropertyChange,
firePropertyChange,
firePropertyChange,
firePropertyChange,
fireVetoableChange,
getActionForKeyStroke,
getAlignmentX,
getAlignmentY,
getAutoscrolls,
getBorder,
getBounds,
getClientProperties,
getClientProperty,
getComponentGraphics,
getConditionForKeyStroke,
getDebugGraphicsOptions,
getFlag,
getGraphics,
getInsets,
getInsets,
getLocation,
getMaximumSize,
getMinimumSize,
getNextFocusableComponent,
getPreferredSize,
getRegisteredKeyStrokes,
getRootPane,
getSize,
getToolTipLocation,
getToolTipText,
getToolTipText,
getTopLevelAncestor,
getVisibleRect,
getX,
getY,
grabFocus,
hasFocus,
isDoubleBuffered,
isFocusCycleRoot,
isFocusTraversable,
isLightweightComponent,
isManagingFocus,
isOpaque,
isOptimizedDrawingEnabled,
isPaintingTile,
isRequestFocusEnabled,
isValidateRoot,
keyboardBindings,
paint,
paintBorder,
paintChildren,
paintComponent,
paintImmediately,
paintImmediately,
paintWithBuffer,
print,
printAll,
processComponentKeyEvent,
processFocusEvent,
processKeyBinding,
processKeyBindings,
processKeyBindingsForAllComponents,
processKeyEvent,
processMouseMotionEvent,
putClientProperty,
readObject,
rectangleIsObscured,
rectangleIsObscuredBySibling,
registerKeyboardAction,
registerKeyboardAction,
registerWithKeyboardManager,
removeAncestorListener,
removeNotify,
removePropertyChangeListener,
removePropertyChangeListener,
removeVetoableChangeListener,
repaint,
repaint,
requestDefaultFocus,
requestFocus,
resetKeyboardActions,
reshape,
revalidate,
scrollRectToVisible,
setAlignmentX,
setAlignmentY,
setAutoscrolls,
setBackground,
setBorder,
setDebugGraphicsOptions,
setDoubleBuffered,
setEnabled,
setFlag,
setFont,
setForeground,
setMaximumSize,
setMinimumSize,
setNextFocusableComponent,
setOpaque,
setPaintingChild,
setPreferredSize,
setRequestFocusEnabled,
setToolTipText,
setUI,
setVisible,
shouldDebugGraphics,
superProcessMouseMotionEvent,
unregisterKeyboardAction,
unregisterWithKeyboardManager,
update |
Methods inherited from class java.awt.Container |
add,
add,
add,
add,
add,
addContainerListener,
addImpl,
applyOrientation,
countComponents,
deliverEvent,
dispatchEventImpl,
dispatchEventToSelf,
doLayout,
eventEnabled,
findComponentAt,
findComponentAt,
getComponent,
getComponentAt,
getComponentAt,
getComponentCount,
getComponents_NoClientCode,
getComponents,
getCursorTarget,
getLayout,
getMouseEventTarget,
getWindow,
initIDs,
insets,
invalidate,
invalidateTree,
isAncestorOf,
layout,
lightweightPrint,
list,
list,
locate,
minimumSize,
nextFocus,
paintComponents,
postProcessKeyEvent,
postsOldMouseEvents,
preferredSize,
preProcessKeyEvent,
printComponents,
printHeavyweightComponents,
printOneComponent,
processContainerEvent,
processEvent,
proxyEnableEvents,
proxyRequestFocus,
remove,
remove,
removeAll,
removeContainerListener,
setCursor,
setFocusOwner,
setLayout,
transferFocus,
updateCursor,
validate,
validateTree |
Methods inherited from class java.awt.Component |
action,
add,
addComponentListener,
addFocusListener,
addInputMethodListener,
addKeyListener,
addMouseListener,
addMouseMotionListener,
areInputMethodsEnabled,
bounds,
checkImage,
checkImage,
coalesceEvents,
constructComponentName,
contains,
createImage,
createImage,
disable,
disableEvents,
dispatchEvent,
enable,
enable,
enableEvents,
enableInputMethods,
getBackground,
getBounds,
getColorModel,
getComponentOrientation,
getCursor,
getDropTarget,
getFont_NoClientCode,
getFont,
getFontMetrics,
getForeground,
getInputContext,
getInputMethodRequests,
getIntrinsicCursor,
getLocale,
getLocation,
getLocationOnScreen,
getName,
getNativeContainer,
getParent_NoClientCode,
getParent,
getPeer,
getSize,
getToolkit,
getToolkitImpl,
getTreeLock,
getWindowForObject,
gotFocus,
handleEvent,
hide,
imageUpdate,
inside,
isDisplayable,
isEnabled,
isEnabledImpl,
isLightweight,
isShowing,
isValid,
isVisible,
keyDown,
keyUp,
list,
list,
list,
location,
lostFocus,
mouseDown,
mouseDrag,
mouseEnter,
mouseExit,
mouseMove,
mouseUp,
move,
nextFocus,
paintAll,
postEvent,
prepareImage,
prepareImage,
processComponentEvent,
processInputMethodEvent,
processMouseEvent,
remove,
removeComponentListener,
removeFocusListener,
removeInputMethodListener,
removeKeyListener,
removeMouseListener,
removeMouseMotionListener,
repaint,
repaint,
repaint,
resize,
resize,
setBounds,
setBounds,
setComponentOrientation,
setDropTarget,
setLocale,
setLocation,
setLocation,
setName,
setSize,
setSize,
show,
show,
size,
toString,
transferFocus |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
registerNatives,
wait,
wait,
wait |
bild
ImageIcon bild
spielplan
Spielplan spielplan
anzahl
int anzahl
Hintergrund
public Hintergrund(Spielplan sp,
boolean t)
- Generiert den Hintergrund.
Viel gibts hier nicht zu sagen.
- Parameters:
sp
- Spielplantype
- Dynamisch oda nisch.
getWidth
public int getWidth()
- Gibt die Breite des Hintergundbildes zurueck.
- Overrides:
- getWidth in class JComponent
- Returns:
- int Breite des Bildes
getHeight
public int getHeight()
- Gibt die Hoehe des Hintergundbildes zurueck.
- Overrides:
- getHeight in class JComponent
- Returns:
- int Hoehe des Bildes
genesis
public Image genesis(int breite,
int hoehe)
- Genesis.
Was fuer eine haarige Methode, diese Variante ist bestimmt schon die
4. voellig Neue. Ich hoffe Gott wird mir die Genesis nicht uebelnehmen,
schliesslich ist sie nicht mal halb so gut wie seine.
- Parameters:
breite
- Breite der Welthoehe
- Hoehe der Welt- Returns:
- Image ein Bild der Welt
zeichneStrassen
private int[][] zeichneStrassen(int[][] bild,
int[] farbstufen)
- Zeichnet das Strassennetz auf das SpielplanNetz.
Es werden die StasiChase eigenen Grafiktools verwendet.
- Parameters:
bild
- das Bildfarbstufen
- die zuverwendenden Farbstufen- See Also:
Tools
zeichneStrasse
private int[][] zeichneStrasse(int[][] bild,
int x,
int y,
int x1,
int y1,
int farbeVon,
int farbeZu,
int schattenVon,
int schattenZu)
- Zeichnet eine Strasse.
Die Strasse wird aus der Farbpalette farbeVon bis farbeZu generiert
und dann mit einem Schatten versehen.
Es werden die StasiChase eigenen Grafiktools verwendet.
- Parameters:
bild
- das Bildx
- X-Koordinatey
- Y-Koordinatex1
- X1-Koordinatey1
- Y1-KoordinatefarbeVon
- Startwert der StrassenfarbefarbeZu
- Endwert der StrassenfarbeschattenVon
- Startwert der SchattenfarbeschattenZu
- Endwert der Schattenfarbe- See Also:
Tools
zeichneGitter
private void zeichneGitter(Graphics g,
int breite,
int hoehe,
int raster)
- Zeichne Gitter.
Ein zwei-dimensionales Gitter wird ueber den Hintergrund gelegt.
Es taeuscht eine drei-dimensionale Perspektive vor.
- Parameters:
g
- Graphicsbreite
- Breitehoehe
- Hoeheraster
- Raster
zeichneHaeuser
private void zeichneHaeuser(Graphics g,
int radius)
generiereBoden
private int[][] generiereBoden(int[][] bild,
int start,
int ende)
- Generiert Boden.
Der Boden wird durch ein "Rauschen" zwischen start und ende
erzeugt.
Es werden die StasiChase eigenen Grafiktools verwendet.
- Parameters:
start
- Start der Farbpaletteende
- Ende der Farbpalettebild
- das Bild als 2-dim Array- Returns:
- das neue Bild
- See Also:
Tools
generiereGrass
private int[][] generiereGrass(int[][] bild,
int start,
int ende)
- Generiert Grass.
Das Grass wird durch ein "Rauschen" zwischen start und ende
erzeugt. Die Grassstellen werden vorher partiell per Zufall
ausgewaehlt.
Es werden die StasiChase eigenen Grafiktools verwendet.
- Parameters:
start
- Start der Farbpaletteende
- Ende der Farbpalettebild
- das Bild als 2-dim Array- Returns:
- das neue Bild
- See Also:
Tools
stempel
private int[][] stempel(int[][] bild,
int x,
int y,
int breite,
int start,
int ende)
- stempelt.
Die Methode stempelt random Pixel auf ein Bild. Erinnert ein wenig
and die Spruehdosenfunktion in vielen Malprogrammen.
Es werden die StasiChase eigenen Grafiktools verwendet.
- Parameters:
bild
- das Bildx
- X-Koordinatey
- Y-Koordinatebreite
- Breite des Stempelsstart
- Start der Farbpaletteende
- Ende der Farbpalette- Returns:
- das Bild
- See Also:
Tools
generierePalette
private ColorModel generierePalette(int[] farbstufen)
- Generiert eine Farbpalette.
Es werden verschiedene Schichten generiert, Boden/Erde, Grass, Steine
und Taxi, Bus, ...
- Parameters:
farbstufen
- Anzahl der Farben fuer Boden, Grass, Steine...- Returns:
- eine Farbpalette aus Rot, Gruen und Blau.