diff --git a/src/main/java/hexgui/Main.java b/src/main/java/hexgui/Main.java
index bded38e..d8bfe93 100644
--- a/src/main/java/hexgui/Main.java
+++ b/src/main/java/hexgui/Main.java
@@ -7,10 +7,8 @@
import hexgui.gui.HexGui;
import hexgui.util.Options;
import hexgui.version.Version;
-import java.awt.*;
-import java.awt.event.*;
-import java.io.*;
-import java.util.*;
+import java.io.File;
+import java.util.ArrayList;
import javax.swing.*;
public final class Main {
diff --git a/src/main/java/hexgui/game/Clock.java b/src/main/java/hexgui/game/Clock.java
index c72b77f..ef8bdaa 100644
--- a/src/main/java/hexgui/game/Clock.java
+++ b/src/main/java/hexgui/game/Clock.java
@@ -4,12 +4,9 @@
package hexgui.game;
-import hexgui.hex.*;
-import java.awt.*;
-import java.awt.event.*;
-import java.io.*;
-import java.net.*;
-import javax.swing.Timer;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import javax.swing.*;
public class Clock implements ActionListener {
public interface Listener {
diff --git a/src/main/java/hexgui/game/GameInfo.java b/src/main/java/hexgui/game/GameInfo.java
index ad23d90..8ee6bba 100644
--- a/src/main/java/hexgui/game/GameInfo.java
+++ b/src/main/java/hexgui/game/GameInfo.java
@@ -4,7 +4,7 @@
package hexgui.game;
-import java.awt.Dimension;
+import java.awt.*;
// ----------------------------------------------------------------------------
diff --git a/src/main/java/hexgui/gui/AboutDialog.java b/src/main/java/hexgui/gui/AboutDialog.java
index ca09ea7..8f20970 100644
--- a/src/main/java/hexgui/gui/AboutDialog.java
+++ b/src/main/java/hexgui/gui/AboutDialog.java
@@ -2,7 +2,8 @@
import hexgui.version.Version;
import java.awt.*;
-import java.awt.event.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
import java.net.URL;
import javax.swing.*;
import javax.swing.border.EtchedBorder;
diff --git a/src/main/java/hexgui/gui/AnalyzeDialog.java b/src/main/java/hexgui/gui/AnalyzeDialog.java
index ee34d02..1c3292d 100644
--- a/src/main/java/hexgui/gui/AnalyzeDialog.java
+++ b/src/main/java/hexgui/gui/AnalyzeDialog.java
@@ -2,51 +2,20 @@
package hexgui.gui;
-import static hexgui.hex.HexColor.BLACK;
-import static hexgui.hex.HexColor.EMPTY;
-import static hexgui.hex.HexColor.WHITE;
+import static hexgui.hex.HexColor.*;
import hexgui.hex.HexColor;
import hexgui.hex.HexPoint;
import hexgui.htp.AnalyzeCommand;
import hexgui.htp.AnalyzeDefinition;
import hexgui.htp.AnalyzeType;
-// import hexgui.htp.GtpResponseFormatError;
-// import hexgui.htp.GtpUtil;
import hexgui.util.Platform;
import hexgui.util.PrefUtil;
-import java.awt.BorderLayout;
-import java.awt.Container;
-import java.awt.Dimension;
-import java.awt.FlowLayout;
-import java.awt.Frame;
-import java.awt.GridLayout;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.event.FocusAdapter;
-import java.awt.event.FocusEvent;
-import java.awt.event.ItemEvent;
-import java.awt.event.ItemListener;
-import java.awt.event.KeyEvent;
-import java.awt.event.MouseAdapter;
-import java.awt.event.MouseEvent;
-import java.awt.event.WindowAdapter;
-import java.awt.event.WindowEvent;
+import java.awt.*;
+import java.awt.event.*;
import java.io.File;
import java.util.ArrayList;
-import javax.swing.Box;
-import javax.swing.ButtonGroup;
-import javax.swing.JButton;
-import javax.swing.JCheckBox;
-import javax.swing.JComboBox;
-import javax.swing.JComponent;
-import javax.swing.JDialog;
-import javax.swing.JList;
-import javax.swing.JOptionPane;
-import javax.swing.JPanel;
-import javax.swing.JRadioButton;
-import javax.swing.JScrollPane;
-import javax.swing.ListSelectionModel;
+import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
diff --git a/src/main/java/hexgui/gui/BoardDrawerBase.java b/src/main/java/hexgui/gui/BoardDrawerBase.java
index f1027ea..0976130 100644
--- a/src/main/java/hexgui/gui/BoardDrawerBase.java
+++ b/src/main/java/hexgui/gui/BoardDrawerBase.java
@@ -7,17 +7,7 @@
import hexgui.hex.HexColor;
import hexgui.hex.HexPoint;
import hexgui.util.Pair;
-import java.awt.AlphaComposite;
-import java.awt.Color;
-import java.awt.Font;
-import java.awt.FontMetrics;
-import java.awt.Graphics;
-import java.awt.Graphics2D;
-import java.awt.Image;
-import java.awt.Point;
-import java.awt.Polygon;
-import java.awt.RenderingHints;
-import java.awt.event.*;
+import java.awt.*;
import java.net.URL;
import java.util.Vector;
import javax.swing.*;
diff --git a/src/main/java/hexgui/gui/BoardDrawerDiamond.java b/src/main/java/hexgui/gui/BoardDrawerDiamond.java
index 1c120fd..9afbaf0 100644
--- a/src/main/java/hexgui/gui/BoardDrawerDiamond.java
+++ b/src/main/java/hexgui/gui/BoardDrawerDiamond.java
@@ -7,8 +7,6 @@
import hexgui.hex.HexPoint;
import hexgui.util.Hexagon;
import java.awt.*;
-import java.awt.event.*;
-import javax.swing.*;
// ----------------------------------------------------------------------------
diff --git a/src/main/java/hexgui/gui/BoardDrawerFlat.java b/src/main/java/hexgui/gui/BoardDrawerFlat.java
index 705f282..3bb7ab9 100644
--- a/src/main/java/hexgui/gui/BoardDrawerFlat.java
+++ b/src/main/java/hexgui/gui/BoardDrawerFlat.java
@@ -7,8 +7,6 @@
import hexgui.hex.HexPoint;
import hexgui.util.Hexagon;
import java.awt.*;
-import java.awt.event.*;
-import javax.swing.*;
// ----------------------------------------------------------------------------
diff --git a/src/main/java/hexgui/gui/BoardDrawerFlat2.java b/src/main/java/hexgui/gui/BoardDrawerFlat2.java
index 0a1e97a..48f9486 100644
--- a/src/main/java/hexgui/gui/BoardDrawerFlat2.java
+++ b/src/main/java/hexgui/gui/BoardDrawerFlat2.java
@@ -7,8 +7,6 @@
import hexgui.hex.HexPoint;
import hexgui.util.Hexagon;
import java.awt.*;
-import java.awt.event.*;
-import javax.swing.*;
// ----------------------------------------------------------------------------
diff --git a/src/main/java/hexgui/gui/BoardDrawerGo.java b/src/main/java/hexgui/gui/BoardDrawerGo.java
index 120facb..d143dad 100644
--- a/src/main/java/hexgui/gui/BoardDrawerGo.java
+++ b/src/main/java/hexgui/gui/BoardDrawerGo.java
@@ -6,8 +6,6 @@
import hexgui.hex.HexPoint;
import java.awt.*;
-import java.awt.event.*;
-import javax.swing.*;
// ----------------------------------------------------------------------------
diff --git a/src/main/java/hexgui/gui/BoardDrawerY.java b/src/main/java/hexgui/gui/BoardDrawerY.java
index 1b805e7..cc23c79 100644
--- a/src/main/java/hexgui/gui/BoardDrawerY.java
+++ b/src/main/java/hexgui/gui/BoardDrawerY.java
@@ -4,8 +4,6 @@
import hexgui.hex.HexPoint;
import hexgui.util.Hexagon;
import java.awt.*;
-import java.awt.event.*;
-import javax.swing.*;
// ----------------------------------------------------------------------------
diff --git a/src/main/java/hexgui/gui/BoardSizeDialog.java b/src/main/java/hexgui/gui/BoardSizeDialog.java
index c3db091..a7159d5 100644
--- a/src/main/java/hexgui/gui/BoardSizeDialog.java
+++ b/src/main/java/hexgui/gui/BoardSizeDialog.java
@@ -4,9 +4,7 @@
package hexgui.gui;
-import hexgui.hex.*;
import java.awt.*;
-import java.awt.event.*;
import javax.swing.*;
/** Dialog for entering a board size. */
diff --git a/src/main/java/hexgui/gui/ChooseProgramDialog.java b/src/main/java/hexgui/gui/ChooseProgramDialog.java
index 620a56e..b8f4716 100644
--- a/src/main/java/hexgui/gui/ChooseProgramDialog.java
+++ b/src/main/java/hexgui/gui/ChooseProgramDialog.java
@@ -4,9 +4,9 @@
package hexgui.gui;
-import hexgui.hex.*;
import java.awt.*;
-import java.awt.event.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
import java.util.Vector;
import javax.swing.*;
import javax.swing.text.html.HTMLEditorKit;
diff --git a/src/main/java/hexgui/gui/Comment.java b/src/main/java/hexgui/gui/Comment.java
index fae2d24..8e271f0 100644
--- a/src/main/java/hexgui/gui/Comment.java
+++ b/src/main/java/hexgui/gui/Comment.java
@@ -5,9 +5,6 @@
package hexgui.gui;
import java.awt.*;
-import java.awt.event.*;
-import java.io.*;
-import java.util.*;
import javax.swing.*;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
diff --git a/src/main/java/hexgui/gui/EditProgramDialog.java b/src/main/java/hexgui/gui/EditProgramDialog.java
index 6080811..dc45c41 100644
--- a/src/main/java/hexgui/gui/EditProgramDialog.java
+++ b/src/main/java/hexgui/gui/EditProgramDialog.java
@@ -6,7 +6,8 @@
import hexgui.util.SpringUtilities;
import java.awt.*;
-import java.awt.event.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
import javax.swing.*;
import javax.swing.text.html.HTMLEditorKit;
diff --git a/src/main/java/hexgui/gui/FileDialogs.java b/src/main/java/hexgui/gui/FileDialogs.java
index 37c4441..608a05e 100644
--- a/src/main/java/hexgui/gui/FileDialogs.java
+++ b/src/main/java/hexgui/gui/FileDialogs.java
@@ -4,12 +4,10 @@
import hexgui.sgf.GameFileFilter;
import hexgui.util.Platform;
-import java.awt.Component;
-import java.awt.FileDialog;
-import java.awt.Frame;
+import java.awt.*;
import java.io.File;
import java.text.MessageFormat;
-import javax.swing.JFileChooser;
+import javax.swing.*;
/** File dialogs. */
public final class FileDialogs {
diff --git a/src/main/java/hexgui/gui/GameInfoPanel.java b/src/main/java/hexgui/gui/GameInfoPanel.java
index 0dbf3c2..2ca654c 100644
--- a/src/main/java/hexgui/gui/GameInfoPanel.java
+++ b/src/main/java/hexgui/gui/GameInfoPanel.java
@@ -7,10 +7,7 @@
import hexgui.game.Clock;
import hexgui.hex.HexColor;
import java.awt.*;
-import java.awt.event.*;
-import java.io.*;
import java.net.URL;
-import java.util.*;
import javax.swing.*;
/** Displays info about the current game. */
diff --git a/src/main/java/hexgui/gui/GuiBoard.java b/src/main/java/hexgui/gui/GuiBoard.java
index ea0cae4..14e253f 100644
--- a/src/main/java/hexgui/gui/GuiBoard.java
+++ b/src/main/java/hexgui/gui/GuiBoard.java
@@ -5,10 +5,16 @@
package hexgui.gui;
import hexgui.game.Node;
-import hexgui.hex.*;
-import hexgui.util.*;
+import hexgui.hex.HexColor;
+import hexgui.hex.HexPoint;
+import hexgui.hex.VC;
+import hexgui.util.BoardLayout;
+import hexgui.util.Pair;
+import hexgui.util.StringUtils;
import java.awt.*;
-import java.awt.event.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
import java.awt.print.PageFormat;
import java.awt.print.Printable;
import java.awt.print.PrinterException;
diff --git a/src/main/java/hexgui/gui/GuiField.java b/src/main/java/hexgui/gui/GuiField.java
index 0813301..48d1f08 100644
--- a/src/main/java/hexgui/gui/GuiField.java
+++ b/src/main/java/hexgui/gui/GuiField.java
@@ -4,17 +4,11 @@
package hexgui.gui;
-import hexgui.hex.*;
-import hexgui.util.*;
-import java.awt.AlphaComposite;
-import java.awt.Color;
-import java.awt.Font;
-import java.awt.FontMetrics;
-import java.awt.Graphics;
-import java.awt.Graphics2D;
-import java.awt.event.*;
-import java.awt.geom.*;
-import javax.swing.*;
+import hexgui.hex.HexColor;
+import hexgui.hex.HexPoint;
+import hexgui.util.RadialGradientPaint;
+import java.awt.*;
+import java.awt.geom.Point2D;
// ----------------------------------------------------------------------------
diff --git a/src/main/java/hexgui/gui/GuiMenuBar.java b/src/main/java/hexgui/gui/GuiMenuBar.java
index 739573a..cd3971f 100644
--- a/src/main/java/hexgui/gui/GuiMenuBar.java
+++ b/src/main/java/hexgui/gui/GuiMenuBar.java
@@ -4,10 +4,9 @@
package hexgui.gui;
-
-import java.awt.*;
-import java.awt.event.*;
-import java.util.*;
+import java.awt.event.ActionListener;
+import java.awt.event.KeyEvent;
+import java.util.Enumeration;
import javax.swing.*;
// ----------------------------------------------------------------------------
diff --git a/src/main/java/hexgui/gui/GuiPreferences.java b/src/main/java/hexgui/gui/GuiPreferences.java
index 31bb079..4976d2d 100644
--- a/src/main/java/hexgui/gui/GuiPreferences.java
+++ b/src/main/java/hexgui/gui/GuiPreferences.java
@@ -4,9 +4,7 @@
package hexgui.gui;
-import java.io.*;
-import java.util.*;
-import java.util.prefs.*;
+import java.util.prefs.Preferences;
// ----------------------------------------------------------------------------
diff --git a/src/main/java/hexgui/gui/GuiRunnable.java b/src/main/java/hexgui/gui/GuiRunnable.java
index f56cc84..2df09a4 100644
--- a/src/main/java/hexgui/gui/GuiRunnable.java
+++ b/src/main/java/hexgui/gui/GuiRunnable.java
@@ -1,6 +1,5 @@
package hexgui.gui;
-import java.util.*;
import javax.swing.*;
/**
diff --git a/src/main/java/hexgui/gui/GuiToolBar.java b/src/main/java/hexgui/gui/GuiToolBar.java
index 9db9aeb..ede7611 100644
--- a/src/main/java/hexgui/gui/GuiToolBar.java
+++ b/src/main/java/hexgui/gui/GuiToolBar.java
@@ -5,10 +5,10 @@
package hexgui.gui;
import hexgui.game.Node;
-import java.awt.*;
-import java.awt.event.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.KeyEvent;
import java.net.URL;
-import java.util.*;
import javax.swing.*;
// ----------------------------------------------------------------------------
diff --git a/src/main/java/hexgui/gui/GuiUtil.java b/src/main/java/hexgui/gui/GuiUtil.java
index 9c7a80d..6b73608 100644
--- a/src/main/java/hexgui/gui/GuiUtil.java
+++ b/src/main/java/hexgui/gui/GuiUtil.java
@@ -3,35 +3,11 @@
package hexgui.gui;
import hexgui.util.Platform;
-import java.awt.Color;
-import java.awt.Dimension;
-import java.awt.Font;
-import java.awt.Frame;
-import java.awt.Graphics;
-import java.awt.Graphics2D;
-import java.awt.KeyboardFocusManager;
-import java.awt.RenderingHints;
-import java.awt.Toolkit;
-import java.awt.Window;
-import java.awt.datatransfer.Clipboard;
-import java.awt.datatransfer.ClipboardOwner;
-import java.awt.datatransfer.DataFlavor;
-import java.awt.datatransfer.StringSelection;
-import java.awt.datatransfer.Transferable;
-import java.awt.datatransfer.UnsupportedFlavorException;
+import java.awt.*;
+import java.awt.datatransfer.*;
import java.io.IOException;
import java.net.URL;
-import javax.swing.BorderFactory;
-import javax.swing.Box;
-import javax.swing.ImageIcon;
-import javax.swing.InputMap;
-import javax.swing.JButton;
-import javax.swing.JComponent;
-import javax.swing.JFrame;
-import javax.swing.JTextField;
-import javax.swing.JTextPane;
-import javax.swing.KeyStroke;
-import javax.swing.SwingUtilities;
+import javax.swing.*;
import javax.swing.border.Border;
import javax.swing.text.Style;
import javax.swing.text.StyleConstants;
diff --git a/src/main/java/hexgui/gui/HexGui.java b/src/main/java/hexgui/gui/HexGui.java
index 391a2ac..3406009 100644
--- a/src/main/java/hexgui/gui/HexGui.java
+++ b/src/main/java/hexgui/gui/HexGui.java
@@ -6,11 +6,7 @@
import hexgui.game.GameInfo;
import hexgui.game.Node;
import hexgui.hex.*;
-import hexgui.htp.AnalyzeCommand;
-import hexgui.htp.AnalyzeDefinition;
-import hexgui.htp.AnalyzeType;
-import hexgui.htp.HtpController;
-import hexgui.htp.HtpError;
+import hexgui.htp.*;
import hexgui.sgf.SgfReader;
import hexgui.sgf.SgfWriter;
import hexgui.util.ErrorMessage;
@@ -19,9 +15,14 @@
import hexgui.util.StringUtils;
import hexgui.version.Version;
import java.awt.*;
-import java.awt.event.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
import java.io.*;
-import java.net.*;
+import java.net.Socket;
+import java.net.URL;
+import java.net.UnknownHostException;
import java.util.*;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.Semaphore;
diff --git a/src/main/java/hexgui/gui/HtpShell.java b/src/main/java/hexgui/gui/HtpShell.java
index 3ddf53f..6f77114 100644
--- a/src/main/java/hexgui/gui/HtpShell.java
+++ b/src/main/java/hexgui/gui/HtpShell.java
@@ -4,10 +4,10 @@
package hexgui.gui;
-import hexgui.hex.*;
import hexgui.htp.HtpController;
import java.awt.*;
-import java.awt.event.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
import javax.swing.*;
import javax.swing.text.*;
diff --git a/src/main/java/hexgui/gui/MessageDialogs.java b/src/main/java/hexgui/gui/MessageDialogs.java
index 964e53e..febd181 100644
--- a/src/main/java/hexgui/gui/MessageDialogs.java
+++ b/src/main/java/hexgui/gui/MessageDialogs.java
@@ -7,16 +7,11 @@
import hexgui.util.Platform;
import hexgui.util.PrefUtil;
import hexgui.util.StringUtils;
-import java.awt.Component;
+import java.awt.*;
import java.util.Set;
import java.util.TreeSet;
import java.util.prefs.Preferences;
-import javax.swing.Box;
-import javax.swing.JCheckBox;
-import javax.swing.JComponent;
-import javax.swing.JDialog;
-import javax.swing.JLabel;
-import javax.swing.JOptionPane;
+import javax.swing.*;
/** Simple message dialogs. */
public final class MessageDialogs {
diff --git a/src/main/java/hexgui/gui/ParameterDialog.java b/src/main/java/hexgui/gui/ParameterDialog.java
index ce6daf9..777a0a9 100644
--- a/src/main/java/hexgui/gui/ParameterDialog.java
+++ b/src/main/java/hexgui/gui/ParameterDialog.java
@@ -3,10 +3,7 @@
package hexgui.gui;
import static java.lang.Math.max;
-import static javax.swing.JOptionPane.OK_CANCEL_OPTION;
-import static javax.swing.JOptionPane.PLAIN_MESSAGE;
-import static javax.swing.JOptionPane.UNINITIALIZED_VALUE;
-import static javax.swing.JOptionPane.VALUE_PROPERTY;
+import static javax.swing.JOptionPane.*;
import hexgui.htp.AnalyzeUtil;
import hexgui.htp.HtpController;
@@ -14,12 +11,7 @@
import hexgui.htp.ParameterType;
import hexgui.util.ObjectUtil;
import hexgui.util.StringUtils;
-import java.awt.Component;
-import java.awt.Dimension;
-import java.awt.Frame;
-import java.awt.GridBagConstraints;
-import java.awt.GridBagLayout;
-import java.awt.Insets;
+import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.beans.PropertyChangeEvent;
@@ -29,16 +21,7 @@
import java.io.StringReader;
import java.text.MessageFormat;
import java.util.ArrayList;
-import javax.swing.Box;
-import javax.swing.JCheckBox;
-import javax.swing.JComboBox;
-import javax.swing.JDialog;
-import javax.swing.JLabel;
-import javax.swing.JOptionPane;
-import javax.swing.JPanel;
-import javax.swing.JSeparator;
-import javax.swing.JTextField;
-import javax.swing.SwingConstants;
+import javax.swing.*;
/** Dialog for editing parameters in response to an analyze command of type param. */
public class ParameterDialog {
diff --git a/src/main/java/hexgui/gui/PreferencesDialog.java b/src/main/java/hexgui/gui/PreferencesDialog.java
index 9fbd960..2cde78a 100644
--- a/src/main/java/hexgui/gui/PreferencesDialog.java
+++ b/src/main/java/hexgui/gui/PreferencesDialog.java
@@ -4,9 +4,11 @@
package hexgui.gui;
-import hexgui.hex.*;
import java.awt.*;
-import java.awt.event.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
import javax.swing.*;
/** Dialog for changes user preferences. */
diff --git a/src/main/java/hexgui/gui/Print.java b/src/main/java/hexgui/gui/Print.java
index d0dd0e9..9c14928 100644
--- a/src/main/java/hexgui/gui/Print.java
+++ b/src/main/java/hexgui/gui/Print.java
@@ -3,7 +3,7 @@
// ----------------------------------------------------------------------------
package hexgui.gui;
-import java.awt.Component;
+import java.awt.*;
import java.awt.print.Printable;
import java.awt.print.PrinterJob;
diff --git a/src/main/java/hexgui/gui/PrintPreview.java b/src/main/java/hexgui/gui/PrintPreview.java
index 75816d2..7365b89 100644
--- a/src/main/java/hexgui/gui/PrintPreview.java
+++ b/src/main/java/hexgui/gui/PrintPreview.java
@@ -10,13 +10,15 @@
package hexgui.gui;
import java.awt.*;
-import java.awt.event.*;
-import java.awt.image.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.image.BufferedImage;
import java.awt.print.*;
import javax.swing.*;
-import javax.swing.border.*;
-import javax.swing.event.*;
-import javax.swing.table.*;
+import javax.swing.border.AbstractBorder;
+import javax.swing.border.LineBorder;
+import javax.swing.table.JTableHeader;
+import javax.swing.table.TableModel;
public class PrintPreview extends JPanel implements ActionListener {
static final double INITIAL_SCALE_DIVISOR = 1.0; // scale factor
diff --git a/src/main/java/hexgui/gui/RemoteProgramDialog.java b/src/main/java/hexgui/gui/RemoteProgramDialog.java
index b48abdc..981020b 100644
--- a/src/main/java/hexgui/gui/RemoteProgramDialog.java
+++ b/src/main/java/hexgui/gui/RemoteProgramDialog.java
@@ -4,9 +4,7 @@
package hexgui.gui;
-import hexgui.hex.*;
import java.awt.*;
-import java.awt.event.*;
import javax.swing.*;
/** Dialog for entering a remote program hostname. FIXME: allow port to be set. */
diff --git a/src/main/java/hexgui/gui/ShowAnalyzeText.java b/src/main/java/hexgui/gui/ShowAnalyzeText.java
index 6b148a8..57b69e4 100644
--- a/src/main/java/hexgui/gui/ShowAnalyzeText.java
+++ b/src/main/java/hexgui/gui/ShowAnalyzeText.java
@@ -4,9 +4,7 @@
import hexgui.hex.HexPoint;
import hexgui.htp.AnalyzeType;
-// import hexgui.htp.GtpUtil;
-// import hexgui.gui.GuiBoardUtil;
-import java.awt.Frame;
+import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
diff --git a/src/main/java/hexgui/gui/ShowError.java b/src/main/java/hexgui/gui/ShowError.java
index 7fba3e0..3b5f9aa 100644
--- a/src/main/java/hexgui/gui/ShowError.java
+++ b/src/main/java/hexgui/gui/ShowError.java
@@ -4,8 +4,8 @@
package hexgui.gui;
-import java.awt.Component;
-import javax.swing.JOptionPane;
+import java.awt.*;
+import javax.swing.*;
/** Displays a simple error message dialog. */
public class ShowError {
diff --git a/src/main/java/hexgui/gui/StatusBar.java b/src/main/java/hexgui/gui/StatusBar.java
index 45c4061..fb20783 100644
--- a/src/main/java/hexgui/gui/StatusBar.java
+++ b/src/main/java/hexgui/gui/StatusBar.java
@@ -5,11 +5,8 @@
package hexgui.gui;
import java.awt.*;
-import java.awt.event.*;
-import java.io.*;
import java.text.DecimalFormat;
import java.text.NumberFormat;
-import java.util.*;
import javax.swing.*;
import javax.swing.border.EtchedBorder;
diff --git a/src/main/java/hexgui/gui/TextViewer.java b/src/main/java/hexgui/gui/TextViewer.java
index 72d11b0..8132a6d 100644
--- a/src/main/java/hexgui/gui/TextViewer.java
+++ b/src/main/java/hexgui/gui/TextViewer.java
@@ -2,22 +2,13 @@
package hexgui.gui;
-import java.awt.BorderLayout;
-import java.awt.Color;
-import java.awt.Container;
-import java.awt.Dialog;
-import java.awt.Dimension;
-import java.awt.Frame;
-import java.awt.Toolkit;
+import java.awt.*;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import javax.swing.JDialog;
-import javax.swing.JPanel;
-import javax.swing.JScrollPane;
-import javax.swing.JTextPane;
+import javax.swing.*;
import javax.swing.event.CaretEvent;
import javax.swing.event.CaretListener;
import javax.swing.text.BadLocationException;
diff --git a/src/main/java/hexgui/gui/VCDisplayDialog.java b/src/main/java/hexgui/gui/VCDisplayDialog.java
index 7eae615..d808b81 100644
--- a/src/main/java/hexgui/gui/VCDisplayDialog.java
+++ b/src/main/java/hexgui/gui/VCDisplayDialog.java
@@ -4,14 +4,16 @@
package hexgui.gui;
-import hexgui.hex.*;
+import hexgui.hex.VC;
import java.awt.*;
-import java.awt.event.*;
-import java.util.*;
+import java.awt.event.FocusEvent;
+import java.awt.event.FocusListener;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import java.util.Vector;
import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
-import javax.swing.text.*;
// ----------------------------------------------------------------------------
diff --git a/src/main/java/hexgui/htp/HtpController.java b/src/main/java/hexgui/htp/HtpController.java
index bd53676..4255ff6 100644
--- a/src/main/java/hexgui/htp/HtpController.java
+++ b/src/main/java/hexgui/htp/HtpController.java
@@ -5,12 +5,7 @@
package hexgui.htp;
import hexgui.util.StringUtils;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.io.PrintStream;
+import java.io.*;
// ----------------------------------------------------------------------------
diff --git a/src/main/java/hexgui/sgf/SgfReader.java b/src/main/java/hexgui/sgf/SgfReader.java
index d16ca11..8f597f4 100644
--- a/src/main/java/hexgui/sgf/SgfReader.java
+++ b/src/main/java/hexgui/sgf/SgfReader.java
@@ -11,9 +11,10 @@
import hexgui.hex.HexColor;
import hexgui.hex.HexPoint;
import hexgui.hex.Move;
-import java.awt.Dimension;
+import java.awt.*;
import java.io.*;
-import java.util.*;
+import java.util.Locale;
+import java.util.Vector;
// ----------------------------------------------------------------------------
diff --git a/src/main/java/hexgui/sgf/SgfWriter.java b/src/main/java/hexgui/sgf/SgfWriter.java
index 974ae71..b344f9f 100644
--- a/src/main/java/hexgui/sgf/SgfWriter.java
+++ b/src/main/java/hexgui/sgf/SgfWriter.java
@@ -10,8 +10,9 @@
import hexgui.hex.HexPoint;
import hexgui.hex.Move;
import hexgui.version.Version;
-import java.awt.Dimension;
-import java.io.*;
+import java.awt.*;
+import java.io.OutputStream;
+import java.io.PrintStream;
import java.util.Iterator;
import java.util.Map;
import java.util.Vector;
diff --git a/src/main/java/hexgui/util/BoardLayout.java b/src/main/java/hexgui/util/BoardLayout.java
index 2f83437..8dfa19f 100644
--- a/src/main/java/hexgui/util/BoardLayout.java
+++ b/src/main/java/hexgui/util/BoardLayout.java
@@ -5,8 +5,6 @@
package hexgui.util;
import java.awt.*;
-import java.awt.event.*;
-import javax.swing.*;
public class BoardLayout implements LayoutManager {
public void addLayoutComponent(String name, Component comp) {}
diff --git a/src/main/java/hexgui/util/Options.java b/src/main/java/hexgui/util/Options.java
index ce12373..c3efcf2 100644
--- a/src/main/java/hexgui/util/Options.java
+++ b/src/main/java/hexgui/util/Options.java
@@ -1,7 +1,9 @@
package hexgui.util;
import java.io.*;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.TreeMap;
/** Parser for command line options. Options begin with a single '-' character. */
public class Options {
diff --git a/src/main/java/hexgui/util/RadialGradientContext.java b/src/main/java/hexgui/util/RadialGradientContext.java
index b7eddd8..4c6caff 100644
--- a/src/main/java/hexgui/util/RadialGradientContext.java
+++ b/src/main/java/hexgui/util/RadialGradientContext.java
@@ -4,8 +4,7 @@
package hexgui.util;
-import java.awt.Color;
-import java.awt.PaintContext;
+import java.awt.*;
import java.awt.geom.Point2D;
import java.awt.image.ColorModel;
import java.awt.image.Raster;
diff --git a/src/main/java/hexgui/util/RadialGradientPaint.java b/src/main/java/hexgui/util/RadialGradientPaint.java
index 48e0322..3191d8d 100644
--- a/src/main/java/hexgui/util/RadialGradientPaint.java
+++ b/src/main/java/hexgui/util/RadialGradientPaint.java
@@ -4,11 +4,7 @@
package hexgui.util;
-import java.awt.Color;
-import java.awt.Paint;
-import java.awt.PaintContext;
-import java.awt.Rectangle;
-import java.awt.RenderingHints;
+import java.awt.*;
import java.awt.geom.AffineTransform;
import java.awt.geom.Point2D;
import java.awt.geom.Rectangle2D;
diff --git a/src/main/java/hexgui/util/SpringUtilities.java b/src/main/java/hexgui/util/SpringUtilities.java
index e515b48..f77d261 100644
--- a/src/main/java/hexgui/util/SpringUtilities.java
+++ b/src/main/java/hexgui/util/SpringUtilities.java
@@ -33,7 +33,6 @@
import java.awt.*;
import javax.swing.*;
-import javax.swing.SpringLayout;
/**
* A 1.4 file that provides utility methods for creating form- or grid-style layouts with
diff --git a/src/main/resources/hexgui/images/hexgui.svg b/src/main/resources/hexgui/images/hexgui.svg
index f34ec64..f2f1ef1 100644
--- a/src/main/resources/hexgui/images/hexgui.svg
+++ b/src/main/resources/hexgui/images/hexgui.svg
@@ -2,26 +2,25 @@