List of usage examples for com.jgoodies.forms.layout CellConstraints CellConstraints
public CellConstraints()
From source file:ca.sqlpower.architect.swingui.enterprise.PrivilegesEditorPanel.java
License:Open Source License
/** * Creates a new {@link PrivilegesEditorPanel}. * /*from w ww.java 2 s . c o m*/ * @param baseGrant * The {@link Grant} object which the privileges panel should * start off with. * @param baseGroupOrUser * The {@link Group} or {@link User} object that the * {@link Grant} applies to. * @param subject * The UUID of the object we want to grant access to. This can be * null if {@link #type} is specified. * @param type * The fully qualified name of the class of object we want to * grant access to. * @param username * The username of the person accessing this panel. Certain * functionality of the panel is disabled depending on what * privileges this user has. * @param securityWorkspace * The {@link ArchitectSwingProject} that represents the security * workspace. */ public PrivilegesEditorPanel(Grant baseGrant, SPObject baseGroupOrUser, String subject, String type, String username, ArchitectSwingProject securityWorkspace) { this.securityWorkspace = securityWorkspace; this.grant = baseGrant; this.groupOrUser = baseGroupOrUser; this.subject = subject; this.type = type; this.username = username; createPrivilege.setText("Create"); modifyPrivilege.setText("Modify"); deletePrivilege.setText("Delete"); viewPrivilege.setText("View"); grantPrivilege.setText("Grant"); if (grant != null) { if (grant.isCreatePrivilege()) { createPrivilege.setSelected(true); } if (grant.isModifyPrivilege()) { modifyPrivilege.setSelected(true); } if (grant.isExecutePrivilege()) { viewPrivilege.setSelected(true); } if (grant.isDeletePrivilege()) { deletePrivilege.setSelected(true); } if (grant.isGrantPrivilege()) { grantPrivilege.setSelected(true); } } CellConstraints cc = new CellConstraints(); DefaultFormBuilder builder = new DefaultFormBuilder( new FormLayout("pref, 5dlu, pref, 5dlu, pref,", "pref:grow, 3dlu, pref:grow")); builder.add(viewPrivilege, cc.xy(1, 1)); builder.add(createPrivilege, cc.xy(3, 1)); builder.add(modifyPrivilege, cc.xy(5, 1)); builder.add(deletePrivilege, cc.xy(1, 3)); builder.add(grantPrivilege, cc.xy(3, 3)); panel = builder.getPanel(); disableIfNecessary(); }
From source file:ca.sqlpower.architect.swingui.enterprise.ProjectSecurityPanel.java
License:Open Source License
/** * This rebuilds the panel based on the {@link #userModel} and {@link #groupModel}. * To do this it also removes all of the panels from the main {@link #panel} and * adds new ones to it.//from w w w .j av a 2s . c om */ private void refreshPanel() { userModel = new GroupOrUserTableModel(User.class); groupModel = new GroupOrUserTableModel(Group.class); CellConstraints cc = new CellConstraints(); DefaultFormBuilder builder = new DefaultFormBuilder(new FormLayout("pref", "pref:grow, 5dlu, pref:grow, pref:grow, 5dlu, pref:grow, pref:grow, 5dlu, pref:grow")); builder.add(panelLabel, cc.xy(1, 1)); // User list and headers JLabel userPermissions = new JLabel("User Permissions"); userPermissions.setFont( new Font(userPermissions.getFont().getFontName(), Font.BOLD, userPermissions.getFont().getSize())); builder.add(userPermissions, cc.xy(1, 3)); builder.add(userModel.getPanel(), cc.xy(1, 4)); // Group list and headers JLabel groupPermissions = new JLabel("Group Permissions"); groupPermissions.setFont(userPermissions.getFont()); builder.add(groupPermissions, cc.xy(1, 6)); builder.add(groupModel.getPanel(), cc.xy(1, 7)); JButton okButton = new JButton(new AbstractAction("OK") { public void actionPerformed(ActionEvent e) { userModel.applyChanges(); groupModel.applyChanges(); closeAction.actionPerformed(e); } }); JButton cancelButton = new JButton(new AbstractAction("Cancel") { public void actionPerformed(ActionEvent e) { userModel.discardChanges(); groupModel.discardChanges(); closeAction.actionPerformed(e); } }); ButtonBarBuilder buttonBuilder = ButtonBarBuilder.createLeftToRightBuilder(); buttonBuilder.addGlue(); buttonBuilder.addGridded(okButton); buttonBuilder.addRelatedGap(); buttonBuilder.addGridded(cancelButton); buttonBuilder.setDefaultButtonBarGapBorder(); builder.add(buttonBuilder.getPanel(), cc.xy(1, 9)); builder.setDefaultDialogBorder(); panel.removeAll(); panel.add(builder.getPanel()); panel.revalidate(); disableIfNecessary(); }
From source file:ca.sqlpower.architect.swingui.enterprise.RevisionListPanel.java
License:Open Source License
public RevisionListPanel(ArchitectSwingSession swingSession, ArchitectFrame architectFrame, Action closeAction) {/*from w w w. j av a 2s . c o m*/ this.dialogOwner = architectFrame; this.swingSession = swingSession; this.session = swingSession.getEnterpriseSession(); DefaultFormBuilder builder = new DefaultFormBuilder( new FormLayout("default:grow, 5dlu, pref", "pref, 2dlu, default:grow")); int currentRevision = session.getUpdater().getRevision(); long from = currentRevision - DEFAULT_REVISION_RANGE; if (from <= 0) from = 1; fromVersion = new JLongField(from); toVersion = new JLongField(currentRevision); revisionsTable = new RevisionsTable(this.session, from, currentRevision); revisionsTable.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { refreshPanel(); } }); CellConstraints cc = new CellConstraints(); builder.add(new JLabel("Revisions:"), cc.xy(1, 1)); builder.add(revisionsTable.getScrollPane(), cc.xy(1, 3)); DefaultFormBuilder textFieldBuilder = new DefaultFormBuilder(new FormLayout("pref, pref")); textFieldBuilder.append(new JLabel("from version "), fromVersion.getField()); textFieldBuilder.append(new JLabel("to version "), toVersion.getField()); DefaultFormBuilder filterBuilder = new DefaultFormBuilder(new FormLayout("pref")); filterBuilder.append(new JLabel("Display revisions ")); filterBuilder.append(textFieldBuilder.getPanel()); autoRefreshBox = new JCheckBox("Auto-refresh", false); autoRefresh = new Runnable() { public void run() { while (autoRefreshBox.isSelected()) { SwingUtilities.invokeLater(new Runnable() { public void run() { refreshAction.actionPerformed(null); } }); try { Thread.sleep(1000); } catch (InterruptedException ex) { autoRefreshBox.setSelected(false); } } } }; autoRefreshBox.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { if (autoRefreshBox.isSelected()) { new Thread(autoRefresh).start(); } } }); autoRefreshBox.setSelected(true); DefaultFormBuilder buttonBarBuilder = new DefaultFormBuilder(new FormLayout("pref")); buttonBarBuilder.append(filterBuilder.getPanel()); buttonBarBuilder.append(new JLabel("\n")); buttonBarBuilder.append(new JButton(refreshAction)); buttonBarBuilder.append(new JButton(revertAction)); buttonBarBuilder.append(new JButton(openAction)); buttonBarBuilder.append(new JButton(compareAction)); buttonBarBuilder.append(new JButton(closeAction)); buttonBarBuilder.append(autoRefreshBox); builder.add(buttonBarBuilder.getPanel(), cc.xy(3, 3)); builder.setDefaultDialogBorder(); panel = builder.getPanel(); panel.setPreferredSize(new Dimension(700, 500)); refreshPanel(); }
From source file:ca.sqlpower.architect.swingui.enterprise.ServerProjectsManagerPanel.java
License:Open Source License
public ServerProjectsManagerPanel(SPServerInfo serverInfo, ArchitectSwingSession session, ArchitectSessionContext context, Component dialogOwner, Action closeAction) { this.serverInfo = serverInfo; this.dialogOwner = dialogOwner; this.session = session; this.context = context; this.closeAction = closeAction; ArchitectClientSideSession.getCookieStore().clear(); DefaultFormBuilder builder = new DefaultFormBuilder( new FormLayout("pref:grow, 5dlu, pref", "pref, pref, pref")); servers = null;/*from w ww. j av a 2 s .com*/ projects = new JList(new DefaultListModel()); projects.addMouseListener(new MouseAdapter() { @Override public void mouseReleased(MouseEvent e) { refreshPanel(); if (e.getClickCount() == 2 && SwingUtilities.isLeftMouseButton(e)) { openAction.actionPerformed(null); } } }); JScrollPane projectsPane = new JScrollPane(projects); projectsPane.setPreferredSize(new Dimension(250, 300)); JButton securityButton = new JButton(openSecurityManagerPanelAction); refreshInfoList(); CellConstraints cc = new CellConstraints(); builder.add(new JLabel(serverInfo.getName() + "'s projects:"), cc.xyw(1, 1, 2)); builder.nextLine(); builder.add(projectsPane, cc.xywh(1, 2, 1, 2)); DefaultFormBuilder buttonBarBuilder = new DefaultFormBuilder(new FormLayout("pref")); buttonBarBuilder.append(new JButton(refreshAction)); buttonBarBuilder.append(securityButton); buttonBarBuilder.append(new JButton(newAction)); buttonBarBuilder.append(new JButton(openAction)); buttonBarBuilder.append(new JButton(deleteAction)); buttonBarBuilder.append(new JButton(closeAction)); builder.add(buttonBarBuilder.getPanel(), cc.xy(3, 2)); builder.setDefaultDialogBorder(); panel = builder.getPanel(); }
From source file:ca.sqlpower.architect.swingui.enterprise.ServerProjectsManagerPanel.java
License:Open Source License
public ServerProjectsManagerPanel(ArchitectSwingSession session, ArchitectSessionContext context, Component dialogOwner, Action closeAction) { this.session = session; this.dialogOwner = dialogOwner; this.context = context; this.closeAction = closeAction; ArchitectClientSideSession.getCookieStore().clear(); DefaultFormBuilder builder = new DefaultFormBuilder( new FormLayout("pref:grow, 5dlu, pref:grow, 5dlu, pref", "pref, pref, pref")); servers = new JList(new DefaultListModel()); servers.addMouseListener(new MouseAdapter() { @Override/*from w ww . j a va 2 s .c o m*/ public void mouseReleased(MouseEvent e) { if (SwingUtilities.isLeftMouseButton(e)) { refreshInfoList(); } } }); DefaultListModel serversModel = (DefaultListModel) servers.getModel(); serversModel.removeAllElements(); if (context.getServerManager().getServers(false).size() > 0) { for (SPServerInfo serverInfo : context.getServerManager().getServers(false)) { serversModel.addElement(serverInfo); } } else { serversModel.addElement("No Servers"); servers.setEnabled(false); } projects = new JList(new DefaultListModel()); projects.addMouseListener(new MouseAdapter() { @Override public void mouseReleased(MouseEvent e) { refreshPanel(); if (e.getClickCount() == 2 && SwingUtilities.isLeftMouseButton(e)) { openAction.actionPerformed(null); } } }); JScrollPane projectsPane = new JScrollPane(projects); projectsPane.setPreferredSize(new Dimension(250, 300)); JScrollPane serverPane = new JScrollPane(servers); serverPane.setPreferredSize(new Dimension(250, 300)); JButton securityButton = new JButton(openSecurityManagerPanelAction); refreshInfoList(); CellConstraints cc = new CellConstraints(); builder.add(new JLabel("Servers:"), cc.xyw(1, 1, 2)); builder.add(new JLabel("Projects:"), cc.xyw(3, 1, 2)); builder.nextLine(); builder.add(serverPane, cc.xywh(1, 2, 1, 2)); builder.add(projectsPane, cc.xywh(3, 2, 1, 2)); DefaultFormBuilder buttonBarBuilder = new DefaultFormBuilder(new FormLayout("pref")); buttonBarBuilder.append(new JButton(refreshAction)); buttonBarBuilder.append(securityButton); buttonBarBuilder.append(new JButton(newAction)); buttonBarBuilder.append(new JButton(openAction)); buttonBarBuilder.append(new JButton(uploadAction)); buttonBarBuilder.append(new JButton(deleteAction)); buttonBarBuilder.append(new JButton(closeAction)); builder.add(buttonBarBuilder.getPanel(), cc.xy(5, 2)); builder.setDefaultDialogBorder(); panel = builder.getPanel(); }
From source file:ca.sqlpower.architect.swingui.enterprise.UserEditorPanel.java
License:Open Source License
public UserEditorPanel(User baseUser, String username, Action closeAction, final ArchitectSession session) { this.user = baseUser; this.session = session; this.securityWorkspace = (ArchitectSwingProject) user.getParent(); this.username = username; this.closeAction = closeAction; final Dimension prefScrollPaneDimension = new Dimension(250, 300); usernameLabel = new JLabel("User Name"); usernameField = new JTextField(); usernameField.setText(user.getUsername()); usernameField.getDocument().addDocumentListener(textFieldListener); fullnameLabel = new JLabel("Full Name"); fullnameField = new JTextField(); fullnameField.setText(user.getFullName()); fullnameField.getDocument().addDocumentListener(textFieldListener); emailLabel = new JLabel("Email"); emailField = new JTextField(); emailField.setText(user.getEmail()); emailField.getDocument().addDocumentListener(textFieldListener); ListCellRenderer groupListCellRenderer = new DefaultListCellRenderer() { @Override/*from w w w .j ava 2 s . c om*/ public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); setIcon(GROUP_ICON); return this; } }; availableGroupsLabel = new JLabel("Available Groups"); availableGroupsList = new JList(new DefaultListModel()); availableGroupsList.setCellRenderer(groupListCellRenderer); availableGroupsScrollPane = new JScrollPane(availableGroupsList); availableGroupsScrollPane.setPreferredSize(prefScrollPaneDimension); currentGroupsLabel = new JLabel("Current Groups"); currentGroupsList = new JList(new DefaultListModel()); currentGroupsList.setCellRenderer(groupListCellRenderer); currentGroupsScrollPane = new JScrollPane(currentGroupsList); currentGroupsScrollPane.setPreferredSize(prefScrollPaneDimension); Grant globalGrant = null; for (Grant grant : user.getChildren(Grant.class)) { if (grant.isSystemLevel() && grant.getType().equals(ArchitectSwingProject.class.getName())) { if (globalGrant != null) { throw new IllegalStateException("Multiple grants for Architect Project found"); } globalGrant = grant; } } if (globalGrant != null) { privilegesEditorPanel = new PrivilegesEditorPanel(globalGrant, user, null, ArchitectSwingProject.class.getName(), username, securityWorkspace); } else { privilegesEditorPanel = new PrivilegesEditorPanel(null, user, null, ArchitectSwingProject.class.getName(), username, securityWorkspace); } JButton addButton = new JButton(addAction); addButton.setIcon(RIGHT_ARROW); JButton removeButton = new JButton(removeAction); removeButton.setIcon(LEFT_ARROW); CellConstraints cc = new CellConstraints(); DefaultFormBuilder upperPanelBuilder = new DefaultFormBuilder( new FormLayout("pref, 5dlu, pref:grow", "pref, pref, pref, pref, pref, 5dlu")); upperPanelBuilder.add(usernameLabel, cc.xy(1, 1)); upperPanelBuilder.add(usernameField, cc.xyw(3, 1, 1)); upperPanelBuilder.add(fullnameLabel, cc.xy(1, 3)); upperPanelBuilder.add(fullnameField, cc.xyw(3, 3, 1)); upperPanelBuilder.add(emailLabel, cc.xy(1, 4)); upperPanelBuilder.add(emailField, cc.xy(3, 4)); passwordButton = new JButton(changePasswordAction); ButtonBarBuilder2 passwordBuilder = ButtonBarBuilder2.createLeftToRightBuilder(); passwordBuilder.addGlue(); passwordBuilder.addButton(passwordButton); DefaultFormBuilder buttonPanelBuilder = new DefaultFormBuilder( new FormLayout("pref", "pref:grow, pref, 5dlu, pref, pref:grow")); buttonPanelBuilder.add(addButton, cc.xy(1, 2)); buttonPanelBuilder.add(removeButton, cc.xy(1, 5)); DefaultFormBuilder centrePanelBuilder = new DefaultFormBuilder( new FormLayout("pref, 5dlu, pref, 5dlu, pref", "pref, pref:grow")); centrePanelBuilder.add(availableGroupsLabel, cc.xy(1, 1)); centrePanelBuilder.add(currentGroupsLabel, cc.xy(5, 1)); centrePanelBuilder.add(availableGroupsScrollPane, cc.xy(1, 2)); centrePanelBuilder.add(buttonPanelBuilder.getPanel(), cc.xy(3, 2)); centrePanelBuilder.add(currentGroupsScrollPane, cc.xy(5, 2)); DefaultFormBuilder builder = new DefaultFormBuilder( new FormLayout("pref:grow", "pref, pref, 3dlu, pref:grow, 5dlu, pref")); builder.add(upperPanelBuilder.getPanel(), cc.xy(1, 1)); builder.add(passwordBuilder.getPanel(), cc.xy(1, 2)); builder.add(centrePanelBuilder.getPanel(), cc.xy(1, 4)); DefaultFormBuilder bottomBuilder = new DefaultFormBuilder( new FormLayout("pref:grow, 5dlu, pref:grow", "pref, 3dlu, pref")); bottomBuilder.add(new JLabel("System Privileges"), cc.xy(1, 1)); bottomBuilder.add(privilegesEditorPanel.getPanel(), cc.xy(1, 3)); ButtonBarBuilder2 bbb = ButtonBarBuilder2.createLeftToRightBuilder(); bbb.addGlue(); bbb.addButton(new JButton(okAction)); bbb.addRelatedGap(); bbb.addButton(new JButton(cancelAction)); bottomBuilder.add(bbb.getPanel(), cc.xy(3, 3)); builder.add(bottomBuilder.getPanel(), cc.xy(1, 6)); builder.setDefaultDialogBorder(); panel = builder.getPanel(); fillGroupLists(); disableIfNecessary(); }
From source file:ca.sqlpower.architect.swingui.IndexEditPanel.java
License:Open Source License
private void createGUI(SQLIndex index, SQLTable parent, ArchitectSwingSession session) throws SQLObjectException { this.parent = parent; PanelBuilder pb = new PanelBuilder((FormLayout) panel.getLayout(), panel); CellConstraints cc = new CellConstraints(); pb.add(new JLabel(Messages.getString("IndexEditPanel.indexName")), cc.xy(1, 1)); //$NON-NLS-1$ pb.add(name = new JTextField("", 30), cc.xyw(3, 1, 4)); //$NON-NLS-1$ unique = new JCheckBox(Messages.getString("IndexEditPanel.uniqueIndex")); //$NON-NLS-1$ pb.add(unique, cc.xy(3, 3));//from w w w. j a v a 2 s . c o m primaryKey = new JCheckBox(Messages.getString("IndexEditPanel.primaryKeyIndex")); //$NON-NLS-1$ pb.add(primaryKey, cc.xy(3, 5)); clustered = new JCheckBox(Messages.getString("IndexEditPanel.clusteredIndex")); //$NON-NLS-1$ clustered.setSelected(index.isClustered()); pb.add(clustered, cc.xy(3, 7)); pb.add(new JLabel(Messages.getString("IndexEditPanel.indexType")), cc.xy(1, 9)); //$NON-NLS-1$ indexType = new JComboBox(); //add the platform default type indexType.addItem(DEFAULT_INDEX_TYPE); for (String type : getIndexTypes()) { indexType.addItem(type); } pb.add(indexType, cc.xyw(3, 9, 4)); editIndex(index); columnsTable = new IndexColumnTable(parent, indexCopy, index); pb.add(new JScrollPane(columnsTable.getTable()), cc.xyw(1, 13, 6)); // we want the buttons at their natural sizes, and the buttonbarbuilder wasn't doing that JPanel upDownPanel = new JPanel(new FlowLayout(FlowLayout.LEFT)); upDownPanel.add(new JButton(new AbstractAction(null, SPSUtils.createIcon("chevrons_up1", null)) { //$NON-NLS-1$ public void actionPerformed(ActionEvent e) { columnsTable.moveRow(true); } })); upDownPanel.add(new JButton(new AbstractAction(null, SPSUtils.createIcon("chevrons_down1", null)) { //$NON-NLS-1$ public void actionPerformed(ActionEvent e) { columnsTable.moveRow(false); } })); pb.add(upDownPanel, cc.xyw(1, 15, 6)); loadIndexIntoPanel(); }
From source file:ca.sqlpower.architect.swingui.KettleDataSourceTypeOptionPanel.java
License:Open Source License
public KettleDataSourceTypeOptionPanel() { PanelBuilder pb = new PanelBuilder(new FormLayout("4dlu,pref,4dlu,pref:grow,4dlu", "4dlu,pref,4dlu,pref,4dlu,pref,4dlu,pref,4dlu,pref,4dlu")); CellConstraints cc = new CellConstraints(); CellConstraints cl = new CellConstraints(); int row = 2;/*from w w w . ja va 2s. c o m*/ pb.addLabel("Kettle Connection Type", cl.xy(2, row), kettleConnectionType, cc.xy(4, row)); List<String> dbConnectionNames = KettleUtils.retrieveKettleConnectionTypes(); for (String dbConnectionName : dbConnectionNames) { kettleConnectionType.addItem(dbConnectionName); } kettleConnectionType.setSelectedIndex(-1); panel = pb.getPanel(); }
From source file:ca.sqlpower.architect.swingui.olap.OLAPSchemaManager.java
License:Open Source License
private JPanel createPanel() { FormLayout layout = new FormLayout("6dlu, fill:min(160dlu;default):grow, 6dlu, pref, 6dlu", // columns //$NON-NLS-1$ " 6dlu,10dlu,6dlu,fill:min(180dlu;default):grow,10dlu"); // rows //$NON-NLS-1$ layout.setColumnGroups(new int[][] { { 1, 3, 5 } }); CellConstraints cc = new CellConstraints(); PanelBuilder pb;//from w w w.j ava 2 s . co m JPanel p = logger.isDebugEnabled() ? new FormDebugPanel(layout) : new JPanel(layout); pb = new PanelBuilder(layout, p); pb.setDefaultDialogBorder(); pb.add(new JLabel("Available OLAP Schemas"), cc.xy(2, 2)); //$NON-NLS-1$ TableModel tm = new SchemaTableModel(session.getOLAPRootObject()); osessionTable = new JTable(tm); osessionTable.setTableHeader(null); osessionTable.setShowGrid(false); osessionTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); osessionTable.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent evt) { boolean enableActions = getSelectedOSession() != null; removeOLAPSchemaAction.setEnabled(enableActions); editOLAPSchemaAction.setEnabled(enableActions); exportSchemaAction.setEnabled(enableActions); if (evt.getClickCount() == 2) { editOLAPSchemaAction.actionPerformed(null); } } }); JScrollPane sp = new JScrollPane(osessionTable); pb.add(sp, cc.xy(2, 4)); ButtonStackBuilder bsb = new ButtonStackBuilder(); JButton newOLAPSchemaButton = new JButton(new OLAPEditAction(session, null)); newOLAPSchemaButton.setText("New..."); bsb.addGridded(newOLAPSchemaButton); bsb.addRelatedGap(); JButton importOLAPSchemaButton = new JButton(new ImportSchemaAction(session)); importOLAPSchemaButton.setText("Import..."); bsb.addGridded(importOLAPSchemaButton); bsb.addGridded(new JButton(exportSchemaAction)); bsb.addRelatedGap(); bsb.addGridded(new JButton(editOLAPSchemaAction)); bsb.addRelatedGap(); bsb.addGridded(new JButton(removeOLAPSchemaAction)); removeOLAPSchemaAction.setEnabled(false); editOLAPSchemaAction.setEnabled(false); exportSchemaAction.setEnabled(false); bsb.addUnrelatedGap(); bsb.addGridded(new JButton(closeAction)); pb.add(bsb.getPanel(), cc.xy(4, 4)); return pb.getPanel(); }
From source file:ca.sqlpower.architect.swingui.ProfileGraphPanel.java
License:Open Source License
public ProfileGraphPanel(ProfilePanel panel, int rowCount) { this.profilePanel = panel; this.rowCount = rowCount; FormLayout displayLayout = new FormLayout("4dlu, default, 4dlu, 100dlu, 4dlu, fill:default:grow, 4dlu", // columns "4dlu, default, 6dlu"); // rows CellConstraints cc = new CellConstraints(); validResultsPanel = ProfileGraphPanel.logger.isDebugEnabled() ? new FormDebugPanel(displayLayout) : new JPanel(displayLayout); validResultsPanel.setBorder(BorderFactory.createEtchedBorder()); Font bodyFont = validResultsPanel.getFont(); Font titleFont = bodyFont.deriveFont(Font.BOLD, bodyFont.getSize() * 1.25F); title = new JLabel("Column Name"); title.setFont(titleFont);/*w w w. ja v a 2 s.c om*/ PanelBuilder pb = new PanelBuilder(displayLayout, validResultsPanel); pb.add(title, cc.xyw(2, 2, 5)); int row = 4; rowCountDisplay = makeInfoRow(pb, "RowCount", row); row += 2; nullableLabel = makeInfoRow(pb, "Nullable", row); row += 2; nullCountLabel = makeInfoRow(pb, "Null Count", row); row += 2; nullPercentLabel = makeInfoRow(pb, "% Null Records", row); row += 2; minLengthLabel = makeInfoRow(pb, "Minimum Length", row); row += 2; maxLengthLabel = makeInfoRow(pb, "Maximum Length", row); row += 2; uniqueCountLabel = makeInfoRow(pb, "Unique Values", row); row += 2; uniquePercentLabel = makeInfoRow(pb, "% Unique", row); row += 2; minValue = makeInfoRow(pb, "Minimum Value", row); row += 2; maxValue = makeInfoRow(pb, "Maximum Value", row); row += 2; avgValue = makeInfoRow(pb, "Average Value", row); row += 2; freqValueTable = new FreqValueTable(null); freqValueSp = new JScrollPane(freqValueTable); pb.appendRow("fill:10dlu:grow"); pb.appendRow("fill:default:grow"); pb.add(freqValueSp, cc.xyw(2, row + 1, 3)); // Now add something to represent the chart JFreeChart createPieChart = ChartFactory.createPieChart("", new DefaultPieDataset(new DefaultKeyedValues()), false, false, false); chartPanel = new ChartPanel(createPieChart); chartPanel.setPreferredSize(new Dimension(300, 300)); if (panel.getProfileManager().getWorkspaceContainer() instanceof ArchitectSession && ((ArchitectSession) panel.getProfileManager().getWorkspaceContainer()).isEnterpriseSession()) { pb.add(new JLabel("Column Profile Notes"), cc.xy(6, 2)); notesField = new JTextArea(); notesField.setLineWrap(true); notesField.setWrapStyleWord(true); JScrollPane notesScroll = new JScrollPane(notesField); notesScroll.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); notesScroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); pb.add(notesScroll, cc.xywh(6, 4, 1, row - 4)); pb.appendRow("fill:4dlu:grow"); pb.appendRow("4dlu"); pb.add(chartPanel, cc.xy(6, row + 1)); } else { pb.appendRow("fill:4dlu:grow"); pb.appendRow("4dlu"); pb.add(chartPanel, cc.xywh(6, 4, 1, row - 2)); } invalidResultsPanel = new JPanel(new BorderLayout()); invalidResultsLabel = new JLabel("No error message yet"); invalidResultsPanel.add(invalidResultsLabel); displayArea = new JPanel(new GridLayout(1, 1)); displayArea.setPreferredSize(validResultsPanel.getPreferredSize()); }