So I have a fully functioning ConnectFour class that uses a two-dimensional character array that either has a '-', 'R', or 'B' as its state (where dash represents unfilled, 'R' red, 'B' black). The class accepts a a number as column selector and fills the bottom-most row in the column as the users entry. You can view the code here (it is well commented, no mysteries, so if anybody needs help writing a connect four game, please take a look!).

Additionally, I have a rudimentary yet inconsistent knowledge of GUIs. I can create GUIs using NetBeans editor, I can create my own JButtons and JFrames by extending them and manipulating them, and I can export them as JARs through Eclipse so my friends can use them. This is all well and good, but I need help with event listeners and displaying my board.

So two my direct questions: (1) How can I best display a 2D array with the possible states of "blank", "red", and "black"? (OR: How can I best design a ConnectFour GUI?) (2) How can I use event listeners to "listen" for which column the user selects? and (3) How does my class interact with my GUI class and others (specifically, "listeners")?

All comments much appreciated :-)