ProvinceListDialog(java.awt.Frame parent) {
            super(parent, "Provinces", false);
            
            ProvinceData.Province[] provs = Main.provinceData.getAllProvs();
            
            String[][] provNameTable = new String[provs.length][3];
            int i = 0;
            boolean pti = true;
            for (ProvinceData.Province prov : provs) {
                provNameTable[i][0] = Integer.toString(prov.getId());
                provNameTable[i][1] = prov.getName();
                if (pti) {
                    provNameTable[i][2] = Text.getText("terra_incognita");
                    pti = false;
                } else {
                    provNameTable[i][2] = Text.getText("prov" + prov.getId());
                }
                i++;
            }
            
            JTable provTable = new JTable(provNameTable, new String[] { "Tag", "Name in definition", "Display name" } );
            provTable.setDefaultEditor(Object.class, null);
            
            if (supportsRowSorter) {
                provTable.setAutoCreateRowSorter(true);
            } else {
                System.out.println("Table sorting not supported.");
            }
            
            setLayout(new BorderLayout());
            add(new JScrollPane(provTable), BorderLayout.CENTER);
            
            setDefaultCloseOperation(DISPOSE_ON_CLOSE);
            pack();
        }