📄 randommapdialog.java
字号:
private JTextField texProbDrought; private JLabel labProbFire; private JTextField texProbFire; private JLabel labProbFlood; private JTextField texProbFlood; private JLabel labProbFreeze; private JTextField texProbFreeze; private JLabel labFxMod; private JTextField texFxMod; /*City*/ private JLabel labCityBlocks; private JLabel labCityCF; private JLabel labCityFloors; private JLabel labCityDensity; private JLabel labTownSize; private JTextField texCityBlocks; private JTextField texCityMinCF; private JTextField texCityMaxCF; private JTextField texCityMinFloors; private JTextField texCityMaxFloors; private JTextField texCityDensity; private JTextField texTownSize; //Mountain private JLabel labMountainPeaks; private JLabel labMountainHeight; private JLabel labMountainWidth; private JLabel labMountainStyle; private JTextField texMountainPeaks; private JTextField texMountainStyle; private JTextField texMountainHeightMin; private JTextField texMountainHeightMax; private JTextField texMountainWidthMin; private JTextField texMountainWidthMax; /** * Algorithm */ private JLabel labAlgorithmToUse; private JTextField texAlgorithmToUse; GridBagLayout gridbag; private MapSettings mapSettings; private JFrame frame; private IMapSettingsObserver bsd; private boolean advanced; private boolean initiated; public RandomMapDialog(JFrame parent, IMapSettingsObserver bsd, MapSettings mapSettings) { super(parent, Messages.getString("RandomMapDialog.title"), true); //$NON-NLS-1$ this.mapSettings = mapSettings; frame = parent; this.bsd = bsd; setResizable(true); createComponents(); loadValues(); getContentPane().setLayout(new BorderLayout()); setupOptions(); getContentPane().add(scrAll, BorderLayout.CENTER); setupButtons(); getContentPane().add(panButtons, BorderLayout.SOUTH); validate(); pack(); setProperSize(); butOK.requestFocus(); setProperSize(); setProperLocation(); initiated = true; } public void actionPerformed(ActionEvent e) { if (e.getSource().equals(butOK)) { if (applyValues()) { setVisible(false); } } else if (e.getSource().equals(butSave)) { JFileChooser fc = new JFileChooser("data" + File.separator + "boards"); fc.setLocation(frame.getLocation().x + 150, frame.getLocation().y + 100); fc.setDialogTitle(Messages.getString("RandomMapDialog.FileSaveDialog")); fc.setFileFilter(new FileFilter() { public boolean accept(File dir) { return (null != dir.getName() && dir.getName().endsWith(".xml")); //$NON-NLS-1$ } public String getDescription() { return ".xml"; } }); int returnVal = fc.showSaveDialog(frame); if (returnVal != JFileChooser.APPROVE_OPTION || fc.getSelectedFile() == null) { // I want a file, y'know! return; } File selectedFile = fc.getSelectedFile(); // make sure the file ends in xml if (!selectedFile.getName().toLowerCase().endsWith(".xml")) { //$NON-NLS-1$ try { selectedFile = new File(selectedFile.getCanonicalPath() + ".xml"); //$NON-NLS-1$ } catch (IOException ie) { //failure! return; } } try { mapSettings.save(new FileOutputStream(selectedFile)); } catch (Exception ex) { ex.printStackTrace(); } } else if (e.getSource().equals(butLoad)) { JFileChooser fc = new JFileChooser("data" + File.separator + "boards"); fc.setLocation(frame.getLocation().x + 150, frame.getLocation().y + 100); fc.setDialogTitle(Messages.getString("RandomMapDialog.FileLoadDialog")); fc.setFileFilter(new FileFilter() { public boolean accept(File dir) { return (null != dir.getName() && dir.getName().endsWith(".xml")); //$NON-NLS-1$ } public String getDescription() { return ".xml"; } }); int returnVal = fc.showOpenDialog(frame); if (returnVal != JFileChooser.APPROVE_OPTION || fc.getSelectedFile() == null) { // I want a file, y'know! return; } try { mapSettings.load(new FileInputStream(fc.getSelectedFile())); } catch (Exception ex) { ex.printStackTrace(); } loadValues(); if (!advanced) { advanced = true; butAdvanced.setText(Messages.getString("RandomMapDialog.Normal")); //$NON-NLS-1$ setupOptions(); setProperSize(); } } else { advanced = !advanced; if (advanced) { butAdvanced.setText(Messages.getString("RandomMapDialog.Normal")); //$NON-NLS-1$ } else { butAdvanced.setText(Messages.getString("RandomMapDialog.Advanced")); //$NON-NLS-1$ } setupOptions(); setProperSize(); } } private void setupOptions() { panOptions.removeAll(); addLabelTextField(labBoardSize, texBoardWidth, texBoardHeight, "x"); //$NON-NLS-1$ texBoardWidth.requestFocus(); if (!advanced) { addSeparator(slBoardSize); addLabelTextField(labTheme, texTheme); addOption(labElevation, choElevation, slElevation); addOption(labCliffs, choCliffs, slCliffs); addOption(labWoods, choWoods, slWoods); addOption(labRough, choRough, slRough); addOption(labSwamp, choSwamp, slSwamp); addOption(labRoads, choRoads, slRoads); addOption(labLakes, choLakes, slLakes); addOption(labRivers, choRivers, slRivers); addOption(labCraters, choCraters, slCraters); addOption(labPavement, choPavement, slPavement); addOption(labIce, choIce, slIce); addOption(labRubble, choRubble, slRubble); addOption(labFortified, choFortified, slFortified); addOption(labCity, choCity, slCity); addOption(labMountain, choMountain, slMountain); } else { addSeparator(slBoardSizeAd); addLabelTextField(labTheme, texTheme); addLabelTextField(labHilliness, texHilliness); addLabelTextField(labRange, texRange); addLabelTextField(labProbInvert, texProbInvert); addLabelTextField(labAlgorithmToUse, texAlgorithmToUse); addLabelTextField(labCliffsAd, texCliffs); addLabelTextField(labMountainPeaks, texMountainPeaks); addLabelTextField(labMountainStyle, texMountainStyle); addLabelTextField(labMountainHeight, texMountainHeightMin, texMountainHeightMax, "-"); addLabelTextField(labMountainWidth, texMountainWidthMin, texMountainWidthMax, "-"); addSeparator(slElevationAd); addLabelTextField(labForestSpots, texMinForestSpots, texMaxForestSpots, "-"); //$NON-NLS-1$ addLabelTextField(labForestSize, texMinForestSize, texMaxForestSize, "-"); //$NON-NLS-1$ addLabelTextField(labProbHeavy, texProbHeavy); addSeparator(slWoodsAd); addLabelTextField(labRoughSpots, texMinRoughSpots, texMaxRoughSpots, "-"); //$NON-NLS-1$ addLabelTextField(labRoughSize, texMinRoughSize, texMaxRoughSize, "-"); //$NON-NLS-1$ addSeparator(slRoughAd); addLabelTextField(labSwampSpots, texMinSwampSpots, texMaxSwampSpots, "-"); //$NON-NLS-1$ addLabelTextField(labSwampSize, texMinSwampSize, texMaxSwampSize, "-"); //$NON-NLS-1$ addSeparator(slSwampAd); addLabelTextField(labProbRoad, texProbRoad); addSeparator(slRoadsAd); addLabelTextField(labWaterSpots, texMinWaterSpots, texMaxWaterSpots, "-"); //$NON-NLS-1$ addLabelTextField(labWaterSize, texMinWaterSize, texMaxWaterSize, "-"); //$NON-NLS-1$ addLabelTextField(labProbDeep, texProbDeep); addSeparator(slLakesAd); addLabelTextField(labProbRiver, texProbRiver); addSeparator(slRiversAd); addLabelTextField(labProbCrater, texProbCrater); addLabelTextField(labMaxCraters, texMinCraters, texMaxCraters, "-"); //$NON-NLS-1$ addLabelTextField(labRadius, texMinRadius, texMaxRadius, "-"); //$NON-NLS-1$ addSeparator(slCratersAd); addLabelTextField(labPavementSpots, texMinPavementSpots, texMaxPavementSpots, "-"); addLabelTextField(labPavementSize, texMinPavementSize, texMaxPavementSize, "-"); addSeparator(slPavementAd); addLabelTextField(labRubbleSpots, texMinRubbleSpots, texMaxRubbleSpots, "-"); addLabelTextField(labRubbleSize, texMinRubbleSize, texMaxRubbleSize, "-"); addSeparator(slRubbleAd); addLabelTextField(labFortifiedSpots, texMinFortifiedSpots, texMaxFortifiedSpots, "-"); addLabelTextField(labFortifiedSize, texMinFortifiedSize, texMaxFortifiedSize, "-"); addSeparator(slFortifiedAd); addLabelTextField(labIceSpots, texMinIceSpots, texMaxIceSpots, "-"); addLabelTextField(labIceSize, texMinIceSize, texMaxIceSize, "-"); addSeparator(slIceAd); addLabelTextField(labProbDrought, texProbDrought); addLabelTextField(labProbFire, texProbFire); addLabelTextField(labProbFreeze, texProbFreeze); addLabelTextField(labProbFlood, texProbFlood); addLabelTextField(labFxMod, texFxMod); addSeparator(slCityAd); addOption(labCity, choCity, slCity); addLabelTextField(labCityBlocks, texCityBlocks); addLabelTextField(labCityCF, texCityMinCF, texCityMaxCF, "-"); addLabelTextField(labCityFloors, texCityMinFloors, texCityMaxFloors, "-"); addLabelTextField(labCityDensity, texCityDensity); addLabelTextField(labTownSize, texTownSize); addSeparator(slInvertNegativeAd); addLabelTextField(labInvertNegative, texInvertNegative); } scrAll = new JScrollPane(panOptions); if (initiated) { pack(); setProperSize();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -