public class Element
extends javax.swing.JPanel
implements java.awt.event.MouseListener, java.awt.event.KeyListener
JPanel
with a JTextField
and a
JLabel
filling the panel at the same position. Both text
components are editable and can be set transparent changing their z-layer.javax.swing.JPanel.AccessibleJPanel
javax.swing.JComponent.AccessibleJComponent
Modifier and Type | Field and Description |
---|---|
private javax.swing.border.LineBorder |
border
The element's border.
|
private java.awt.Color |
borderColor
The border color
Default:
Color.BLACK
|
private int |
col
Index of the column this element belongs to
|
private int |
faktor
Used for scaling the fonts proportionally.
|
private java.awt.Color |
fgColor
The foreground color
Default:
Color.BLACK
|
private NumberTextField |
field
The element's text field used to enter the puzzle number.
|
private HintLabel |
label
The element's hint field used to enter the game's hints.
|
private SudokuGUI |
parent
The game's main window.
|
private int |
quad
Index of the square this element belongs to
|
private int |
row
Index of the row this element belongs to
|
private boolean |
speak
Set by the properties file to enable or disable speach output while
entering a number.
|
private int |
weight
Set by the properties file to switch the font-weight between
plain and bold.
|
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Constructor and Description |
---|
Element(SudokuGUI parent,
int faktor,
int fontWeight) |
Modifier and Type | Method and Description |
---|---|
private void |
add(java.awt.Component c,
java.awt.GridBagConstraints constraints,
int x,
int y,
int w,
int h,
javax.swing.JPanel p)
Factory-method to place a component onto the
JPanel p layed
out in a GridBagLayout . |
void |
clearHintLabelText()
Removes the numbers of the hint label, setting a HTML-Element with a
space (
<html> </html> ) as lable text. |
int |
getCol() |
NumberTextField |
getField() |
java.lang.String |
getFieldText() |
HintLabel |
getLabel() |
int |
getQuad() |
int |
getRow() |
void |
keyPressed(java.awt.event.KeyEvent e) |
void |
keyReleased(java.awt.event.KeyEvent e)
Delete hints when entering a number
|
void |
keyTyped(java.awt.event.KeyEvent e) |
void |
mouseClicked(java.awt.event.MouseEvent e) |
void |
mouseEntered(java.awt.event.MouseEvent e) |
void |
mouseExited(java.awt.event.MouseEvent e) |
void |
mousePressed(java.awt.event.MouseEvent e) |
void |
mouseReleased(java.awt.event.MouseEvent e) |
void |
paintComponent(java.awt.Graphics g) |
void |
reloadFont()
Reloads the fonts for the puzzle field and the hint label.
|
void |
setBackground(java.awt.Color fieldBG,
java.awt.Color labelBG)
Sets the background color to the puzzle text field and to the hint label.
|
void |
setBorderColor(java.awt.Color color) |
void |
setCol(int col) |
void |
setFaktor(int faktor) |
void |
setFGColor(java.awt.Color color) |
void |
setFieldText(java.lang.String txt)
Sets the puzzle's number
txt on the text field. |
void |
setFontWeight(int weight)
Sets the font-weight of the colors.
|
void |
setForeground(java.awt.Color fieldFG,
java.awt.Color labelFG)
Sets the foreground color to the puzzle text field and to the hint label.
|
void |
setQuad(int quad) |
void |
setRow(int row) |
void |
setSelectionColor(java.awt.Color c)
Sets the color of a selected field indidating either a mistake showing
two or more identical numbers in a row, column or square, or all similar
numbers in the whole game.
|
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
private int quad
private int row
private int col
private int faktor
faktor
, the hint numbers font-size is set to
faktor / 2 - 1
.private int weight
Set by the properties file to switch the font-weight between plain and bold.
Default: Font.PLAIN
private boolean speak
Set by the properties file to enable or disable speach output while entering a number.
Default: false
private SudokuGUI parent
The game's main window.
private java.awt.Color fgColor
The foreground color
Default: Color.BLACK
private java.awt.Color borderColor
The border color
Default: Color.BLACK
private javax.swing.border.LineBorder border
The element's border. Its size is proportionally scaled by
faktor
.
private NumberTextField field
The element's text field used to enter the puzzle number.
private HintLabel label
The element's hint field used to enter the game's hints.
public Element(SudokuGUI parent, int faktor, int fontWeight)
public void paintComponent(java.awt.Graphics g)
paintComponent
in class javax.swing.JComponent
private void add(java.awt.Component c, java.awt.GridBagConstraints constraints, int x, int y, int w, int h, javax.swing.JPanel p)
JPanel p
layed
out in a GridBagLayout
.c
- Component
, die Komponente, die gesetzt wirdconstraints
- GridBagConstraints
, die Constraintsx
- int
, X-Wert der linken oberen Ecke in rel.
Einheiteny
- int
, Y-Wert der linken oberen Ecke in rel.
Einheitenw
- int
, Breite in rel. Einheitenh
- int
, Höhe in rel. Einheitenp
- JPanel
, the panel with GridBagLayout
to place the component c
.public void clearHintLabelText()
<html> </html>
) as lable text.public void setFieldText(java.lang.String txt)
Sets the puzzle's number txt
on the text field. Used when
generating a new puzzle, reloading a game or showing mistakes.
txt
- String
the text to be set.public java.lang.String getFieldText()
String
the number shown in a filled out sudoku cellpublic HintLabel getLabel()
HintLabel
the label that shows the hint numberspublic NumberTextField getField()
NumberTextField
the text field that shows the numberpublic void setSelectionColor(java.awt.Color c)
c
- Color
the color to be set.public void setForeground(java.awt.Color fieldFG, java.awt.Color labelFG)
fieldFG
- Color
foreground color for the puzzle text field.labelFG
- Color
foreground color for the hint text label.public void setBackground(java.awt.Color fieldBG, java.awt.Color labelBG)
fieldBG
- Color
background color for the puzzle text field.labelBG
- Color
background color for the hint text label.public void setFontWeight(int weight)
weight
- int
, the font-weight either
Font.PLAIN
or Font.BOLD
.public void reloadFont()
SudokuConstants.FONT_FACE
. The
font-weight may be switched from Font.PLAIN
to
Font.BOLD
by the values given in the options panel and
the font-size is calculated depending on faktor
and some hard
coded settings.public int getQuad()
public void setQuad(int quad)
public int getRow()
public void setRow(int row)
public int getCol()
public void setCol(int col)
public void setFaktor(int faktor)
public void setFGColor(java.awt.Color color)
public void setBorderColor(java.awt.Color color)
public void mouseClicked(java.awt.event.MouseEvent e)
mouseClicked
in interface java.awt.event.MouseListener
public void mousePressed(java.awt.event.MouseEvent e)
mousePressed
in interface java.awt.event.MouseListener
public void mouseReleased(java.awt.event.MouseEvent e)
mouseReleased
in interface java.awt.event.MouseListener
public void mouseEntered(java.awt.event.MouseEvent e)
mouseEntered
in interface java.awt.event.MouseListener
public void mouseExited(java.awt.event.MouseEvent e)
mouseExited
in interface java.awt.event.MouseListener
public void keyTyped(java.awt.event.KeyEvent e)
keyTyped
in interface java.awt.event.KeyListener
public void keyPressed(java.awt.event.KeyEvent e)
keyPressed
in interface java.awt.event.KeyListener
public void keyReleased(java.awt.event.KeyEvent e)
keyReleased
in interface java.awt.event.KeyListener