protected JScrollPane createDirectoryList() { directoryList = new JList(); align(directoryList); directoryList.setCellRenderer(new DirectoryCellRenderer()); directoryList.setModel(new MotifDirectoryListModel()); directoryList.addMouseListener(createDoubleClickListener(getFileChooser(), directoryList)); directoryList.addListSelectionListener(createListSelectionListener(getFileChooser())); JScrollPane scrollpane = new JScrollPane(directoryList); scrollpane.setMaximumSize(MAX_SIZE); scrollpane.setPreferredSize(prefListSize); align(scrollpane); return scrollpane; }
protected JScrollPane createFilesList() { fileList = new JList(); if (getFileChooser().isMultiSelectionEnabled()) { fileList.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); } else { fileList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); } fileList.setModel(new MotifFileListModel()); fileList.setCellRenderer(new FileCellRenderer()); fileList.addListSelectionListener(createListSelectionListener(getFileChooser())); fileList.addMouseListener(createDoubleClickListener(getFileChooser(), fileList)); align(fileList); JScrollPane scrollpane = new JScrollPane(fileList); scrollpane.setPreferredSize(prefListSize); scrollpane.setMaximumSize(MAX_SIZE); align(scrollpane); return scrollpane; }
protected void initComponents( AirspaceBuilderModel model, final AirspaceBuilderController controller) { final JCheckBox resizeNewShapesCheckBox; final JCheckBox enableEditCheckBox; JPanel newShapePanel = new JPanel(); { JButton newShapeButton = new JButton("New shape"); newShapeButton.setActionCommand(NEW_AIRSPACE); newShapeButton.addActionListener(controller); newShapeButton.setToolTipText("Create a new shape centered in the viewport"); this.factoryComboBox = new JComboBox(defaultAirspaceFactories); this.factoryComboBox.setEditable(false); this.factoryComboBox.setToolTipText("Choose shape type to create"); resizeNewShapesCheckBox = new JCheckBox("Fit new shapes to viewport"); resizeNewShapesCheckBox.setActionCommand(SIZE_NEW_SHAPES_TO_VIEWPORT); resizeNewShapesCheckBox.addActionListener(controller); resizeNewShapesCheckBox.setSelected(controller.isResizeNewShapesToViewport()); resizeNewShapesCheckBox.setAlignmentX(Component.LEFT_ALIGNMENT); resizeNewShapesCheckBox.setToolTipText( "New shapes are sized to fit the geographic viewport"); enableEditCheckBox = new JCheckBox("Enable shape editing"); enableEditCheckBox.setActionCommand(ENABLE_EDIT); enableEditCheckBox.addActionListener(controller); enableEditCheckBox.setSelected(controller.isEnableEdit()); enableEditCheckBox.setAlignmentX(Component.LEFT_ALIGNMENT); enableEditCheckBox.setToolTipText("Allow modifications to shapes"); Box newShapeBox = Box.createHorizontalBox(); newShapeBox.add(newShapeButton); newShapeBox.add(Box.createHorizontalStrut(5)); newShapeBox.add(this.factoryComboBox); newShapeBox.setAlignmentX(Component.LEFT_ALIGNMENT); JPanel gridPanel = new JPanel(new GridLayout(0, 1, 0, 5)); // rows, cols, hgap, vgap gridPanel.add(newShapeBox); gridPanel.add(resizeNewShapesCheckBox); gridPanel.add(enableEditCheckBox); newShapePanel.setLayout(new BorderLayout()); newShapePanel.add(gridPanel, BorderLayout.NORTH); } JPanel entryPanel = new JPanel(); { this.entryTable = new JTable(model); this.entryTable.setColumnSelectionAllowed(false); this.entryTable.setRowSelectionAllowed(true); this.entryTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); this.entryTable .getSelectionModel() .addListSelectionListener( new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { if (!ignoreSelectEvents) { controller.actionPerformed( new ActionEvent(e.getSource(), -1, SELECTION_CHANGED)); } } }); this.entryTable.setToolTipText("<html>Click to select<br>Double-Click to rename</html>"); JScrollPane tablePane = new JScrollPane(this.entryTable); tablePane.setPreferredSize(new Dimension(200, 100)); entryPanel.setLayout(new BorderLayout(0, 0)); // hgap, vgap entryPanel.add(tablePane, BorderLayout.CENTER); } JPanel selectionPanel = new JPanel(); { JButton delselectButton = new JButton("Deselect"); delselectButton.setActionCommand(CLEAR_SELECTION); delselectButton.addActionListener(controller); delselectButton.setToolTipText("Clear the selection"); JButton deleteButton = new JButton("Delete Selected"); deleteButton.setActionCommand(REMOVE_SELECTED); deleteButton.addActionListener(controller); deleteButton.setToolTipText("Delete selected shapes"); JPanel gridPanel = new JPanel(new GridLayout(0, 1, 0, 5)); // rows, cols, hgap, vgap gridPanel.add(delselectButton); gridPanel.add(deleteButton); selectionPanel.setLayout(new BorderLayout()); selectionPanel.add(gridPanel, BorderLayout.NORTH); } this.setLayout(new BorderLayout(30, 0)); // hgap, vgap this.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20)); // top, left, bottom, right this.add(newShapePanel, BorderLayout.WEST); this.add(entryPanel, BorderLayout.CENTER); this.add(selectionPanel, BorderLayout.EAST); controller.addPropertyChangeListener( new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent e) { if (SIZE_NEW_SHAPES_TO_VIEWPORT.equals(e.getPropertyName())) { resizeNewShapesCheckBox.setSelected(controller.isResizeNewShapesToViewport()); } else if (ENABLE_EDIT.equals(e.getPropertyName())) { enableEditCheckBox.setSelected(controller.isEnableEdit()); } } }); }
protected void initComponents() { int border = 6; this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); this.setBorder( new CompoundBorder( BorderFactory.createEmptyBorder(9, 9, 9, 9), new TitledBorder("Download"))); this.setToolTipText("Layer imagery bulk download."); final JPanel locationPanel = new JPanel(new BorderLayout(5, 5)); JLabel locationLabel = new JLabel(" Cache:"); final JLabel locationName = new JLabel(""); JButton locationButton = new JButton("..."); locationPanel.add(locationLabel, BorderLayout.WEST); locationPanel.add(locationName, BorderLayout.CENTER); locationPanel.add(locationButton, BorderLayout.EAST); this.add(locationPanel); locationButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { JFileChooser fc = new JFileChooser(); fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); fc.setMultiSelectionEnabled(false); int status = fc.showOpenDialog(locationPanel); if (status == JFileChooser.APPROVE_OPTION) { File file = fc.getSelectedFile(); if (file != null) { locationName.setText(file.getPath()); cache = new BasicDataFileStore(file); updateRetrievablePanels(selector.getSector()); } } } }); // Select sector button JPanel sectorPanel = new JPanel(new GridLayout(0, 1, 0, 0)); sectorPanel.setBorder(BorderFactory.createEmptyBorder(border, border, border, border)); selectButton = new JButton("Select sector"); selectButton.setToolTipText("Press Select then press and drag button 1 on globe"); selectButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { selectButtonActionPerformed(event); } }); sectorPanel.add(selectButton); sectorLabel = new JLabel("-"); sectorLabel.setPreferredSize(new Dimension(350, 16)); sectorLabel.setHorizontalAlignment(JLabel.CENTER); sectorPanel.add(sectorLabel); this.add(sectorPanel); // Retrievable list combo and start button JPanel retrievablesPanel = new JPanel(); retrievablesPanel.setLayout(new BoxLayout(retrievablesPanel, BoxLayout.Y_AXIS)); retrievablesPanel.setBorder(BorderFactory.createEmptyBorder(border, border, border, border)); // RetrievablePanel list for (JPanel panel : this.retrievables) { retrievablesPanel.add(panel); } this.add(retrievablesPanel); // Start button JPanel startPanel = new JPanel(new GridLayout(0, 1, 0, 0)); startPanel.setBorder(BorderFactory.createEmptyBorder(border, border, border, border)); startButton = new JButton("Start download"); startButton.setEnabled(false); startButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { startButtonActionPerformed(event); } }); startPanel.add(startButton); this.add(startPanel); // Download monitor panel monitorPanel = new JPanel(); monitorPanel.setLayout(new BoxLayout(monitorPanel, BoxLayout.Y_AXIS)); monitorPanel.setBorder(BorderFactory.createEmptyBorder(border, border, border, border)); // this.add(monitorPanel); // Put the monitor panel in a scroll pane. JPanel dummyPanel = new JPanel(new BorderLayout()); dummyPanel.add(monitorPanel, BorderLayout.NORTH); JScrollPane scrollPane = new JScrollPane(dummyPanel); scrollPane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); scrollPane.setPreferredSize(new Dimension(350, 200)); this.add(scrollPane); }
private void makePanel(Dimension size) { JPanel buttonPanel = new JPanel(new GridLayout(1, 2, 5, 5)); newButton = new JButton("New"); newButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent actionEvent) { lineBuilder.clear(); lineBuilder.setArmed(true); pauseButton.setText("Pause"); pauseButton.setEnabled(true); endButton.setEnabled(true); newButton.setEnabled(false); ((Component) wwd).setCursor(Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR)); } }); buttonPanel.add(newButton); newButton.setEnabled(true); pauseButton = new JButton("Pause"); pauseButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent actionEvent) { lineBuilder.setArmed(!lineBuilder.isArmed()); pauseButton.setText(!lineBuilder.isArmed() ? "Resume" : "Pause"); ((Component) wwd).setCursor(Cursor.getDefaultCursor()); } }); buttonPanel.add(pauseButton); pauseButton.setEnabled(false); endButton = new JButton("End"); endButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent actionEvent) { lineBuilder.setArmed(false); newButton.setEnabled(true); pauseButton.setEnabled(false); pauseButton.setText("Pause"); endButton.setEnabled(false); ((Component) wwd).setCursor(Cursor.getDefaultCursor()); } }); buttonPanel.add(endButton); endButton.setEnabled(false); JPanel pointPanel = new JPanel(new GridLayout(0, 1, 0, 10)); pointPanel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); this.pointLabels = new JLabel[20]; for (int i = 0; i < this.pointLabels.length; i++) { this.pointLabels[i] = new JLabel(""); pointPanel.add(this.pointLabels[i]); } // Put the point panel in a container to prevent scroll panel from stretching the vertical // spacing. JPanel dummyPanel = new JPanel(new BorderLayout()); dummyPanel.add(pointPanel, BorderLayout.NORTH); // Put the point panel in a scroll bar. JScrollPane scrollPane = new JScrollPane(dummyPanel); scrollPane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); if (size != null) scrollPane.setPreferredSize(size); // Add the buttons, scroll bar and inner panel to a titled panel that will resize with the // main window. JPanel outerPanel = new JPanel(new BorderLayout()); outerPanel.setBorder( new CompoundBorder( BorderFactory.createEmptyBorder(9, 9, 9, 9), new TitledBorder("Line"))); outerPanel.setToolTipText("Line control and info"); outerPanel.add(buttonPanel, BorderLayout.NORTH); outerPanel.add(scrollPane, BorderLayout.CENTER); this.add(outerPanel, BorderLayout.CENTER); }