[jboss-svn-commits] JBL Code SVN: r14861 - labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/sudoku/swing.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Sep 4 09:29:00 EDT 2007
Author: pete.bennett at jboss.com
Date: 2007-09-04 09:29:00 -0400 (Tue, 04 Sep 2007)
New Revision: 14861
Removed:
labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/sudoku/swing/SudokuGridView.java
Log:
Added 3x3 grid lines
Deleted: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/sudoku/swing/SudokuGridView.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/sudoku/swing/SudokuGridView.java 2007-09-04 13:24:49 UTC (rev 14860)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/sudoku/swing/SudokuGridView.java 2007-09-04 13:29:00 UTC (rev 14861)
@@ -1,177 +0,0 @@
-/*
- * JBoss, the OpenSource J2EE webOS
- *
- * Distributable under LGPL license.
- * See terms of license at gnu.org.
- */
-package org.drools.examples.sudoku.swing;
-
-import java.awt.BorderLayout;
-import java.awt.Color;
-import java.awt.Font;
-import java.awt.FontMetrics;
-import java.awt.GridLayout;
-import java.awt.event.ComponentEvent;
-import java.awt.event.ComponentListener;
-
-import javax.swing.JComponent;
-import javax.swing.JPanel;
-import javax.swing.JTextField;
-import javax.swing.border.EmptyBorder;
-
-public class SudokuGridView
- extends JComponent
- implements SudokuGridListener, ComponentListener
-{
- /** The serialVersionUID */
- private static final long serialVersionUID = 1L;
- private SudokuGridModel model;
- private GridLayout gridLayout;
- private JTextField textFields[][];
- private EmptyBorder emptyBorder = new EmptyBorder(0,0,0,0);
-
- public SudokuGridView()
- {
- gridLayout = new GridLayout(SudokuGridModel.NUM_ROWS, SudokuGridModel.NUM_COLS);
- setLayout(gridLayout);
- textFields = new JTextField[SudokuGridModel.NUM_ROWS][SudokuGridModel.NUM_COLS];
- for (int row=0; row<textFields.length; row++)
- {
- for (int col=0; col<textFields[row].length; col++)
- {
- JTextField textField = new JTextField("");
- textField.setEditable(false);
- if (row==0 && col==0)
- {
- textField.addComponentListener(this);
- }
- JPanel panel = new JPanel();
- panel.setBorder(emptyBorder);
- panel.setLayout(new BorderLayout());
-
- textField.setOpaque(true);
- textField.setBackground(Color.WHITE);
- textField.setHorizontalAlignment(JTextField.CENTER);
-
- textFields[row][col] = textField;
-
- panel.add(BorderLayout.CENTER, textField);
- add(panel);
- }
- }
- }
-
- public SudokuGridView(SudokuGridModel model)
- {
- this();
- setModel(model);
- }
-
- public void setModel(SudokuGridModel model)
- {
- if (this.model != null && this.model instanceof AbstractSudokuGridModel)
- {
- ((AbstractSudokuGridModel) this.model).removeSudokuGridListener(this);
- }
-
- this.model = model;
- refreshValues();
-
- if (this.model != null && this.model instanceof AbstractSudokuGridModel)
- {
- ((AbstractSudokuGridModel) this.model).addSudokuGridListener(this);
- }
- }
-
- public SudokuGridModel getModel()
- {
- return model;
- }
-
- private void refreshValues()
- {
- for (int row=0; row<textFields.length; row++)
- {
- for (int col=0; col<textFields[row].length; col++)
- {
- refreshValue(row, col);
- }
- }
- }
-
- private void refreshValue(int row, int col)
- {
- if(getModel().isCellResolved(row, col))
- {
- textFields[row][col].setText(""+getModel().getPossibleCellValues(row, col).get(0));
- }
- else
- {
- textFields[row][col].setText("");
- }
- }
-
- public void cellResolved(SudokuGridEvent ev)
- {
- refreshValue(ev.getRow(), ev.getCol());
- }
-
- public void cellModified(SudokuGridEvent ev)
- {
- refreshValue(ev.getRow(), ev.getCol());
- }
-
- public void componentHidden(ComponentEvent ev)
- {
- // FIXME componentHidden
-
- }
-
- public void componentMoved(ComponentEvent ev)
- {
- // FIXME componentMoved
-
- }
-
- public void componentResized(ComponentEvent ev)
- {
- JTextField textField = (JTextField) ev.getComponent();
- int height = textField.getHeight();
- Font font = textField.getFont();
-
- FontMetrics fontMetrics = textField.getGraphics().getFontMetrics(font);
- if (fontMetrics.getAscent() < height)
- {
- while (fontMetrics.getAscent() < height)
- {
- font = new Font(font.getName(), font.getStyle(), font.getSize()+2);
- fontMetrics = textField.getGraphics().getFontMetrics(font);
- }
- }
- else if (fontMetrics.getAscent() > height)
- {
- while (fontMetrics.getAscent() > height)
- {
- font = new Font(font.getName(), font.getStyle(), font.getSize()-2);
- fontMetrics = textField.getGraphics().getFontMetrics(font);
- }
- }
- else
- {
- //
- }
-
- for (int row=0; row<textFields.length; row++)
- {
- for (int col=0; col<textFields[row].length; col++)
- {
- textFields[row][col].setFont(font);
- }
- }
- }
-
- public void componentShown(ComponentEvent ev)
- {
- // FIXME componentShown
- }
-}
More information about the jboss-svn-commits
mailing list