Changed the code to do what the comment said it was doing -- move the delete button to the end of the button list
Set the preferred size of the scroll area on the bottom to be huge so it will always fill as much of the window as possible (otherwise the button bar gets extra space and creates a gap, which looks weird)
Added preliminary dynamic UI with a list of rows of controls based on the data parsed from the hosts file