/** OptionPaneDemo Constructor */ public OptionPaneDemo(SwingSet2 swingset) { // Set the title for this demo, and an icon used to represent this // demo inside the SwingSet2 app. super(swingset, "OptionPaneDemo", "toolbar/JOptionPane.gif"); JPanel demo = getDemoPanel(); demo.setLayout(new BoxLayout(demo, BoxLayout.X_AXIS)); JPanel bp = new JPanel() { public Dimension getMaximumSize() { return new Dimension(getPreferredSize().width, super.getMaximumSize().height); } }; bp.setLayout(new BoxLayout(bp, BoxLayout.Y_AXIS)); bp.add(Box.createRigidArea(VGAP30)); bp.add(Box.createRigidArea(VGAP30)); bp.add(createInputDialogButton()); bp.add(Box.createRigidArea(VGAP15)); bp.add(createWarningDialogButton()); bp.add(Box.createRigidArea(VGAP15)); bp.add(createMessageDialogButton()); bp.add(Box.createRigidArea(VGAP15)); bp.add(createComponentDialogButton()); bp.add(Box.createRigidArea(VGAP15)); bp.add(createConfirmDialogButton()); bp.add(Box.createVerticalGlue()); demo.add(Box.createHorizontalGlue()); demo.add(bp); demo.add(Box.createHorizontalGlue()); }
public HeaderPanel(String heading) { super(); this.setLayout(new BoxLayout(this, BoxLayout.X_AXIS)); this.setBackground(background); JLabel panelLabel = new JLabel(" " + heading, SwingConstants.LEFT); Font labelFont = new Font("Dialog", Font.BOLD, 18); panelLabel.setFont(labelFont); this.add(panelLabel); this.add(Box.createHorizontalGlue()); refresh = new JButton("Refresh"); refresh.addActionListener(this); this.add(refresh); this.add(Box.createHorizontalStrut(5)); root = new JComboBox(); Dimension d = root.getPreferredSize(); d.width = 90; root.setPreferredSize(d); root.setMaximumSize(d); File[] roots = directoryPane.getRoots(); for (int i = 0; i < roots.length; i++) root.addItem(roots[i].getAbsolutePath()); this.add(root); root.setSelectedIndex(directoryPane.getCurrentRootIndex()); root.addActionListener(this); this.add(Box.createHorizontalStrut(17)); }
void initComponents() { JPanel mainPanel = new JPanel(new BorderLayout()); JPanel buttonPanel = new JPanel(); buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.X_AXIS)); Color bgColor = Color.getHSBColor(0.58f, 0.17f, 0.95f); buttonPanel.setBackground(bgColor); Border empty = BorderFactory.createEmptyBorder(5, 5, 5, 5); buttonPanel.setBorder(empty); textField = new JTextField(75); buttonPanel.add(textField); buttonPanel.add(Box.createHorizontalStrut(10)); searchPHI = new JButton("Search PHI"); searchPHI.addActionListener(this); buttonPanel.add(searchPHI); buttonPanel.add(Box.createHorizontalStrut(10)); searchTrial = new JButton("Search Trial IDs"); searchTrial.addActionListener(this); buttonPanel.add(searchTrial); buttonPanel.add(Box.createHorizontalStrut(20)); buttonPanel.add(Box.createHorizontalGlue()); saveAs = new JCheckBox("Save As..."); saveAs.setBackground(bgColor); buttonPanel.add(saveAs); mainPanel.add(buttonPanel, BorderLayout.NORTH); JScrollPane scrollPane = new JScrollPane(); textPane = new ColorPane(); // textPane.setEditable(false); scrollPane.setViewportView(textPane); mainPanel.add(scrollPane, BorderLayout.CENTER); JPanel footerPanel = new JPanel(); footerPanel.setLayout(new BoxLayout(footerPanel, BoxLayout.X_AXIS)); footerPanel.setBackground(bgColor); message = new JLabel("Ready..."); footerPanel.add(message); mainPanel.add(footerPanel, BorderLayout.SOUTH); setTitle(windowTitle); addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent evt) { System.exit(0); } }); getContentPane().add(mainPanel, BorderLayout.CENTER); pack(); centerFrame(); }
/** * Update the dialog contents. * * @param jheader The job portion of the dialog header. * @param job The queue job. * @param info The current job status information. */ public void updateContents( String jheader, QueueJob job, QueueJobInfo info, SubProcessExecDetails details) { ActionAgenda agenda = job.getActionAgenda(); QueueJobResults results = info.getResults(); String dir = "-"; if ((agenda != null) && (info.getOsType() != null)) dir = agenda.getTargetPath(info.getOsType()).toString(); String hostname = ""; if (info.getHostname() != null) hostname = (" [" + info.getHostname() + "]"); String command = "-"; if (details != null) command = details.getCommand(); TreeMap<String, String> env = new TreeMap<String, String>(); if (details != null) env = details.getEnvironment(); setHeader("Execution Details -" + jheader + hostname); pWorkingDirField.setText(dir); BaseAction action = job.getAction(); pCommandLineLabel.setText( "Action Command: " + action.getName() + " (v" + action.getVersionID() + ")"); pCommandLineArea.setText(command); { Component comps[] = UIFactory.createTitledPanels(); { JPanel tpanel = (JPanel) comps[0]; JPanel vpanel = (JPanel) comps[1]; if (!env.isEmpty()) { String last = env.lastKey(); for (String key : env.keySet()) { String value = env.get(key); JTextField field = UIFactory.createTitledTextField(tpanel, key + ":", sTSize, vpanel, value, sVSize); field.setHorizontalAlignment(JLabel.LEFT); if (!key.equals(last)) UIFactory.addVerticalSpacer(tpanel, vpanel, 3); } } else { tpanel.add(Box.createRigidArea(new Dimension(sTSize, 0))); vpanel.add(Box.createHorizontalGlue()); } } pEnvLabel.setText("Toolset Environment: " + agenda.getToolset()); pEnvScroll.setViewportView(comps[2]); } }
/** * Create the toolbar. By default this reads the resource file for the definition of the toolbar. */ private Component createToolbar() { toolbar = new JToolBar(); for (String toolKey : getToolBarKeys()) { if (toolKey.equals("-")) { toolbar.add(Box.createHorizontalStrut(5)); } else { toolbar.add(createTool(toolKey)); } } toolbar.add(Box.createHorizontalGlue()); return toolbar; }
/** * Create the toolbar. By default this reads the resource file for the definition of the toolbar. */ private Component createToolbar() { toolbar = new JToolBar(); String[] toolKeys = SCSUtility.tokenize(getResourceString("toolbar")); for (int i = 0; i < toolKeys.length; i++) { if (toolKeys[i].equals("-")) { toolbar.add(Box.createHorizontalStrut(5)); } else { toolbar.add(createTool(toolKeys[i])); } } toolbar.add(Box.createHorizontalGlue()); return toolbar; }
public FooterPanel() { super(); this.setLayout(new BoxLayout(this, BoxLayout.X_AXIS)); this.setBackground(Color.getHSBColor(0.58f, 0.17f, 0.95f)); subdirectories = new JCheckBox("Include subdirectories"); subdirectories.setBackground(background); this.add(subdirectories); this.add(Box.createHorizontalGlue()); extensionButton = new JButton(filter.getDescription()); this.add(extensionButton); this.add(Box.createHorizontalStrut(17)); extensionButton.addActionListener(this); }
JPanel bottomPanel() { bot.setLayout(new BoxLayout(bot, BoxLayout.X_AXIS)); bot.setBackground(COLOR); menu.setFont(DLOG); bot.add(menu); bot.add(Box.createHorizontalStrut(scaled(GAP))); stop.setFont(DLOG); bot.add(stop); bot.add(Box.createHorizontalGlue()); who.setForeground(Color.black); who.setFont(BOLD); bot.add(who); return bot; }
public void addRow(Component... components) { remove(puff); final JPanel row = new JPanel(); row.addMouseListener( new MouseAdapter() { @Override public void mouseClicked(MouseEvent event) { gui.notifyObserver("/use " + rows.indexOf(event.getSource())); } }); row.setLayout(new BoxLayout(row, BoxLayout.X_AXIS)); // row.add(Box.createHorizontalStrut(3)); row.setMinimumSize(new Dimension(10, 30)); row.setMaximumSize(new Dimension(250, 30)); for (Component component : components) { row.add(component); } JButton red = new JButton("x"); red.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent event) { int deleted = rows.indexOf(row); gui.notifyObserver("/use " + deleted); gui.notifyObserver("/disconnect"); } }); red.setBackground(Color.PINK.darker()); red.setForeground(Color.WHITE); row.add(Box.createHorizontalGlue()); row.add(red); rows.add(row); Component strut = Box.createVerticalStrut(5); struts.add(strut); add(row); add(strut); add(puff); repaint(); updateUI(); }
/** Constructs a new GraphEditor for the given EdgeListGraph. */ public TimeLagGraphEditor(TimeLagGraph graph) { setLayout(new BorderLayout()); this.workbench = new TimeLagGraphWorkbench(graph); DagGraphToolbar toolbar = new DagGraphToolbar(getWorkbench()); JMenuBar menuBar = createGraphMenuBar(); JScrollPane scroll = new JScrollPane(getWorkbench()); scroll.setPreferredSize(new Dimension(450, 450)); add(scroll, BorderLayout.CENTER); add(toolbar, BorderLayout.WEST); add(menuBar, BorderLayout.NORTH); JLabel label = new JLabel("Double click variable to change name."); label.setFont(new Font("SansSerif", Font.PLAIN, 12)); Box b = Box.createHorizontalBox(); b.add(Box.createHorizontalStrut(2)); b.add(label); b.add(Box.createHorizontalGlue()); b.setBorder(new MatteBorder(0, 0, 1, 0, Color.GRAY)); add(b, BorderLayout.SOUTH); this.getWorkbench() .addPropertyChangeListener( new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { String propertyName = evt.getPropertyName(); if ("graph".equals(propertyName)) { TimeLagGraph _graph = (TimeLagGraph) evt.getNewValue(); if (getWorkbench() != null) { getGraphWrapper().setGraph(_graph); } } } }); }
public void setCommands(String[] names) { panel.removeAll(); panel.add(Box.createHorizontalGlue()); for (int i = 0; i < names.length; i++) { JButton b = new XButton(""); if (shownames) b.setText(names[i]); else b.setToolTipText(names[i]); b.setActionCommand(names[i]); b.addActionListener(this); b.setMargin(new InsetsUIResource(0, 6, 0, 6)); panel.add(b); if (i < names.length - 1) { if (isHorisontal()) { panel.add(Box.createHorizontalStrut(9)); } else { panel.add(Box.createVerticalStrut(5)); } } buttons.put(names[i], b); } setButtonsSize(); panel.validate(); }
/** * Present a GUI allowing the user to select shots in which each previously selected asset should * be updated. * * @return * @throws PipelineException */ private String confirmShotsToUpdate() throws PipelineException { /* DO GUI DRAWING STUFF*/ JScrollPane scroll = null; { Box ibox = new Box(BoxLayout.Y_AXIS); if (pAssetManager.isEmpty()) { Component comps[] = UIFactory.createTitledPanels(); JPanel tpanel = (JPanel) comps[0]; JPanel vpanel = (JPanel) comps[1]; tpanel.add(Box.createRigidArea(new Dimension(sTSize - 7, 0))); vpanel.add(Box.createHorizontalGlue()); ibox.add(comps[2]); } else { for (String assetName : pAssetManager.keySet()) { String name = getShortName(assetName); AssetInfo info = pAssetManager.get(assetName); Component comps[] = UIFactory.createTitledPanels(); JPanel tpanel = (JPanel) comps[0]; JPanel vpanel = (JPanel) comps[1]; String title = "Replace " + name + " with "; title += getShortName(info.getNewAsset()); JDrawer shotList = new JDrawer(title, (JComponent) comps[2], true); ibox.add(shotList); for (String shot : info.getLoHiResShots().keySet()) { String shortShot = getShortName(shot); JBooleanField field = UIFactory.createTitledBooleanField( tpanel, shortShot, sVSize, vpanel, sTSize, "Whether to replace this asset source for the node."); field.setName(shot); field.setValue(true); if (!pSubstituteFields.containsKey(assetName)) pSubstituteFields.put(assetName, new LinkedList<JBooleanField>()); pSubstituteFields.get(assetName).add(field); UIFactory.addVerticalSpacer(tpanel, vpanel, 3); } } } { JPanel spanel = new JPanel(); spanel.setName("Spacer"); spanel.setMinimumSize(new Dimension(sTSize + sVSize, 7)); spanel.setMaximumSize(new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE)); spanel.setPreferredSize(new Dimension(sTSize + sVSize, 7)); ibox.add(spanel); } { scroll = new JScrollPane(ibox); scroll.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); scroll.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); Dimension size = new Dimension(sTSize + sVSize + 52, 300); scroll.setMinimumSize(size); scroll.setPreferredSize(size); scroll.getViewport().setScrollMode(JViewport.BACKINGSTORE_SCROLL_MODE); } } /* query the user */ JToolDialog diag = new JToolDialog("Update Assets Per Shot", scroll, "Confirm"); diag.setVisible(true); /* Process User Input */ if (diag.wasConfirmed()) { for (String asset : pSubstituteFields.keySet()) { for (JBooleanField field : pSubstituteFields.get(asset)) { Boolean bUpdate = field.getValue(); if ((bUpdate == null) || !bUpdate) { pAssetManager.get(asset).getLoHiResShots().remove(field.getName()); // logLine("\tRemoving: "+ getShortName(field.getName()) // TODO +" from list for "+ getShortName(asset)); } } } return ": Modifying Nodes..."; } return null; } // end confirmShotsToUpdate
public SwingUpdaterUI(String oldBuildDesc, String newBuildDesc, InstallOperation operation) { myOperation = operation; myProcessTitle = new JLabel(" "); myProcessProgress = new JProgressBar(0, 100); myProcessStatus = new JLabel(" "); myCancelButton = new JButton(CANCEL_BUTTON_TITLE); myConsole = new JTextArea(); myConsole.setLineWrap(true); myConsole.setWrapStyleWord(true); myConsole.setCaretPosition(myConsole.getText().length()); myConsole.setTabSize(1); myConsolePane = new JPanel(new BorderLayout()); myConsolePane.add(new JScrollPane(myConsole)); myConsolePane.setBorder(BUTTONS_BORDER); myConsolePane.setVisible(false); myCancelButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { doCancel(); } }); myFrame = new JFrame(); myFrame.setTitle(TITLE); myFrame.setLayout(new BorderLayout()); myFrame.getRootPane().setBorder(FRAME_BORDER); myFrame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); myFrame.addWindowListener( new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { doCancel(); } }); JPanel processPanel = new JPanel(); processPanel.setLayout(new BoxLayout(processPanel, BoxLayout.Y_AXIS)); processPanel.add(myProcessTitle); processPanel.add(myProcessProgress); processPanel.add(myProcessStatus); processPanel.add(myConsolePane); for (Component each : processPanel.getComponents()) { ((JComponent) each).setAlignmentX(Component.LEFT_ALIGNMENT); } JPanel buttonsPanel = new JPanel(); buttonsPanel.setBorder(BUTTONS_BORDER); buttonsPanel.setLayout(new BoxLayout(buttonsPanel, BoxLayout.X_AXIS)); buttonsPanel.add(Box.createHorizontalGlue()); buttonsPanel.add(myCancelButton); myProcessTitle.setText("<html>Updating " + oldBuildDesc + " to " + newBuildDesc + "..."); myFrame.add(processPanel, BorderLayout.CENTER); myFrame.add(buttonsPanel, BorderLayout.SOUTH); myFrame.setMinimumSize(new Dimension(500, 50)); myFrame.pack(); myFrame.setLocationRelativeTo(null); myFrame.setVisible(true); myQueue.add( new UpdateRequest() { @Override public void perform() { doPerform(); } }); startRequestDispatching(); }
/** * Creates a new <code>AddPersonDialog</code> with a given owner <code>JFrame</code> and <code> * FamilyTree</code>. */ public AddPersonDialog(JFrame owner, FamilyTree tree) { super(owner, "Add New Person", true /* modal */); Container pane = this.getContentPane(); pane.setLayout(new BorderLayout()); JPanel infoPanel = new JPanel(); infoPanel.setLayout(new GridLayout(0, 2)); Border infoBorder = BorderFactory.createEmptyBorder(5, 5, 5, 5); infoPanel.setBorder(infoBorder); infoPanel.add(new JLabel("id:")); final JTextField idField = new JTextField(); infoPanel.add(idField); final ButtonGroup group = new ButtonGroup(); final JRadioButton male = new JRadioButton("male", true); group.add(male); infoPanel.add(male); final JRadioButton female = new JRadioButton("female"); group.add(female); infoPanel.add(female); infoPanel.add(new JLabel("First name:")); final JTextField firstNameField = new JTextField(); infoPanel.add(firstNameField); infoPanel.add(new JLabel("Middle name:")); final JTextField middleNameField = new JTextField(); infoPanel.add(middleNameField); infoPanel.add(new JLabel("Last name:")); final JTextField lastNameField = new JTextField(); infoPanel.add(lastNameField); infoPanel.add(new JLabel("Date of Birth:")); final JTextField dobField = new JTextField(); infoPanel.add(dobField); infoPanel.add(new JLabel("Date of Death:")); final JTextField dodField = new JTextField(); infoPanel.add(dodField); infoPanel.add(new JLabel("Father:")); JPanel fatherPanel = new JPanel(); fatherPanel.setLayout(new FlowLayout()); final JTextField fatherText = new JTextField("Click to choose"); fatherText.setEditable(false); fatherText.addMouseListener( new MouseAdapter() { public void mouseClicked(MouseEvent e) { // Pop up a PersonChooseDialog, place name in TextField System.out.println("Clicked father"); } }); fatherPanel.add(fatherText); infoPanel.add(fatherPanel); infoPanel.add(new JLabel("Mother:")); JPanel motherPanel = new JPanel(); motherPanel.setLayout(new FlowLayout()); final JTextField motherText = new JTextField("Click to choose"); motherText.setEditable(false); motherText.addMouseListener( new MouseAdapter() { public void mouseClicked(MouseEvent e) { // Pop up a PersonChooseDialog, place name in TextField System.out.println("Clicked mother"); } }); motherPanel.add(motherText); infoPanel.add(motherPanel); pane.add(infoPanel, BorderLayout.NORTH); // "Add" and "Cancel" buttons JPanel buttonPanel = new JPanel(); buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.X_AXIS)); buttonPanel.add(Box.createHorizontalGlue()); JButton addButton = new JButton("Add"); addButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { // Create a new person based on the information entered in // this dialog int id = 0; try { id = Integer.parseInt(idField.getText()); } catch (NumberFormatException ex) { error("Invalid id: " + idField.getText()); return; } String text = null; text = dobField.getText(); Date dob = null; if (text != null && !text.equals("")) { dob = parseDate(dobField.getText()); if (dob == null) { // Parse error return; } } text = dodField.getText(); Date dod = null; if (text != null && !text.equals("")) { dod = parseDate(dodField.getText()); if (dod == null) { // Parse error return; } } Person.Gender gender; if (group.getSelection().equals(male)) { gender = Person.MALE; } else { gender = Person.FEMALE; } // Okay, everything parsed alright newPerson = new Person(id, gender); newPerson.setFirstName(firstNameField.getText()); newPerson.setMiddleName(middleNameField.getText()); newPerson.setLastName(lastNameField.getText()); newPerson.setDateOfBirth(dob); newPerson.setDateOfDeath(dod); if (mother != null) { newPerson.setMother(mother); } if (father != null) { newPerson.setFather(father); } // We're all happy AddPersonDialog.this.dispose(); } }); buttonPanel.add(addButton); buttonPanel.add(Box.createHorizontalGlue()); JButton cancelButton = new JButton("Cancel"); cancelButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { // Read my lips, no new Person! AddPersonDialog.this.newPerson = null; AddPersonDialog.this.dispose(); } }); buttonPanel.add(cancelButton); buttonPanel.add(Box.createHorizontalGlue()); pane.add(buttonPanel, BorderLayout.SOUTH); }
// // Build installer window // public static void showInstallerWindow() { _installerFrame = new JFrame(Config.getWindowTitle()); Container cont = _installerFrame.getContentPane(); cont.setLayout(new BorderLayout()); // North pane Box topPane = new Box(BoxLayout.X_AXIS); JLabel title = new JLabel(Config.getWindowHeading()); Font titleFont = new Font("SansSerif", Font.BOLD, 22); title.setFont(titleFont); title.setForeground(Color.black); // Create Sun logo URL urlLogo = Main.class.getResource(Config.getWindowLogo()); Image img = Toolkit.getDefaultToolkit().getImage(urlLogo); MediaTracker md = new MediaTracker(_installerFrame); md.addImage(img, 0); try { md.waitForAll(); } catch (Exception ioe) { Config.trace(ioe.toString()); } if (md.isErrorID(0)) Config.trace("Error loading image"); Icon sunLogo = new ImageIcon(img); JLabel logoLabel = new JLabel(sunLogo); logoLabel.setOpaque(true); topPane.add(topPane.createHorizontalStrut(5)); topPane.add(title); topPane.add(topPane.createHorizontalGlue()); topPane.add(logoLabel); topPane.add(topPane.createHorizontalStrut(5)); // West Pane Box westPane = new Box(BoxLayout.X_AXIS); westPane.add(westPane.createHorizontalStrut(10)); // South Pane Box bottomPane = new Box(BoxLayout.X_AXIS); bottomPane.add(bottomPane.createHorizontalGlue()); JButton abortButton = new JButton(Config.getWindowAbortButton()); abortButton.setMnemonic(Config.getWindowAbortMnemonic()); bottomPane.add(abortButton); bottomPane.add(bottomPane.createHorizontalGlue()); bottomPane.setBorder(BorderFactory.createEmptyBorder(0, 0, 5, 0)); // Center Pane Box centerPane = new Box(BoxLayout.Y_AXIS); JLabel hidden = new JLabel(Config.getWindowHiddenLabel()); hidden.setVisible(false); centerPane.add(hidden); _stepLabels = new JLabel[5]; for (int i = 0; i < _stepLabels.length; i++) { _stepLabels[i] = new JLabel(Config.getWindowStep(i)); _stepLabels[i].setEnabled(false); centerPane.add(_stepLabels[i]); // install label's length will expand,so set a longer size. if (i == STEP_INSTALL) { Dimension dim = new JLabel(Config.getWindowStepWait(STEP_INSTALL)).getPreferredSize(); _stepLabels[i].setPreferredSize(dim); } } hidden = new JLabel(Config.getWindowHiddenLabel()); hidden.setVisible(false); centerPane.add(hidden); // Setup box layout cont.add(topPane, "North"); cont.add(westPane, "West"); cont.add(bottomPane, "South"); cont.add(centerPane, "Center"); _installerFrame.pack(); Dimension dim = _installerFrame.getSize(); // hard code to ensure title is completely visible on Sol/lin. if (dim.width < 400) { dim.width = 400; _installerFrame.setSize(dim); } Rectangle size = _installerFrame.getBounds(); Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); size.width = Math.min(screenSize.width, size.width); size.height = Math.min(screenSize.height, size.height); // Put window at 1/4, 1/4 of screen resoluion _installerFrame.setBounds( (screenSize.width - size.width) / 4, (screenSize.height - size.height) / 4, size.width, size.height); // Setup event listners _installerFrame.addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent we) { installFailed("Window closed", null); } }); abortButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent ae) { installFailed("Abort pressed", null); } }); // Show window _installerFrame.show(); }
public void initializeComponents( DiscountCardsTableModel tableModel, MessageSource messageSource, LocaleHolder localeHolder) { this.tableModel = tableModel; this.filters = new ArrayList<>(); FiltersPurpose filtersPurpose = tableModel.getFiltersPurpose(); FilterElementsListener filterElementsListener = new FilterElementsListener(); // panel for search operations filtersPanel = new JPanel(); filtersPanel.setBorder( BorderFactory.createCompoundBorder( BorderFactory.createTitledBorder( messageSource.getMessage( "mainForm.panel.search.title", null, localeHolder.getLocale())), BorderFactory.createEmptyBorder())); filtersPanel.setLayout(new GridBagLayout()); GridBagConstraints constraints = new GridBagConstraints(); constraints.fill = GridBagConstraints.HORIZONTAL; constraints.insets = new Insets(1, 5, 1, 5); boolean allCardsPurpose = FiltersPurpose.ALL_DISCOUNT_CARDS == filtersPurpose; for (Field field : DiscountCardJdo.class.getDeclaredFields()) { FilterColumn filterColumn = field.getAnnotation(FilterColumn.class); if (filterColumn != null) { if (allCardsPurpose && filterColumn.showForAllDiscountCards()) { FilterUnit filterUnit = new FilterUnit(); if (allCardsPurpose) { filterUnit.order = filterColumn.orderForAllDiscountCards(); } filterUnit.order = filterUnit.order == 0 ? Integer.MAX_VALUE : filterUnit.order; filterUnit.filterType = filterColumn.type(); filterUnit.columnTitle = getColumnTitle(field, messageSource, localeHolder); filterUnit.columnDatePattern = getColumnDatePattern(field); if (!filterColumn.labelKey().isEmpty()) { filterUnit.label = new JLabel( messageSource.getMessage( filterColumn.labelKey(), null, localeHolder.getLocale())); filterUnit.textField = new JTextField(filterColumn.editSize()); filterUnit.textField.getDocument().addDocumentListener(filterElementsListener); } if (filterColumn.checkBoxesNumber() > 0) { filterUnit.checkBoxes = new JCheckBox[filterColumn.checkBoxesNumber()]; for (int i = 0; i < filterColumn.checkBoxesNumber(); ++i) { String text = messageSource.getMessage( filterColumn.checkBoxesText()[i], null, localeHolder.getLocale()); String actionCommand = messageSource.getMessage( filterColumn.checkBoxesAction()[i], null, localeHolder.getLocale()); filterUnit.checkBoxes[i] = new JCheckBox(text); filterUnit.checkBoxes[i].setActionCommand(actionCommand); if (field.getName().equals("activationDate")) { filterUnit.checkBoxes[i].setSelected(true); } else { filterUnit.checkBoxes[i].setSelected(false); } filterUnit.checkBoxes[i].addItemListener( new ItemListener() { @Override public void itemStateChanged(ItemEvent e) { int state = e.getStateChange(); if (state == ItemEvent.SELECTED) { applyFilters(); updateAnalyzeComponent(); } else if (state == ItemEvent.DESELECTED) { applyFilters(); updateAnalyzeComponent(); } } }); } } filters.add(filterUnit); } } } Collections.sort( filters, new Comparator<FilterUnit>() { @Override public int compare(FilterUnit filterUnit1, FilterUnit filterUnit2) { return filterUnit1.order - filterUnit2.order; } }); for (int i = 0; i < filters.size(); ++i) { if (filters.get(i).label != null) { filters.get(i).label.setLabelFor(filters.get(i).textField); constraints.fill = GridBagConstraints.NONE; constraints.gridwidth = GridBagConstraints.RELATIVE; constraints.anchor = GridBagConstraints.EAST; constraints.weightx = 0.0; filtersPanel.add(filters.get(i).label, constraints); constraints.fill = GridBagConstraints.HORIZONTAL; constraints.gridwidth = GridBagConstraints.REMAINDER; constraints.anchor = GridBagConstraints.EAST; constraints.weightx = 1.0; filtersPanel.add(filters.get(i).textField, constraints); } else if (filters.get(i).checkBoxes != null) { JPanel checkBoxPanel = new JPanel(); checkBoxPanel.setLayout(new BoxLayout(checkBoxPanel, BoxLayout.LINE_AXIS)); checkBoxPanel.add(Box.createHorizontalGlue()); for (int j = 0; j < filters.get(i).checkBoxes.length; ++j) { checkBoxPanel.add(filters.get(i).checkBoxes[j]); checkBoxPanel.add(Box.createHorizontalGlue()); } constraints.fill = GridBagConstraints.HORIZONTAL; constraints.gridwidth = GridBagConstraints.REMAINDER; constraints.anchor = GridBagConstraints.EAST; constraints.weightx = 1.0; filtersPanel.add(checkBoxPanel, constraints); } } JButton clearSearchButton = new JButton( messageSource.getMessage( "mainForm.button.clear.title", null, localeHolder.getLocale())); clearSearchButton.setPreferredSize(new Dimension(500, 20)); clearSearchButton.setMaximumSize(new Dimension(500, 20)); clearSearchButton.setMinimumSize(new Dimension(500, 20)); constraints.gridx = 1; constraints.gridy = filters.size() + 1; constraints.gridwidth = GridBagConstraints.REMAINDER; constraints.anchor = GridBagConstraints.EAST; constraints.weightx = 1.0; clearSearchButton.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { for (FilterUnit filterUnit : filters) { if (filterUnit.label != null) { filterUnit.textField.setText(""); } else if (filterUnit.checkBoxes != null) { for (int j = 0; j < filterUnit.checkBoxes.length; ++j) { filterUnit.checkBoxes[j].setSelected(true); } } } } }); filtersPanel.add(clearSearchButton, constraints); sorter = new TableRowSorter<>(tableModel); cardAnalyzeComponent.initializeComponents(tableModel, messageSource, localeHolder); }
// Here some legacy code makes use of generics. They are tested, so there // is no risk of an actual error, but Java issues a warning. @SuppressWarnings("unchecked") public DialogParameters( JFrame parent, Vector<ParameterDescription> vec, boolean strict, Vector<LayerDesc> layers) { super(parent, Globals.messages.getString("Param_opt"), true); keyb1 = new OSKeybPanel(KEYBMODES.GREEK); keyb2 = new OSKeybPanel(KEYBMODES.MISC); keyb1.setField(this); keyb2.setField(this); keyb.addTab("Greek", keyb1); keyb.addTab("Misc", keyb2); keyb.setVisible(false); v = vec; int ycount = 0; // We create dynamically all the needed elements. // For this reason, we work on arrays of the potentially useful Swing // objects. jtf = new JTextField[MAX_ELEMENTS]; jcb = new JCheckBox[MAX_ELEMENTS]; jco = new JComboBox[MAX_ELEMENTS]; active = false; addComponentListener(this); GridBagLayout bgl = new GridBagLayout(); GridBagConstraints constraints = new GridBagConstraints(); Container contentPane = getContentPane(); contentPane.setLayout(bgl); boolean extStrict = strict; ParameterDescription pd; int top = 0; JLabel lab; tc = 0; cc = 0; co = 0; // We process all parameter passed. Depending on its type, a // corresponding interface element will be created. // A symmetrical operation is done when validating parameters. for (ycount = 0; ycount < v.size(); ++ycount) { if (ycount > MAX) break; pd = (ParameterDescription) v.elementAt(ycount); // We do not need to store label objects, since we do not need // to retrieve data from them. lab = new JLabel(pd.description); constraints.weightx = 100; constraints.weighty = 100; constraints.gridx = 1; constraints.gridy = ycount; constraints.gridwidth = 1; constraints.gridheight = 1; // The first element needs a little bit more space at the top. if (ycount == 0) top = 10; else top = 0; // Here we configure the grid layout constraints.insets = new Insets(top, 20, 0, 6); constraints.fill = GridBagConstraints.VERTICAL; constraints.anchor = GridBagConstraints.EAST; lab.setEnabled(!(pd.isExtension && extStrict)); if (!(pd.parameter instanceof Boolean)) contentPane.add(lab, constraints); constraints.anchor = GridBagConstraints.WEST; constraints.insets = new Insets(top, 0, 0, 0); constraints.fill = GridBagConstraints.HORIZONTAL; // Now, depending on the type of parameter we create interface // elements and we populate the dialog. if (pd.parameter instanceof PointG) { jtf[tc] = new JTextField(10); jtf[tc].setText("" + ((PointG) (pd.parameter)).x); constraints.weightx = 100; constraints.weighty = 100; constraints.gridx = 2; constraints.gridy = ycount; constraints.gridwidth = 1; constraints.gridheight = 1; // Disable FidoCadJ extensions in the strict compatibility mode jtf[tc].setEnabled(!(pd.isExtension && extStrict)); contentPane.add(jtf[tc++], constraints); jtf[tc] = new JTextField(10); jtf[tc].setText("" + ((PointG) (pd.parameter)).y); constraints.weightx = 100; constraints.weighty = 100; constraints.gridx = 3; constraints.gridy = ycount; constraints.gridwidth = 1; constraints.gridheight = 1; constraints.insets = new Insets(top, 6, 0, 20); constraints.fill = GridBagConstraints.HORIZONTAL; jtf[tc].setEnabled(!(pd.isExtension && extStrict)); contentPane.add(jtf[tc++], constraints); } else if (pd.parameter instanceof String) { jtf[tc] = new JTextField(24); jtf[tc].setText((String) (pd.parameter)); // If we have a String text field in the first position, its // contents should be evidenced, since it is supposed to be // the most important field (e.g. for the AdvText primitive) if (ycount == 0) jtf[tc].selectAll(); constraints.weightx = 100; constraints.weighty = 100; constraints.gridx = 2; constraints.gridy = ycount; constraints.gridwidth = 2; constraints.gridheight = 1; constraints.insets = new Insets(top, 0, 0, 20); constraints.fill = GridBagConstraints.HORIZONTAL; jtf[tc].setEnabled(!(pd.isExtension && extStrict)); contentPane.add(jtf[tc++], constraints); } else if (pd.parameter instanceof Boolean) { jcb[cc] = new JCheckBox(pd.description); jcb[cc].setSelected(((Boolean) (pd.parameter)).booleanValue()); constraints.weightx = 100; constraints.weighty = 100; constraints.gridx = 2; constraints.gridy = ycount; constraints.gridwidth = 2; constraints.gridheight = 1; constraints.insets = new Insets(top, 0, 0, 20); constraints.fill = GridBagConstraints.HORIZONTAL; jcb[cc].setEnabled(!(pd.isExtension && extStrict)); contentPane.add(jcb[cc++], constraints); } else if (pd.parameter instanceof Integer) { jtf[tc] = new JTextField(24); jtf[tc].setText(((Integer) pd.parameter).toString()); constraints.weightx = 100; constraints.weighty = 100; constraints.gridx = 2; constraints.gridy = ycount; constraints.gridwidth = 2; constraints.gridheight = 1; constraints.insets = new Insets(top, 0, 0, 20); constraints.fill = GridBagConstraints.HORIZONTAL; jtf[tc].setEnabled(!(pd.isExtension && extStrict)); contentPane.add(jtf[tc++], constraints); } else if (pd.parameter instanceof Float) { // TODO. // WARNING: (DB) this is supposed to be temporary. In fact, I // am planning to upgrade some of the parameters from int // to float. But for a few months, the users should not be // aware of that, even if the internal representation is // slowing being adapted. jtf[tc] = new JTextField(24); int dummy = java.lang.Math.round((Float) pd.parameter); jtf[tc].setText("" + dummy); constraints.weightx = 100; constraints.weighty = 100; constraints.gridx = 2; constraints.gridy = ycount; constraints.gridwidth = 2; constraints.gridheight = 1; constraints.insets = new Insets(top, 0, 0, 20); constraints.fill = GridBagConstraints.HORIZONTAL; jtf[tc].setEnabled(!(pd.isExtension && extStrict)); contentPane.add(jtf[tc++], constraints); } else if (pd.parameter instanceof FontG) { GraphicsEnvironment gE; gE = GraphicsEnvironment.getLocalGraphicsEnvironment(); String[] s = gE.getAvailableFontFamilyNames(); jco[co] = new JComboBox(); for (int i = 0; i < s.length; ++i) { jco[co].addItem(s[i]); if (s[i].equals(((FontG) pd.parameter).getFamily())) jco[co].setSelectedIndex(i); } constraints.weightx = 100; constraints.weighty = 100; constraints.gridx = 2; constraints.gridy = ycount; constraints.gridwidth = 2; constraints.gridheight = 1; constraints.insets = new Insets(top, 0, 0, 20); constraints.fill = GridBagConstraints.HORIZONTAL; jco[co].setEnabled(!(pd.isExtension && extStrict)); contentPane.add(jco[co++], constraints); } else if (pd.parameter instanceof LayerInfo) { jco[co] = new JComboBox(new Vector<LayerDesc>(layers)); jco[co].setSelectedIndex(((LayerInfo) pd.parameter).layer); jco[co].setRenderer(new LayerCellRenderer()); constraints.weightx = 100; constraints.weighty = 100; constraints.gridx = 2; constraints.gridy = ycount; constraints.gridwidth = 2; constraints.gridheight = 1; constraints.insets = new Insets(top, 0, 0, 20); constraints.fill = GridBagConstraints.HORIZONTAL; jco[co].setEnabled(!(pd.isExtension && extStrict)); contentPane.add(jco[co++], constraints); } else if (pd.parameter instanceof ArrowInfo) { jco[co] = new JComboBox<ArrowInfo>(); jco[co].addItem(new ArrowInfo(0)); jco[co].addItem(new ArrowInfo(1)); jco[co].addItem(new ArrowInfo(2)); jco[co].addItem(new ArrowInfo(3)); jco[co].setSelectedIndex(((ArrowInfo) pd.parameter).style); jco[co].setRenderer(new ArrowCellRenderer()); constraints.weightx = 100; constraints.weighty = 100; constraints.gridx = 2; constraints.gridy = ycount; constraints.gridwidth = 2; constraints.gridheight = 1; constraints.insets = new Insets(top, 0, 0, 20); constraints.fill = GridBagConstraints.HORIZONTAL; jco[co].setEnabled(!(pd.isExtension && extStrict)); contentPane.add(jco[co++], constraints); } else if (pd.parameter instanceof DashInfo) { jco[co] = new JComboBox<DashInfo>(); for (int k = 0; k < Globals.dashNumber; ++k) { jco[co].addItem(new DashInfo(k)); } jco[co].setSelectedIndex(((DashInfo) pd.parameter).style); jco[co].setRenderer(new DashCellRenderer()); constraints.weightx = 100; constraints.weighty = 100; constraints.gridx = 2; constraints.gridy = ycount; constraints.gridwidth = 2; constraints.gridheight = 1; constraints.insets = new Insets(top, 0, 0, 20); constraints.fill = GridBagConstraints.HORIZONTAL; jco[co].setEnabled(!(pd.isExtension && extStrict)); contentPane.add(jco[co++], constraints); } } // Put the OK and Cancel buttons and make them active. JButton ok = new JButton(Globals.messages.getString("Ok_btn")); JButton cancel = new JButton(Globals.messages.getString("Cancel_btn")); JButton keybd = new JButton("\u00B6\u2211\u221A"); // phylum keybd.setFocusable(false); keybd.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { // If at this point, the keyboard is not visible, this means // that it will become visible in a while. It is better to // resize first and then show up the keyboard. if (keyb.isVisible()) { MIN_WIDTH = 400; MIN_HEIGHT = 350; } else { MIN_WIDTH = 400; MIN_HEIGHT = 500; } // setSize(MIN_WIDTH, MIN_HEIGHT); keyb.setVisible(!keyb.isVisible()); pack(); } }); constraints.gridx = 0; constraints.gridy = ycount++; constraints.gridwidth = 4; constraints.gridheight = 1; constraints.anchor = GridBagConstraints.EAST; constraints.insets = new Insets(6, 20, 20, 20); // Put the OK and Cancel buttons and make them active. Box b = Box.createHorizontalBox(); b.add(keybd); // phylum b.add(Box.createHorizontalGlue()); ok.setPreferredSize(cancel.getPreferredSize()); if (Globals.okCancelWinOrder) { b.add(ok); b.add(Box.createHorizontalStrut(12)); b.add(cancel); } else { b.add(cancel); b.add(Box.createHorizontalStrut(12)); b.add(ok); } // b.add(Box.createHorizontalStrut(12)); contentPane.add(b, constraints); constraints.gridx = 0; constraints.gridy = ycount; constraints.gridwidth = 4; constraints.gridheight = 1; constraints.anchor = GridBagConstraints.EAST; constraints.insets = new Insets(6, 20, 20, 20); contentPane.add(keyb, constraints); ok.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent evt) { try { int ycount; ParameterDescription pd; tc = 0; cc = 0; co = 0; // Here we read all the contents of the interface and we // update the contents of the parameter description array. for (ycount = 0; ycount < v.size(); ++ycount) { if (ycount > MAX) break; pd = (ParameterDescription) v.elementAt(ycount); if (pd.parameter instanceof PointG) { ((PointG) (pd.parameter)).x = Integer.parseInt(jtf[tc++].getText()); ((PointG) (pd.parameter)).y = Integer.parseInt(jtf[tc++].getText()); } else if (pd.parameter instanceof String) { pd.parameter = jtf[tc++].getText(); } else if (pd.parameter instanceof Boolean) { pd.parameter = Boolean.valueOf(jcb[cc++].isSelected()); } else if (pd.parameter instanceof Integer) { pd.parameter = Integer.valueOf(Integer.parseInt(jtf[tc++].getText())); } else if (pd.parameter instanceof Float) { pd.parameter = Float.valueOf(Float.parseFloat(jtf[tc++].getText())); } else if (pd.parameter instanceof FontG) { pd.parameter = new FontG((String) jco[co++].getSelectedItem()); } else if (pd.parameter instanceof LayerInfo) { pd.parameter = new LayerInfo(jco[co++].getSelectedIndex()); } else if (pd.parameter instanceof ArrowInfo) { pd.parameter = new ArrowInfo(jco[co++].getSelectedIndex()); } else if (pd.parameter instanceof DashInfo) { pd.parameter = new DashInfo(jco[co++].getSelectedIndex()); } } } catch (NumberFormatException E) { // Error detected. Probably, the user has entered an // invalid string when FidoCadJ was expecting a numerical // input. JOptionPane.showMessageDialog( null, Globals.messages.getString("Format_invalid"), "", JOptionPane.INFORMATION_MESSAGE); return; } active = true; // Globals.activeWindow.setEnabled(true); setVisible(false); keyb.setVisible(false); } }); cancel.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent evt) { // Globals.activeWindow.setEnabled(true); setVisible(false); keyb.setVisible(false); } }); // Here is an action in which the dialog is closed AbstractAction cancelAction = new AbstractAction() { public void actionPerformed(ActionEvent e) { // Globals.activeWindow.setEnabled(true); setVisible(false); keyb.setVisible(false); } }; DialogUtil.addCancelEscape(this, cancelAction); this.addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e) { // Globals.activeWindow.setEnabled(true); keyb.setVisible(false); } }); pack(); DialogUtil.center(this); getRootPane().setDefaultButton(ok); }
public static boolean showLicensing() { if (Config.getLicenseResource() == null) return true; ClassLoader cl = Main.class.getClassLoader(); URL url = cl.getResource(Config.getLicenseResource()); if (url == null) return true; String license = null; try { URLConnection con = url.openConnection(); int size = con.getContentLength(); byte[] content = new byte[size]; InputStream in = new BufferedInputStream(con.getInputStream()); in.read(content); license = new String(content); } catch (IOException ioe) { Config.trace("Got exception when reading " + Config.getLicenseResource() + ": " + ioe); return false; } // Build dialog JTextArea ta = new JTextArea(license); ta.setEditable(false); final JDialog jd = new JDialog(_installerFrame, true); Container comp = jd.getContentPane(); jd.setTitle(Config.getLicenseDialogTitle()); comp.setLayout(new BorderLayout(10, 10)); comp.add(new JScrollPane(ta), "Center"); Box box = new Box(BoxLayout.X_AXIS); box.add(box.createHorizontalStrut(10)); box.add(new JLabel(Config.getLicenseDialogQuestionString())); box.add(box.createHorizontalGlue()); JButton acceptButton = new JButton(Config.getLicenseDialogAcceptString()); JButton exitButton = new JButton(Config.getLicenseDialogExitString()); box.add(acceptButton); box.add(box.createHorizontalStrut(10)); box.add(exitButton); box.add(box.createHorizontalStrut(10)); jd.getRootPane().setDefaultButton(acceptButton); Box box2 = new Box(BoxLayout.Y_AXIS); box2.add(box); box2.add(box2.createVerticalStrut(5)); comp.add(box2, "South"); jd.pack(); final boolean accept[] = new boolean[1]; acceptButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { accept[0] = true; jd.hide(); jd.dispose(); } }); exitButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { accept[0] = false; jd.hide(); jd.dispose(); } }); // Apply any defaults the user may have, constraining to the size // of the screen, and default (packed) size. Rectangle size = new Rectangle(0, 0, 500, 300); Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); size.width = Math.min(screenSize.width, size.width); size.height = Math.min(screenSize.height, size.height); // Center the window jd.setBounds( (screenSize.width - size.width) / 2, (screenSize.height - size.height) / 2, size.width, size.height); // Show dialog jd.show(); return accept[0]; }
public PlayerWaitingView() { this.setOpaque(true); this.setLayout(new BorderLayout()); this.setBorder(BorderFactory.createLineBorder(Color.black, BORDER_WIDTH)); // set the heading at the top of the pane label = new JLabel("Player Waiting View"); FontUtils.setFont(label, LABEL_TEXT_SIZE); this.add(label, BorderLayout.NORTH); // create the center panel that displays player info center = new JPanel(); center.setLayout(new BoxLayout(center, BoxLayout.Y_AXIS)); this.add(center, BorderLayout.CENTER); // create the AI panel for the bottom of the pane aiPanel = new JPanel(); aiPanel.setLayout(new BoxLayout(aiPanel, BoxLayout.Y_AXIS)); // create the AI type panel JPanel aiTypePanel = new JPanel(); aiTypePanel.setLayout(new BoxLayout(aiTypePanel, BoxLayout.X_AXIS)); aiTypePanel.add(Box.createHorizontalGlue()); JLabel aiTypeLabel = new JLabel("Select AI Type:"); FontUtils.setFont(aiTypeLabel, AI_TEXT_SIZE); aiTypePanel.add(aiTypeLabel); aiTypePanel.add(Box.createRigidArea(new Dimension(5, 0))); aiModel = new SpinnerListModel(); aiChoices = new JSpinner(aiModel); ((JSpinner.DefaultEditor) aiChoices.getEditor()).getTextField().setEditable(false); FontUtils.setFont(aiChoices, AI_TEXT_SIZE); aiTypePanel.add(aiChoices); aiTypePanel.add(Box.createHorizontalGlue()); aiPanel.add(aiTypePanel); aiPanel.add(Box.createRigidArea(new Dimension(0, 10))); // create the AI button panel JPanel aiButtonPanel = new JPanel(); aiButtonPanel.setLayout(new BoxLayout(aiButtonPanel, BoxLayout.X_AXIS)); aiButtonPanel.add(Box.createHorizontalGlue()); addAiButton = new JButton("Add a computer player"); addAiButton.addActionListener(actionListener); FontUtils.setFont(addAiButton, BUTTON_TEXT_SIZE); aiButtonPanel.add(addAiButton); aiButtonPanel.add(Box.createHorizontalGlue()); aiPanel.add(aiButtonPanel); aiPanel.add(Box.createRigidArea(new Dimension(0, 10))); // add the AI panel this.add(aiPanel, BorderLayout.SOUTH); }
public LabFrame() throws HeadlessException { super(title); JPanel pnl, pnl1; data = new LabData(); alRootEntities.addAll(data.findRootEntities()); JMenuBar mb = new JMenuBar(); for (MenuElement e : menus) { mb.add(e.getItem()); } setJMenuBar(mb); splMain = new JSplitPane(); getContentPane().add(splMain); desktop = new JDesktopPane(); desktop.setPreferredSize(new Dimension(400, 200)); splMain.setRightComponent(desktop); lmEntities = new EntityListModel(); lstEntities = new JList(lmEntities); lstEntities.getSelectionModel().addListSelectionListener(lmEntities); lstEntities.addMouseListener(dblClickListener); JScrollPane scpList = new JScrollPane(lstEntities); pnl = new JPanel(new BorderLayout(4, 4)); pnl.add(scpList, BorderLayout.CENTER); pnl1 = new JPanel(null); pnl1.setLayout(new BoxLayout(pnl1, BoxLayout.X_AXIS)); pnl1.add(Box.createHorizontalGlue()); pnl1.add(new JButton(actNewEntity)); pnl1.add(Box.createHorizontalGlue()); pnl1.add(new JButton(actDelEntity)); pnl1.add(Box.createHorizontalGlue()); pnl.add(pnl1, BorderLayout.SOUTH); splMain.setLeftComponent(pnl); il = new InternalFrameAdapter() { @Override public void internalFrameClosed(InternalFrameEvent e) { Object sel = ((EntityFrame) e.getInternalFrame()).content; mapEntityFrames.remove(sel); } @Override public void internalFrameActivated(InternalFrameEvent e) { setTitle(title + " - " + e.getInternalFrame().getTitle()); Object sel = ((EntityFrame) e.getInternalFrame()).content; lstEntities.setSelectedValue(sel, true); } }; pack(); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); updateState(); }
/** Construct a new dialog. */ public JArchiveDialog() { super("Archive Tool"); pPrivilegeDetails = new PrivilegeDetails(); /* create dialog body components */ { JPanel cpanel = new JPanel(); { cpanel.setName("ButtonDialogPanel"); cpanel.setLayout(new BoxLayout(cpanel, BoxLayout.Y_AXIS)); cpanel.add(UIFactory.createPanelLabel("Candidate Versions:")); cpanel.add(Box.createRigidArea(new Dimension(0, 4))); { ArchiveCandidateTableModel model = new ArchiveCandidateTableModel(); pCandidateTableModel = model; JTablePanel tpanel = new JTablePanel(model); pCandidateTablePanel = tpanel; cpanel.add(tpanel); } cpanel.add(Box.createRigidArea(new Dimension(0, 5))); { Box hbox = new Box(BoxLayout.X_AXIS); hbox.add(Box.createHorizontalGlue()); hbox.add(Box.createRigidArea(new Dimension(10, 0))); { JButton btn = UIFactory.createDialogButton( "Search...", "candidate-search", this, "Search for new candidate checked-in versions to archive."); hbox.add(btn); } hbox.add(Box.createRigidArea(new Dimension(20, 0))); { JButton btn = UIFactory.createDialogButton( "Clear", "clear-candidate", this, "Clear the displayed candidate checked-in versions."); hbox.add(btn); } hbox.add(Box.createRigidArea(new Dimension(10, 0))); hbox.add(Box.createHorizontalGlue()); cpanel.add(hbox); } } JPanel apanel = new JPanel(); { apanel.setName("ButtonDialogPanel"); apanel.setLayout(new BoxLayout(apanel, BoxLayout.Y_AXIS)); { Box box = new Box(BoxLayout.X_AXIS); box.add(Box.createRigidArea(new Dimension(4, 0))); { JLabel label = new JLabel("Versions to Archive:"); label.setName("PanelLabel"); box.add(label); } box.add(Box.createHorizontalGlue()); { JLabel label = new JLabel("Total Size: ???"); pArchiveSizeLabel = label; label.setName("PanelLabel"); box.add(label); } box.add(Box.createRigidArea(new Dimension(23, 0))); apanel.add(box); } apanel.add(Box.createRigidArea(new Dimension(0, 4))); { NodeVersionSizeTableModel model = new NodeVersionSizeTableModel(880); pArchiveTableModel = model; JTablePanel tpanel = new JTablePanel(model); pArchiveTablePanel = tpanel; apanel.add(tpanel); } apanel.add(Box.createRigidArea(new Dimension(0, 5))); { Box hbox = new Box(BoxLayout.X_AXIS); hbox.add(Box.createHorizontalGlue()); hbox.add(Box.createRigidArea(new Dimension(10, 0))); { JButton btn = UIFactory.createDialogButton( "Add", "add-archive", this, "Add the selected candidate versions to the list of versions to be " + "archived."); hbox.add(btn); } hbox.add(Box.createRigidArea(new Dimension(10, 0))); { JButton btn = UIFactory.createDialogButton( "Add All", "add-all-archive", this, "Add all candidate versions to the list of versions to be archived."); hbox.add(btn); } hbox.add(Box.createRigidArea(new Dimension(20, 0))); { JButton btn = UIFactory.createDialogButton( "Remove", "remove-archive", this, "Remove the selected versions from the list of versions to be archived."); hbox.add(btn); } hbox.add(Box.createRigidArea(new Dimension(10, 0))); { JButton btn = UIFactory.createDialogButton( "Clear", "remove-all-archive", this, "Clear the list of versions to be archived."); hbox.add(btn); } hbox.add(Box.createRigidArea(new Dimension(20, 0))); { JButton btn = UIFactory.createDialogButton( "Calc Sizes", "calc-archive", this, "Calculate the amount of disk space needed to archive the files " + "associated with the checked-in versions."); hbox.add(btn); } hbox.add(Box.createRigidArea(new Dimension(10, 0))); hbox.add(Box.createHorizontalGlue()); apanel.add(hbox); } } JSplitPane body = new JVertSplitPanel(cpanel, apanel); body.setAlignmentX(0.5f); String extra[][] = {{"Archive...", "archive"}}; JButton btns[] = super.initUI("Archive Tool:", body, null, null, extra, "Close", null); pArchiveButton = btns[0]; pArchiveButton.setEnabled(false); updatePanel(); pack(); } pQueryDialog = new JArchiveQueryDialog(this); pArchiveParamsDialog = new JArchiveParamsDialog(this); }
/** Construct a new dialog. */ public JExecDetailsDialog() { super("Execution Details"); /* create dialog body components */ { JPanel body = new JPanel(); body.setLayout(new BoxLayout(body, BoxLayout.Y_AXIS)); { JPanel panel = new JPanel(); panel.setName("MainDialogPanel"); panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); /* working directory */ { panel.add(UIFactory.createPanelLabel("Working Directory:")); panel.add(Box.createRigidArea(new Dimension(0, 4))); JTextField field = UIFactory.createTextField(null, 100, JLabel.LEFT); pWorkingDirField = field; panel.add(field); } body.add(panel); } { JPanel panel = new JPanel(); panel.setName("HorizontalBar"); Dimension size = new Dimension(100, 7); panel.setPreferredSize(size); panel.setMinimumSize(size); panel.setMaximumSize(new Dimension(Integer.MAX_VALUE, 7)); body.add(panel); } /* command line */ JPanel above = new JPanel(); { above.setName("MainDialogPanel"); above.setLayout(new BoxLayout(above, BoxLayout.Y_AXIS)); { Box hbox = new Box(BoxLayout.X_AXIS); hbox.add(Box.createRigidArea(new Dimension(4, 0))); { JLabel label = new JLabel("X"); pCommandLineLabel = label; label.setName("PanelLabel"); hbox.add(label); } hbox.add(Box.createHorizontalGlue()); above.add(hbox); } above.add(Box.createRigidArea(new Dimension(0, 4))); { JTextArea area = new JTextArea(null, 5, 70); pCommandLineArea = area; area.setName("CodeTextArea"); area.setLineWrap(true); area.setWrapStyleWord(true); area.setEditable(false); } { JScrollPane scroll = UIFactory.createScrollPane( pCommandLineArea, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, new Dimension(100, 27), null, null); above.add(scroll); } } /* environment */ JPanel below = new JPanel(); { below.setName("MainDialogPanel"); below.setLayout(new BoxLayout(below, BoxLayout.Y_AXIS)); { Box hbox = new Box(BoxLayout.X_AXIS); hbox.add(Box.createRigidArea(new Dimension(4, 0))); { JLabel label = new JLabel("X"); pEnvLabel = label; label.setName("PanelLabel"); hbox.add(label); } hbox.add(Box.createHorizontalGlue()); below.add(hbox); } below.add(Box.createRigidArea(new Dimension(0, 4))); Component comps[] = UIFactory.createTitledPanels(); { JPanel tpanel = (JPanel) comps[0]; JPanel vpanel = (JPanel) comps[1]; tpanel.add(Box.createRigidArea(new Dimension(sTSize, 0))); vpanel.add(Box.createHorizontalGlue()); } { pEnvScroll = UIFactory.createScrollPane( comps[2], ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, new Dimension(100, 50), new Dimension(100, 300), null); below.add(pEnvScroll); } } { JVertSplitPanel split = new JVertSplitPanel(above, below); split.setResizeWeight(0.0); split.setAlignmentX(0.5f); body.add(split); } super.initUI("X", body, null, null, null, "Close", null); } }