📄 properties.java
字号:
import java.awt.*;import java.awt.event.*;public class Properties extends Frame implements ItemListener,FocusListener,ActionListener { JavaMapperFrame frame; private TextField mapname,areaname,areaurl; private Button setinfo; private List areas; private int index; public Checkbox saveNames; private SaveNamesListener saveNamesListener; public Properties(JavaMapperFrame frame) { super("Map Properties"); this.frame = frame; saveNamesListener = new SaveNamesListener(); Panel topPanel = new Panel(); mapname = new TextField(12); mapname.addFocusListener(this); mapname.addActionListener(this); topPanel.add(new Label("Map Name: ")); topPanel.add(mapname); Panel buttonsPanel = new Panel(); GridBagLayout bag = new GridBagLayout(); buttonsPanel.setLayout(bag); GridBagConstraints c = new GridBagConstraints(); c.fill = GridBagConstraints.HORIZONTAL; c.weightx = 1.0; c.gridwidth = GridBagConstraints.REMAINDER; c.anchor = GridBagConstraints.NORTH; Label lareaname = new Label("Area Name"); bag.setConstraints(lareaname,c); buttonsPanel.add(lareaname); areaname = new TextField(12); areaname.addFocusListener(this); areaname.addActionListener(this); bag.setConstraints(areaname,c); buttonsPanel.add(areaname); Label lareaurl = new Label("Area URL"); bag.setConstraints(lareaurl,c); buttonsPanel.add(lareaurl); areaurl = new TextField(12); areaurl.addFocusListener(this); areaurl.addActionListener(this); bag.setConstraints(areaurl,c); buttonsPanel.add(areaurl); Panel mainPanel = new Panel(); mainPanel.setLayout(new GridLayout(1,2,0,0)); areas = new List(10); areas.addItemListener(this); mainPanel.add(areas); mainPanel.add(buttonsPanel); Panel bottomPanel = new Panel(); saveNames = new Checkbox("save area names in client-side output"); saveNames.setState(false); saveNames.addItemListener(saveNamesListener); bottomPanel.add(saveNames); setLayout(new BorderLayout()); add("North",topPanel); add("Center",mainPanel); add("South",bottomPanel); setBackground(new Color(192,192,192)); setSize(400,300); this.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { close(); }}); } public void itemStateChanged(ItemEvent e) { List list = (List)(e.getSource()); int i = list.getSelectedIndex(); index = i; frame.setTool(frame.mSelect); areaurl.setText(frame.canvas.tool.shapes[i].getURL()); areaname.setText(frame.canvas.tool.shapes[i].getName()); frame.canvas.tool.deselectShape(); frame.canvas.tool.currentShape = frame.canvas.tool.shapes[i]; frame.canvas.tool.selectShape(); frame.canvas.repaint(); } public void actionPerformed(ActionEvent e) { setFields(); } public void focusGained(FocusEvent e) { if (index!=-1) { if (areaname.getText() != areas.getItem(index)) { areas.removeAll(); for (int i=0;i<frame.canvas.tool.nShapes;i++) { areas.addItem(frame.canvas.tool.shapes[i].getName()); } areas.select(index); } } } public void focusLost(FocusEvent e) { setFields(); } public void setFields() { frame.mapName = mapname.getText(); if (index!=-1) { if (frame.canvas.tool.shapes[index]!=null) { if (frame.canvas.tool.shapes[index].getName() != areaname.getText()) { frame.canvas.tool.shapes[index].setName(areaname.getText()); } if (frame.canvas.tool.shapes[index].getURL() != areaurl.getText()) { frame.canvas.tool.shapes[index].setURL(areaurl.getText()); } } } frame.previewFrame.refresh(); } public void refresh() { areas.removeAll(); frame.canvas.tool.remakeShapes(); for (int i=0;i<frame.canvas.tool.nShapes;i++) { areas.addItem(frame.canvas.tool.shapes[i].getName()); } int i = frame.canvas.tool.getSelectedIndex(); if (i!=-1) { areas.select(i); areas.makeVisible(i); areaurl.setText(frame.canvas.tool.shapes[i].getURL()); areaname.setText(frame.canvas.tool.shapes[i].getName()); index = i; } else { areaurl.setText(""); areaname.setText(""); index = -1; } } private void close() { setVisible(false); } private class SaveNamesListener implements ItemListener { public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) frame.saveNames = true; else frame.saveNames = false; frame.previewFrame.refresh(); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -