title: Building a GUI for a Sudoku Solver (Complete with ASCII Example)
body: <p>.</p>
  <h2>OVERVIEW, SAMPLE</h2>
  <p>Hello everyone,</p>
  <p>I have created a basic Sudoku solver that can solve most problems fairly quickly. I still have a lot of work ahead of me to make it solve even the hardest problems, but I'd like to try to implement a basic JFrame GUI first.</p>
  <p>I have worked with internet applets in the past, but never before with JFrames.</p>
  <p>I want to create something similar to the image below (for starters):</p>
  <pre><code>-------------------------------------------------------------------------------------------------
  ! Sudoku Solver 1.0                                                                      - [] X !
  -------------------------------------------------------------------------------------------------
  !  _____________ _____________ _____________         _____________ _____________ _____________  !
  ! |  _   _   _  |  _   _   _  |  _   _   _  |       |  _   _   _  |  _   _   _  |  _   _   _  | !
  ! | !5! !_! !_! | !_! !_! !_! | !6! !_! !1! |       | !5! !7! !2! | !4! !9! !3! | !6! !8! !1! | !
  ! |  _   _   _  |  _   _   _  |  _   _   _  |       |  _   _   _  |  _   _   _  |  _   _   _  | !
  ! | !6! !_! !_! | !_! !_! !2! | !4! !_! !_! |       | !6! !1! !3! | !8! !5! !2! | !4! !7! !9! | !
  ! |  _   _   _  |  _   _   _  |  _   _   _  |       |  _   _   _  |  _   _   _  |  _   _   _  | !
  ! | !_! !_! !_! | !7! !_! !1! | !_! !_! !2! |       | !8! !4! !9! | !7! !6! !1! | !3! !5! !2! | !
  ! -_____________-_____________-_____________-       -_____________-_____________-_____________- !
  ! |  _   _   _  |  _   _   _  |  _   _   _  |       |  _   _   _  |  _   _   _  |  _   _   _  | !
  ! | !_! !_! !4! | !_! !2! !_! | !_! !3! !_! |       | !1! !6! !4! | !9! !2! !7! | !5! !3! !8! | !
  ! |  _   _   _  |  _   _   _  |  _   _   _  | .---. |  _   _   _  |  _   _   _  |  _   _   _  | !
  ! | !_! !3! !_! | !_! !_! !_! | !_! !9! !_! | | &gt; | | !2! !3! !8! | !5! !1! !6! | !7! !9! !4! | !
  ! |  _   _   _  |  _   _   _  |  _   _   _  | '---' |  _   _   _  |  _   _   _  |  _   _   _  | !
  ! | !_! !_! !_! | !_! !4! !_! | !_! !_! !_! |       | !7! !9! !5! | !3! !4! !8! | !1! !2! !6! | !
  ! -_____________-_____________-_____________-       -_____________-_____________-_____________- !
  ! |  _   _   _  |  _   _   _  |  _   _   _  |       |  _   _   _  |  _   _   _  |  _   _   _  | !
  ! | !_! !2! !_! | !1! !_! !5! | !9! !_! !_! |       | !4! !2! !7! | !1! !8! !5! | !9! !6! !3! | !
  ! |  _   _   _  |  _   _   _  |  _   _   _  |       |  _   _   _  |  _   _   _  |  _   _   _  | !
  ! | !_! !_! !_! | !6! !_! !_! | !_! !_! !5! |       | !3! !8! !1! | !6! !7! !9! | !2! !4! !5! | !
  ! |  _   _   _  |  _   _   _  |  _   _   _  |       |  _   _   _  |  _   _   _  |  _   _   _  | !
  ! | !_! !_! !6! | !_! !3! !_! | !_! !_! !7! |       | !9! !5! !6! | !2! !3! !4! | !8! !1! !7! | !
  ! -_____________-_____________-_____________-       -_____________-_____________-_____________- !
  !                                                                                               !
  ! .-------------------------------------------------------------------------------------------. !
  ! |                                                                                           | !
  ! |               Solved Puzzle in 9.096ms      |      Completely Solved: True                | !
  ! |                                                                                           | !
  ! '-------------------------------------------------------------------------------------------' !
  !                                                                                               !
  -------------------------------------------------------------------------------------------------
  </code></pre>
  <p>.</p>
  <h2>SPECIFICS</h2>
  <p>: Left Puzzle</p>
  <ul>
  <li>9x9 Sections should be clearly defined (lines in between; seperate boxes)</li>
  <li>Text boxes should only accept numbers/only allow for one number to be entered (if possible)</li>
  </ul>
  <p>: Right Puzzle</p>
  <ul>
  <li>9x9 Sections should be clearly defined (lines in between; seperate boxes)</li>
  <li>Doesn't matter if boxes can/cannot be edited so long as they can display the result</li>
  </ul>
  <p>: Button In Center</p>
  <ul>
  <li>Should run [SudokuPuzzle].solve();</li>
  </ul>
  <p>: Bottom Text Box</p>
  <ul>
  <li>Should not be editable</li>
  </ul>
  <p>.</p>
  <h2>WHAT I'M LOOKING FOR</h2>
  <p>I know from past experiences that this can all be done in a JFrame, but because I have never built one myself, I'm not quite sure which <a href="http://download.oracle.com/javase/tutorial/uiswing/components/componentlist.html" rel="noreferrer">components</a> (content items, panels, settings, etc) I need to use to meet my specifications. I have yet to find a way to limit my text boxes to numbers and prevent the user from inserting more than one value at a time. Are text boxes really the best option, or am I missing something that can more specifically suit my needs?</p>
  <p>I not only need to know which classes I need, but also how to organize these so that the button stays comfortably between the two puzzles and the text box sits underneath. From what I've <a href="https://stackoverflow.com/questions/1126779/building-a-gui-in-java">read</a>, <a href="http://www.miglayout.com/" rel="noreferrer">MigLayout</a> seems like an option to simplify this process.</p>
  <p>.</p>
  <h2>END NOTES</h2>
  <p>Many, many thanks to anyone who helps. If any part of this question appears a little rude or abrupt, I apologize. I tend to post most of my questions at night, so the community has a few hours to mull it over before I try all the responses (that and the fact that I'm out doing stuff most days).</p>
  <p>I will be awake for 1-2 more hours to answer any questions.</p>
  <p>Again thanks,</p>
  <p>Justian</p>