// GameTreeJunction.java
package net.sf.gogui.gui;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import javax.swing.JComponent;
class GameTreeJunction
extends JComponent
{
public GameTreeJunction(int[] childrenDy, GameTreePanel gameTreePanel)
{
m_gameTreePanel = gameTreePanel;
m_childrenDy = childrenDy;
setOpaque(false);
setFocusable(false);
setFocusTraversalKeysEnabled(false);
int fullSize = m_gameTreePanel.getNodeFullSize();
int lastDy = childrenDy[childrenDy.length - 1];
setPreferredSize(new Dimension(fullSize, lastDy));
}
public void paintComponent(Graphics graphics)
{
int size = m_gameTreePanel.getNodeSize();
int fullSize = m_gameTreePanel.getNodeFullSize();
int halfSize = size / 2;
graphics.setColor(COLOR_GRID);
int lastDy = m_childrenDy[m_childrenDy.length - 1];
graphics.drawLine(halfSize, 0, halfSize, lastDy - fullSize);
for (int i = 1; i < m_childrenDy.length; ++i)
{
int y = m_childrenDy[i] - fullSize;
graphics.drawLine(halfSize, y, size, y + halfSize);
graphics.drawLine(size, y + halfSize, fullSize, y + halfSize);
}
}
private final int[] m_childrenDy;
private final GameTreePanel m_gameTreePanel;
private static final Color COLOR_GRID = new Color(148, 148, 148);
}