Вы используете то, что некоторые люди называют «антипаттерном интерфейса страшных констант», хотя обычно эти константы находятся в импортируемом интерфейсе. У меня нет проблем с этим, особенно с момента появления статического импорта, но, возможно, кто-то сообщит нам об ужасных пороках. Один из них, кажется, «это не то, для чего нужны интерфейсы».
Больше беспокойства вызывает то, что вы должны запускать графический интерфейс в потоке:
//Schedule a job for the event-dispatching thread: creating
//and showing this application's GUI.
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JFrame myJFrame = new JFrame();
myJFrame.setSize(Settings.frameWidth, Settings.frameHeight);
myJFrame.setVisible(true);
}
});