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 ConnectFour.java class interact with my GUI class and others (specifically, "listeners")?

All comments much appreciated :-)