📄 leftpane.java
字号:
//Import Java Libraries required
package GUI;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import tools.Tools.*;
//Import the Tools Package Classes
//##################### LEFT PANEL #####################
//Left Panel: Consists of Toolbar Panel and an empty panel below to
// aid layout problems associated with window resizing.
// Layout and size specifications are defined, and after
// the specification and adding of its components, it is
// added to the WEST of the application container
//Toolbar Panel:Contains all icon buttons used in Object editing and
// insertion. Also consists of a ButtonGroup which is used
// to make Object insertion mutually exclusive.
// Layout and size specifications are defined, and after
// the specification and adding of the buttons, it is added
// to the NORTH of the Left Panel
//Icon Buttons: Layout, size specifications, icon image locations and
// the action associated are defined.
//Empty Panel: Layout and size specifications are defined then added to
// the SOUTH of the Left Panel
//LeftPane Class
public class LeftPane extends JPanel{
private CmeGUI frame;
//GridBagLayout Component used for layout
GridBagConstraints gridBagConstraints;
//Components of the Toolbar
private JPanel toolPane; //Toolbar panel
private ButtonGroup buttonGroup; //ButtonGroup to make Object
//insertion mutually exclusive
//Edit Object buttons
private JToggleButton selectB;
private JToggleButton moveB;
private JButton deleteB;
private JButton cutB;
private JButton copyB;
private JButton pasteB;
//Insert Object buttons
private JToggleButton road1B;
private JToggleButton road2B;
private JToggleButton road3B;
private JToggleButton road4B;
private JToggleButton road5B;
private JToggleButton road6B;
private JToggleButton roadJunctionB;
private JToggleButton depotB;
private JToggleButton busStop1B;
private JToggleButton busStop2B;
private JToggleButton busRouteB;
//Empty panel used to aid layout organisation of the left panel
private JPanel emptyPane;
//##################### CONSTRUCTOR #####################
public LeftPane(CmeGUI parent){
super();
frame = parent;
//Components of the Left Panel
buttonGroup = new ButtonGroup();
emptyPane = new JPanel();
//Toolbar and its Components
toolPane = new JPanel();
//Edit Object buttons
selectB = new JToggleButton();
moveB = new JToggleButton();
deleteB = new JButton();
cutB = new JButton();
copyB = new JButton();
pasteB = new JButton();
//Insert Object buttons
road1B = new JToggleButton();
road2B = new JToggleButton();
road3B = new JToggleButton();
road4B = new JToggleButton();
road5B = new JToggleButton();
road6B = new JToggleButton();
roadJunctionB = new JToggleButton();
depotB = new JToggleButton();
busStop1B = new JToggleButton();
busStop2B = new JToggleButton();
busRouteB = new JToggleButton();
//Left Panel Layout and Size Specifications
setLayout(new GridBagLayout());
setPreferredSize(new Dimension(94, 340));
//Toolbar Panel Layout and Size Specifications
toolPane.setLayout(new GridLayout(8, 2));
toolPane.setBorder(new TitledBorder(null, "Toolbar",
TitledBorder.CENTER, TitledBorder.TOP));
toolPane.setToolTipText("Toolbar");
toolPane.setMaximumSize(new Dimension(90, 330));
toolPane.setMinimumSize(new Dimension(90, 330));
toolPane.setName("Toolbar");
toolPane.setPreferredSize(new Dimension(90, 330));
//Select Icon Button Specifications
buttonGroup.add(selectB);
selectB.setIcon(new
ImageIcon(getClass().getResource("/Icons/select.gif")));
selectB.setToolTipText("Select");
selectB.setAlignmentY(0.0F);
selectB.setBorderPainted(false);
selectB.setContentAreaFilled(false);
selectB.setFocusPainted(false);
selectB.setIconTextGap(0);
selectB.setMargin(new Insets(0, 0, 0, 0));
selectB.setMaximumSize(new Dimension(40, 40));
selectB.setMinimumSize(new Dimension(40, 40));
selectB.setOpaque(true);
selectB.setPreferredSize(new Dimension(40, 40));
selectB.setRequestFocusEnabled(false);
selectB.setRolloverEnabled(true);
selectB.setRolloverIcon(new
ImageIcon(getClass().getResource("/Icons/selectO.gif")));
selectB.setSelectedIcon(new
ImageIcon(getClass().getResource("/Icons/selectT.gif")));
selectB.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
frame.selectActionPerformed(evt);
}
});
toolPane.add(selectB);
/* //Move Icon Button Specifications
buttonGroup.add(moveB);
moveB.setIcon(new ImageIcon(getClass().getResource("/Icons/move.gif")));
moveB.setToolTipText("Move");
moveB.setAlignmentY(0.0F);
moveB.setBorderPainted(false);
moveB.setContentAreaFilled(false);
moveB.setFocusPainted(false);
moveB.setIconTextGap(0);
moveB.setMargin(new Insets(0, 0, 0, 0));
moveB.setMaximumSize(new Dimension(40, 40));
moveB.setMinimumSize(new Dimension(40, 40));
moveB.setPreferredSize(new Dimension(40, 40));
moveB.setRequestFocusEnabled(false);
moveB.setRolloverEnabled(true);
moveB.setRolloverIcon(new
ImageIcon(getClass().getResource("/Icons/moveO.gif")));
moveB.setSelectedIcon(new
ImageIcon(getClass().getResource("/Icons/moveT.gif")));
moveB.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
frame.moveActionPerformed(evt);
}
});
toolPane.add(moveB); */
//Delete Icon Button Specifications
deleteB.setIcon(new
ImageIcon(getClass().getResource("/Icons/delete.gif")));
deleteB.setToolTipText("Delete");
deleteB.setAlignmentY(0.0F);
deleteB.setBorderPainted(false);
deleteB.setContentAreaFilled(false);
deleteB.setFocusPainted(false);
deleteB.setIconTextGap(0);
deleteB.setMargin(new Insets(0, 0, 0, 0));
deleteB.setMaximumSize(new Dimension(40, 40));
deleteB.setMinimumSize(new Dimension(40, 40));
deleteB.setPreferredSize(new Dimension(40, 40));
deleteB.setRequestFocusEnabled(false);
deleteB.setRolloverEnabled(true);
deleteB.setRolloverIcon(new
ImageIcon(getClass().getResource("/Icons/deleteO.gif")));
//deleteB.setSelectedIcon(new
// ImageIcon(getClass().getResource("/Icons/deleteT.gif")));
deleteB.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
frame.deleteActionPerformed(evt);
}
});
toolPane.add(deleteB);
/*************************************************************************************/
//Cut Icon Button Specifications
cutB.setIcon(new ImageIcon(getClass().getResource("/Icons/cut.gif")));
cutB.setToolTipText("Cut");
cutB.setAlignmentY(0.0F);
cutB.setBorderPainted(false);
cutB.setContentAreaFilled(false);
cutB.setFocusPainted(false);
cutB.setIconTextGap(0);
cutB.setMargin(new Insets(0, 0, 0, 0));
cutB.setMaximumSize(new Dimension(40, 40));
cutB.setMinimumSize(new Dimension(40, 40));
cutB.setPreferredSize(new Dimension(40, 40));
cutB.setRequestFocusEnabled(false);
cutB.setRolloverEnabled(true);
cutB.setRolloverIcon(new
ImageIcon(getClass().getResource("/Icons/cutO.gif")));
cutB.setSelectedIcon(new
ImageIcon(getClass().getResource("/Icons/cutT.gif")));
cutB.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
frame.cutActionPerformed(evt);
}
});
toolPane.add(cutB);
/************************************************************************************/
//Copy Icon Button Specifications
copyB.setIcon(new ImageIcon(getClass().getResource("/Icons/copy.gif")));
copyB.setToolTipText("Copy");
copyB.setAlignmentY(0.0F);
copyB.setBorderPainted(false);
copyB.setContentAreaFilled(false);
copyB.setFocusPainted(false);
copyB.setIconTextGap(0);
copyB.setMargin(new Insets(0, 0, 0, 0));
copyB.setMaximumSize(new Dimension(40, 40));
copyB.setMinimumSize(new Dimension(40, 40));
copyB.setPreferredSize(new Dimension(40, 40));
copyB.setRequestFocusEnabled(false);
copyB.setRolloverEnabled(true);
copyB.setRolloverIcon(new
ImageIcon(getClass().getResource("/Icons/copyO.gif")));
copyB.setSelectedIcon(new
ImageIcon(getClass().getResource("/Icons/copyT.gif")));
copyB.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
frame.copyActionPerformed(evt);
}
});
toolPane.add(copyB);
//Paste Icon Button Specifications
pasteB.setIcon(new
ImageIcon(getClass().getResource("/Icons/paste.gif")));
pasteB.setToolTipText("Paste");
pasteB.setAlignmentY(0.0F);
pasteB.setBorderPainted(false);
pasteB.setContentAreaFilled(false);
pasteB.setFocusPainted(false);
pasteB.setIconTextGap(0);
pasteB.setMargin(new Insets(0, 0, 0, 0));
pasteB.setMaximumSize(new Dimension(40, 40));
pasteB.setMinimumSize(new Dimension(40, 40));
pasteB.setPreferredSize(new Dimension(40, 40));
pasteB.setRequestFocusEnabled(false);
pasteB.setRolloverEnabled(true);
pasteB.setRolloverIcon(new
ImageIcon(getClass().getResource("/Icons/pasteO.gif")));
pasteB.setSelectedIcon(new
ImageIcon(getClass().getResource("/Icons/pasteT.gif")));
pasteB.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
frame.pasteActionPerformed(evt);
}
});
toolPane.add(pasteB);
/****************************************************************************************/
//BusRoute Icon Button Specifications
buttonGroup.add(busRouteB);
busRouteB.setIcon(new
ImageIcon(getClass().getResource("/Icons/busRoute.gif")));
busRouteB.setToolTipText("Bus Route");
busRouteB.setAlignmentY(0.0F);
busRouteB.setBorderPainted(false);
busRouteB.setContentAreaFilled(false);
busRouteB.setFocusPainted(false);
busRouteB.setIconTextGap(0);
busRouteB.setMargin(new Insets(0, 0, 0, 0));
busRouteB.setMaximumSize(new Dimension(40, 40));
busRouteB.setMinimumSize(new Dimension(40, 40));
busRouteB.setPreferredSize(new Dimension(40, 40));
busRouteB.setRequestFocusEnabled(false);
busRouteB.setRolloverEnabled(true);
busRouteB.setRolloverIcon(new
ImageIcon(getClass().getResource("/Icons/busRouteO.gif")));
busRouteB.setSelectedIcon(new
ImageIcon(getClass().getResource("/Icons/busRouteT.gif")));
busRouteB.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
frame.busRouteActionPerformed(evt);
}
});
toolPane.add(busRouteB);
// road2 Icon Button Specifications
buttonGroup.add(road2B);
road2B.setIcon(new
ImageIcon(getClass().getResource("/Icons/Road_2.gif")));
road2B.setToolTipText("Road 2");
road2B.setAlignmentY(0.0F);
road2B.setBorderPainted(false);
road2B.setContentAreaFilled(false);
road2B.setFocusPainted(false);
road2B.setIconTextGap(0);
road2B.setMargin(new Insets(0, 0, 0, 0));
road2B.setMaximumSize(new Dimension(40, 40));
road2B.setMinimumSize(new Dimension(40, 40));
road2B.setPreferredSize(new Dimension(40, 40));
road2B.setRequestFocusEnabled(false);
road2B.setRolloverEnabled(true);
road2B.setRolloverIcon(new
ImageIcon(getClass().getResource("/Icons/Road_2A.gif")));
road2B.setSelectedIcon(new
ImageIcon(getClass().getResource("/Icons/Road_2A.gif")));
road2B.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
frame.road2ActionPerformed(evt);
}
});
toolPane.add(road2B);
// road1 Icon Button Specifications
buttonGroup.add(road1B);
road1B.setIcon(new
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -