⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mapeditor.java

📁 tiled地图编辑器是2d的,很不错的国外软件,使用起来很方便的
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
        pasteMenuItem.setEnabled(false);        JMenu transformSub = new JMenu(Resources.getString("menu.edit.transform"));        transformSub.add(new TMenuItem(rot90Action, true));        transformSub.add(new TMenuItem(rot180Action, true));        transformSub.add(new TMenuItem(rot270Action, true));        transformSub.addSeparator();        transformSub.add(new TMenuItem(flipHorAction, true));        transformSub.add(new TMenuItem(flipVerAction, true));        mapEventAdapter.addListener(transformSub);        JMenu editMenu = new JMenu(Resources.getString("menu.edit"));        editMenu.add(new TMenuItem(undoHandler.getUndoAction()));        editMenu.add(new TMenuItem(undoHandler.getRedoAction()));        editMenu.addSeparator();        editMenu.add(copyMenuItem);        editMenu.add(cutMenuItem);        editMenu.add(pasteMenuItem);        editMenu.addSeparator();        editMenu.add(transformSub);        editMenu.addSeparator();        editMenu.add(createMenuItem(Resources.getString("menu.edit.preferences"),                    null, Resources.getString("menu.edit.preferences.tooltip"), null));        editMenu.add(createMenuItem(Resources.getString("menu.edit.brush"), null,        			Resources.getString("menu.edit.brush.tooltip"),                    "control B"));        // todo : enable/disable undo/redo depending on whether a map is loaded        mapEventAdapter.addListener(copyMenuItem);        mapEventAdapter.addListener(cutMenuItem);        mapEventAdapter.addListener(pasteMenuItem);        JMenu mapMenu = new JMenu(Resources.getString("menu.map"));        mapMenu.add(createMenuItem(Resources.getString("menu.map.resize"), null,        		Resources.getString("menu.map.resize.tooltip")));        mapMenu.add(createMenuItem(Resources.getString("menu.map.search"), null,        		Resources.getString("menu.map.search.tooltip")));        mapMenu.addSeparator();        mapMenu.add(createMenuItem(Resources.getString("menu.map.properties"), null,        		Resources.getString("menu.map.properties.tooltip")));        mapEventAdapter.addListener(mapMenu);        JMenuItem layerAdd = new TMenuItem(addLayerAction);        mapEventAdapter.addListener(layerAdd);        JMenu layerMenu = new JMenu(Resources.getString("menu.layer"));        layerMenu.add(layerAdd);        layerMenu.add(new TMenuItem(cloneLayerAction));        layerMenu.add(new TMenuItem(deleteLayerAction));        layerMenu.addSeparator();        layerMenu.add(new TMenuItem(moveLayerUpAction));        layerMenu.add(new TMenuItem(moveLayerDownAction));        layerMenu.addSeparator();        layerMenu.add(new TMenuItem(mergeLayerDownAction));        layerMenu.add(new TMenuItem(mergeAllLayersAction));        layerMenu.addSeparator();        layerMenu.add(createMenuItem(Resources.getString("menu.layer.properties"), null,        			Resources.getString("menu.layer.properties.tooltip")));        JMenu tilesetMenu = new JMenu(Resources.getString("menu.tilesets"));        tilesetMenu.add(createMenuItem(Resources.getString("menu.tilesets.new"), null,        		Resources.getString("menu.tilesets.new.tooltip")));        tilesetMenu.add(createMenuItem(Resources.getString("menu.tilesets.import"), null,        		Resources.getString("menu.tilesets.import.tooltip")));        tilesetMenu.addSeparator();        tilesetMenu.add(createMenuItem(Resources.getString("menu.tilesets.manager"), null,        		Resources.getString("menu.tilesets.manager.tooltip")));        /*        objectMenu = new JMenu("Objects");        objectMenu.add(createMenuItem("Add Object", null, "Add an object"));        mapEventAdapter.addListener(objectMenu);        JMenu modifySub = new JMenu("Modify");        modifySub.add(createMenuItem("Expand Selection", null, ""));        modifySub.add(createMenuItem("Contract Selection", null, ""));        */        JMenu selectMenu = new JMenu(Resources.getString("menu.select"));        selectMenu.add(new TMenuItem(selectAllAction, true));        selectMenu.add(new TMenuItem(cancelSelectionAction, true));        selectMenu.add(new TMenuItem(inverseAction, true));        //selectMenu.addSeparator();        //selectMenu.add(modifySub);        gridMenuItem = new JCheckBoxMenuItem(Resources.getString("menu.view.grid"));        gridMenuItem.addActionListener(this);        gridMenuItem.setToolTipText(Resources.getString("menu.view.grid.tooltip"));        gridMenuItem.setAccelerator(KeyStroke.getKeyStroke("control G"));        cursorMenuItem = new JCheckBoxMenuItem(Resources.getString("menu.view.cursor"));        cursorMenuItem.setSelected(prefs.getBoolean("cursorhighlight", true));        cursorMenuItem.addActionListener(this);        cursorMenuItem.setToolTipText(        		Resources.getString("menu.view.cursor.tooltip"));        boundaryMenuItem = new JCheckBoxMenuItem(Resources.getString("menu.view.boundaries"));        boundaryMenuItem.addActionListener(this);        boundaryMenuItem.setToolTipText(Resources.getString("menu.view.boundaries.tooltip"));        boundaryMenuItem.setAccelerator(KeyStroke.getKeyStroke("control E"));        coordinatesMenuItem = new JCheckBoxMenuItem(Resources.getString("menu.view.coordinates"));        coordinatesMenuItem.addActionListener(this);        coordinatesMenuItem.setToolTipText(Resources.getString("menu.view.coordinates.tooltip"));        JMenu viewMenu = new JMenu(Resources.getString("menu.view"));        viewMenu.add(new TMenuItem(zoomInAction));        viewMenu.add(new TMenuItem(zoomOutAction));        viewMenu.add(new TMenuItem(zoomNormalAction));        viewMenu.addSeparator();        viewMenu.add(gridMenuItem);        viewMenu.add(cursorMenuItem);        //TODO: Enable when boudary drawing code finished.        //viewMenu.add(boundaryMenuItem);        viewMenu.add(coordinatesMenuItem);        mapEventAdapter.addListener(layerMenu);        mapEventAdapter.addListener(tilesetMenu);        mapEventAdapter.addListener(selectMenu);        mapEventAdapter.addListener(viewMenu);        JMenu helpMenu = new JMenu(Resources.getString("menu.help"));        helpMenu.add(createMenuItem(Resources.getString("menu.help.plugins"), null,        		Resources.getString("menu.help.plugins.tooltip")));        helpMenu.add(createMenuItem(Resources.getString("menu.help.about"), null, Resources.getString("menu.help.about.tooltip")));        menuBar = new JMenuBar();        menuBar.add(fileMenu);        menuBar.add(editMenu);        menuBar.add(selectMenu);        menuBar.add(viewMenu);        menuBar.add(mapMenu);        menuBar.add(layerMenu);        menuBar.add(tilesetMenu);        //menuBar.add(objectMenu);        menuBar.add(helpMenu);    }    /**     * Creates the tool bar.     */    private JToolBar createToolBar() {        Icon iconMove = Resources.getIcon("gimp-tool-move-22.png");        Icon iconPaint = Resources.getIcon("gimp-tool-pencil-22.png");        Icon iconErase = Resources.getIcon("gimp-tool-eraser-22.png");        Icon iconPour = Resources.getIcon("gimp-tool-bucket-fill-22.png");        Icon iconEyed = Resources.getIcon("gimp-tool-color-picker-22.png");        Icon iconMarquee = Resources.getIcon("gimp-tool-rect-select-22.png");        Icon iconMoveObject = Resources.getIcon("gimp-tool-object-move-22.png");        paintButton = createToggleButton(iconPaint, "paint", TOOL_PAINT);        eraseButton = createToggleButton(iconErase, "erase", TOOL_ERASE);        pourButton = createToggleButton(iconPour, "pour", TOOL_FILL);        eyedButton = createToggleButton(iconEyed, "eyed", TOOL_EYE_DROPPER);        marqueeButton = createToggleButton(iconMarquee, "marquee", TOOL_SELECT);        moveButton = createToggleButton(iconMove, "move", TOOL_MOVE_LAYER);        objectMoveButton = createToggleButton(iconMoveObject, "moveobject", TOOL_MOVE_OBJECT);        mapEventAdapter.addListener(moveButton);        mapEventAdapter.addListener(paintButton);        mapEventAdapter.addListener(eraseButton);        mapEventAdapter.addListener(pourButton);        mapEventAdapter.addListener(eyedButton);        mapEventAdapter.addListener(marqueeButton);        mapEventAdapter.addListener(objectMoveButton);        JToolBar toolBar = new JToolBar(JToolBar.VERTICAL);        toolBar.setFloatable(true);        toolBar.add(moveButton);        toolBar.add(paintButton);        toolBar.add(eraseButton);        toolBar.add(pourButton);        toolBar.add(eyedButton);        toolBar.add(marqueeButton);        toolBar.add(Box.createRigidArea(new Dimension(5, 5)));        //TODO: put this back when working...        //toolBar.add(objectMoveButton);        //toolBar.add(Box.createRigidArea(new Dimension(0, 5)));        toolBar.add(new TButton(zoomInAction));        toolBar.add(new TButton(zoomOutAction));        toolBar.add(Box.createRigidArea(new Dimension(5, 5)));        toolBar.add(Box.createGlue());        tilePaletteButton = new TileButton();        tilePaletteButton.setActionCommand("palette");        mapEventAdapter.addListener(tilePaletteButton);        tilePaletteButton.addActionListener(this);        toolBar.add(tilePaletteButton);        return toolBar;    }    private void createData() {        dataPanel = new JPanel(new BorderLayout());        //navigation and tool options        // TODO: the minimap is prohibitively slow, need to speed this up        // before it can be used        miniMap = new MiniMapViewer();        //miniMap.setMainPanel(mapScrollPane);        JScrollPane miniMapSp = new JScrollPane();        miniMapSp.getViewport().setView(miniMap);        miniMapSp.setMinimumSize(new Dimension(0, 120));        // Layer table        layerTable = new JTable(new LayerTableModel(currentMap));        layerTable.getColumnModel().getColumn(0).setPreferredWidth(32);        layerTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);        layerTable.getSelectionModel().addListSelectionListener(this);        // Opacity slider        opacitySlider = new JSlider(0, 100, 100);        opacitySlider.addChangeListener(this);        JLabel opacityLabel = new JLabel(                Resources.getString("dialog.main.opacity.label"));        opacityLabel.setLabelFor(opacitySlider);        JPanel sliderPanel = new JPanel();        sliderPanel.setLayout(new BoxLayout(sliderPanel, BoxLayout.X_AXIS));        sliderPanel.setBorder(BorderFactory.createEmptyBorder(0, 3, 0, 3));        sliderPanel.add(opacityLabel);        sliderPanel.add(opacitySlider);        sliderPanel.setMaximumSize(new Dimension(Integer.MAX_VALUE,                    sliderPanel.getPreferredSize().height));        // Layer buttons        AbstractButton layerAddButton = new TButton(addLayerAction);        mapEventAdapter.addListener(layerAddButton);        JPanel layerButtons = new JPanel();        layerButtons.setLayout(new GridBagLayout());        GridBagConstraints c = new GridBagConstraints();        c.fill = GridBagConstraints.BOTH;        c.weightx = 1;        layerButtons.add(layerAddButton, c);        layerButtons.add(new TButton(moveLayerUpAction), c);        layerButtons.add(new TButton(moveLayerDownAction), c);        layerButtons.add(new TButton(cloneLayerAction), c);        layerButtons.add(new TButton(deleteLayerAction), c);        layerButtons.setMaximumSize(new Dimension(Integer.MAX_VALUE,                    layerButtons.getPreferredSize().height));        // Edit history        /*        JScrollPane editSp = new JScrollPane();        editHistoryList = new JList();        editSp.setHorizontalScrollBarPolicy(                JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);        editSp.getViewport().setView(editHistoryList);        */        JPanel layerPanel = new JPanel();        layerPanel.setLayout(new GridBagLayout());        layerPanel.setPreferredSize(new Dimension(120, 120));        c = new GridBagConstraints();        c.insets = new Insets(3, 0, 0, 0); c.weightx = 1; c.weighty = 0;        c.fill = GridBagConstraints.BOTH;        c.gridx = 0; c.gridy = 0;        //layerPanel.add(miniMapSp, c);        c.weighty = 0; c.gridy += 1;        layerPanel.add(sliderPanel, c);        c.weighty = 1; c.gridy += 1;        layerPanel.add(new JScrollPane(layerTable), c);        c.weighty = 0; c.insets = new Insets(0, 0, 0, 0); c.gridy += 1;        layerPanel.add(layerButtons, c);        /*        c.weighty = 0.25; c.insets = new Insets(3, 0, 0, 0); c.gridy += 1;        layerPanel.add(editSp, c);        */        // Create paint panel        TilePalettePanel tilePalettePanel = new TilePalettePanel();        JPanel brushesPanel = new JPanel();        JTabbedPane paintPanel = new JTabbedPane();        paintPanel.add("Palette", tilePalettePanel);        paintPanel.add("Brushes", brushesPanel);        paintPanel.setSelectedIndex(1);        JToolBar tabsPanel = new JToolBar();        tabsPanel.add(paintPanel);        dataPanel.add(layerPanel);    }    private void createStatusBar() {        statusBar = new JPanel();        statusBar.setLayout(new BoxLayout(statusBar, BoxLayout.X_AXIS));        zoomLabel = new JLabel("100%");        zoomLabel.setPreferredSize(zoomLabel.getPreferredSize());        tileCoordsLabel = new JLabel(" ", SwingConstants.CENTER);        statusBar.setBorder(BorderFactory.createEmptyBorder(2, 5, 2, 5));        JPanel largePart = new JPanel();        statusBar.add(largePart);        statusBar.add(tileCoordsLabel);        statusBar.add(Box.createRigidArea(new Dimension(20, 0)));        statusBar.add(zoomLabel);    }    private void updateLayerTable() {        int cl = currentLayer;        if (layerTable.isEditing()) {            layerTable.getCellEditor(layerTable.getEditingRow(),                    layerTable.getEditingColumn()).cancelCellEditing();        }        ((LayerTableModel)layerTable.getModel()).setMap(currentMap);        if (currentMap != null) {            if (currentMap.getTotalLayers() > 0 && cl == -1) {                cl = 0;            }            setCurrentLayer(cl);        }        updateLayerOperations();    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -