List of usage examples for com.jgoodies.forms.layout FormLayout setColumnGroups
public void setColumnGroups(int[][] groupOfIndices)
From source file:org.springframework.richclient.layout.TableLayoutBuilder.java
License:Apache License
private FormLayout createLayout() { ColumnSpec[] columnSpecsArray = (ColumnSpec[]) columnSpecs.toArray(new ColumnSpec[columnSpecs.size()]); RowSpec[] rowSpecArray = (RowSpec[]) rowSpecs.toArray(new RowSpec[rowSpecs.size()]); FormLayout layout = new FormLayout(columnSpecsArray, rowSpecArray); layout.setColumnGroups(adjustedColGroupIndices); layout.setRowGroups(adjustedRowGroupIndices); return layout; }
From source file:phex.gui.dialogs.options.DebugPane.java
License:Open Source License
/** * Called when preparing this settings pane for display the first time. Can * be overriden to implement the look of the settings pane. */// w w w .j av a 2s . c om protected void prepareComponent() { setLayout(new BorderLayout()); //JPanel contentPanel = new FormDebugPanel(); JPanel contentPanel = new JPanel(); add(contentPanel, BorderLayout.CENTER); FormLayout layout = new FormLayout("10dlu, d, 6dlu, d, 6dlu, d, 6dlu, d, 2dlu:grow", // columns "p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p"); // rows layout.setColumnGroups(new int[][] { { 2, 4, 6 } }); layout.setRowGroups(new int[][] { { 3, 5, 7 } }); contentPanel.setLayout(layout); PanelBuilder builder = new PanelBuilder(layout, contentPanel); CellConstraints cc = new CellConstraints(); builder.addSeparator(Localizer.getString("DebugSettings_DebugSettings"), cc.xywh(1, 1, 7, 1)); /*downloadTypeChkbx = new JCheckBox( Localizer.getString( "Download" ), Logger.isTypeLogged( Logger.DOWNLOAD ) ); downloadTypeChkbx.setToolTipText( Localizer.getString( "DebugSettings_TTTDownloadType" ) ); builder.add( downloadTypeChkbx, cc.xy( 2, 3 ) ); uploadTypeChkbx = new JCheckBox( Localizer.getString( "Upload" ), Logger.isTypeLogged( Logger.UPLOAD ) ); uploadTypeChkbx.setToolTipText( Localizer.getString( "DebugSettings_TTTUploadType" ) ); builder.add( uploadTypeChkbx, cc.xy( 4, 3 ) ); searchTypeChkbx = new JCheckBox( Localizer.getString( "Search" ), Logger.isTypeLogged( Logger.SEARCH ) ); searchTypeChkbx.setToolTipText( Localizer.getString( "DebugSettings_TTTSearchType" ) ); builder.add( searchTypeChkbx, cc.xy( 6, 3 ) ); downloadNetTypeChkbx = new JCheckBox( Localizer.getString( "DownloadNet" ), Logger.isTypeLogged( Logger.DOWNLOAD_NET ) ); downloadNetTypeChkbx.setToolTipText( Localizer.getString( "DebugSettings_TTTDownloadNetType" ) ); builder.add( downloadNetTypeChkbx, cc.xy( 8, 3 ) ); netTypeChkbx = new JCheckBox( Localizer.getString( "Network" ), Logger.isTypeLogged( Logger.NETWORK ) ); netTypeChkbx.setToolTipText( Localizer.getString( "DebugSettings_TTTNetworkType" ) ); builder.add( netTypeChkbx, cc.xy( 2, 5 ) ); guiTypeChkbx = new JCheckBox( Localizer.getString( "GUI" ), Logger.isTypeLogged( Logger.GUI ) ); guiTypeChkbx.setToolTipText( Localizer.getString( "DebugSettings_TTTGuiType" ) ); builder.add( guiTypeChkbx, cc.xy( 4, 5 ) ); performanceTypeChkbx = new JCheckBox( Localizer.getString( "Performance" ), Logger.isTypeLogged( Logger.PERFORMANCE ) ); performanceTypeChkbx.setToolTipText( Localizer.getString( "DebugSettings_TTTPerformanceType" ) ); builder.add( performanceTypeChkbx, cc.xy( 6, 5 ) ); JLabel label = builder.addLabel( Localizer.getString( "DebugSettings_LogLevel" ) + ": ", cc.xy( 2, 7 ) ); label.setToolTipText( Localizer.getString( "DebugSettings_TTTLogLevel" ) ); String[] logLevels = new String[] { "Finest", "Finer", "Fine", "Config", "Info", "Warning", "Severe" }; logLevelCbBx = new JComboBox( logLevels ); logLevelCbBx.setSelectedIndex( Logger.getVerboseLevel() ); logLevelCbBx.setToolTipText( Localizer.getString( "DebugSettings_TTTLogLevel" ) ); builder.add( logLevelCbBx, cc.xy( 4, 7 ) ); */ }
From source file:phex.gui.dialogs.options.I2PPane.java
License:Open Source License
/** * Called when preparing this settings pane for display the first time. Can * be overriden to implement the look of the settings pane. *//* www . j a v a2 s. c o m*/ @Override protected void prepareComponent() { FormLayout layout = new FormLayout("10dlu, right:d, 2dlu, 50dlu, " + // 4 columns "10dlu, right:d, 2dlu, 50dlu, 2dlu:grow", // 5 columns "p, 3dlu, p, 3dlu, p, 3dlu, " + // 6 rows "p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, " + // 8 rows "p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu" // 8 rows ); layout.setRowGroups(new int[][] { { 3, 5, 9, 11, 13, 15, 21 } }); layout.setColumnGroups(new int[][] { { 4, 8 }, { 2, 6 } }); setLayout(layout); //FormDebugPanel contentPanel = new FormDebugPanel(); //JPanel contentPanel = new JPanel(); //add( this, BorderLayout.CENTER ); PanelBuilder builder = new PanelBuilder(layout, this); CellConstraints cc = new CellConstraints(); builder.addSeparator(Localizer.getString("I2CPSettings"), cc.xywh(1, 1, 9, 1)); i2cpHostLabel = builder.addLabel(Localizer.getString("I2CPHost") + ": ", cc.xy(2, 3)); i2cpHostTF = new JTextField(I2PPrefs.I2CPHost.get(), 15); builder.add(i2cpHostTF, cc.xy(4, 3)); i2cpPortLabel = builder.addLabel(Localizer.getString("I2CPPort") + ": ", cc.xy(6, 3)); i2cpPortTF = new IntegerTextField(I2PPrefs.I2CPPort.get().toString(), 5, 5); builder.add(i2cpPortTF, cc.xy(8, 3)); builder.addSeparator(Localizer.getString("I2PTunnelSettings"), cc.xywh(1, 5, 9, 1)); inboundLengthLabel = builder.addLabel(Localizer.getString("InboundLength") + ": ", cc.xy(2, 9)); inboundLengthTF = new IntegerTextField(I2PPrefs.InboundLength.get().toString(), 1, 1); builder.add(inboundLengthTF, cc.xy(4, 9)); outboundLengthLabel = builder.addLabel(Localizer.getString("OutboundLength") + ": ", cc.xy(6, 9)); outboundLengthTF = new IntegerTextField(I2PPrefs.OutboundLength.get().toString(), 1, 1); builder.add(outboundLengthTF, cc.xy(8, 9)); inboundLengthVarianceLabel = builder.addLabel(Localizer.getString("InboundLengthVariance") + ": ", cc.xy(2, 11)); inboundLengthVarianceTF = new IntegerTextField(I2PPrefs.InboundLengthVariance.get().toString(), 1, 1); builder.add(inboundLengthVarianceTF, cc.xy(4, 11)); outboundLengthVarianceLabel = builder.addLabel(Localizer.getString("OutboundLengthVariance") + ": ", cc.xy(6, 11)); outboundLengthVarianceTF = new IntegerTextField(I2PPrefs.OutboundLengthVariance.get().toString(), 1, 1); builder.add(outboundLengthVarianceTF, cc.xy(8, 11)); inboundQuantityLabel = builder.addLabel(Localizer.getString("InboundQuantity") + ": ", cc.xy(2, 13)); inboundQuantityTF = new IntegerTextField(I2PPrefs.InboundQuantity.get().toString(), 1, 1); builder.add(inboundQuantityTF, cc.xy(4, 13)); outboundQuantityLabel = builder.addLabel(Localizer.getString("OutboundQuantity") + ": ", cc.xy(6, 13)); outboundQuantityTF = new IntegerTextField(I2PPrefs.OutboundQuantity.get().toString(), 1, 1); builder.add(outboundQuantityTF, cc.xy(8, 13)); inboundBackupQuantityLabel = builder.addLabel(Localizer.getString("InboundBackupQuantity") + ": ", cc.xy(2, 15)); inboundBackupQuantityTF = new IntegerTextField(I2PPrefs.InboundBackupQuantity.get().toString(), 1, 1); builder.add(inboundBackupQuantityTF, cc.xy(4, 15)); outboundBackupQuantityLabel = builder.addLabel(Localizer.getString("OutboundBackupQuantity") + ": ", cc.xy(6, 15)); outboundBackupQuantityTF = new IntegerTextField(I2PPrefs.OutboundBackupQuantity.get().toString(), 1, 1); builder.add(outboundBackupQuantityTF, cc.xy(8, 15)); refreshEnableState(); }
From source file:phex.gui.dialogs.options.NetworkPane.java
License:Open Source License
/** * Called when preparing this settings pane for display the first time. Can * be overriden to implement the look of the settings pane. *//*from w w w .j a v a2 s .co m*/ protected void prepareComponent() { setLayout(new BorderLayout()); JPanel contentPanel = new JPanel(); //JPanel contentPanel = new FormDebugPanel(); add(contentPanel, BorderLayout.CENTER); FormLayout layout = new FormLayout("10dlu, right:d, 2dlu, d, " + "10dlu, right:d, 2dlu, d, 2dlu:grow", // columns "p, 3dlu, p, 3dlu, p, 3dlu, p, 8dlu, " + "p, 3dlu, p, 3dlu, p, 8dlu, " + "p, 3dlu, p"); layout.setColumnGroups(new int[][] { { 4, 8 }, { 2, 6 } }); layout.setRowGroups(new int[][] { { 3, 5, 9, 11, 13, 17 } }); PanelBuilder builder = new PanelBuilder(layout, contentPanel); CellConstraints cc = new CellConstraints(); int row = 1; builder.addSeparator(Localizer.getString("NetworkSettings"), cc.xywh(1, row, 9, 1)); row += 2; builder.addLabel(Localizer.getString("ListeningPort") + ": ", cc.xy(2, row)); listeningPortTF = new IntegerTextField(NetworkPrefs.ListeningPort.get().toString(), 5, 5); builder.add(listeningPortTF, cc.xy(4, row)); builder.addLabel(Localizer.getString("ConnectionTimeout") + ": ", cc.xy(6, row)); connectionTimeoutTF = new IntegerTextField( String.valueOf(NetworkPrefs.TcpConnectTimeout.get().intValue() / 1000), 3, 3); builder.add(connectionTimeoutTF, cc.xy(8, row)); row += 2; JLabel label = builder.addLabel(Localizer.getString("NetworkSettings_MaxConcurrentConnectAttempts") + ": ", cc.xy(6, row)); label.setToolTipText(Localizer.getString("NetworkSettings_TTTMaxConcurrentConnectAttempts")); maxConcurrentConnectAttemptsTF = new IntegerTextField( NetworkPrefs.MaxConcurrentConnectAttempts.get().toString(), 2, 2); maxConcurrentConnectAttemptsTF .setToolTipText(Localizer.getString("NetworkSettings_TTTMaxConcurrentConnectAttempts")); builder.add(maxConcurrentConnectAttemptsTF, cc.xy(8, row)); row += 2; autoConnectChkbx = new JCheckBox(Localizer.getString("AutoConnectOnStartup"), ConnectionPrefs.AutoConnectOnStartup.get().booleanValue()); builder.add(autoConnectChkbx, cc.xywh(2, row, 3, 1)); connectedToLANChkbx = new JCheckBox(Localizer.getString("ConnectedToLAN"), NetworkPrefs.ConnectedToLAN.get().booleanValue()); connectedToLANChkbx.setToolTipText(Localizer.getString("TTTConnectedToLAN")); builder.add(connectedToLANChkbx, cc.xywh(6, row, 3, 1)); row += 2; builder.addSeparator(Localizer.getString("UltrapeerSettings"), cc.xywh(1, row, 9, 1)); row += 2; allowToBeUPChkbx = new JCheckBox(Localizer.getString("AllowToBecomeUltrapeer"), ConnectionPrefs.AllowToBecomeUP.get().booleanValue()); allowToBeUPChkbx.setToolTipText(Localizer.getString("TTTAllowToBecomeUltrapeer")); allowToBeUPChkbx.addActionListener(new CheckboxActionListener()); builder.add(allowToBeUPChkbx, cc.xywh(2, row, 3, 1)); forceToBeUPChkbx = new JCheckBox(Localizer.getString("ForceToBeUltrapeer"), ConnectionPrefs.ForceToBeUltrapeer.get().booleanValue()); forceToBeUPChkbx.setToolTipText(Localizer.getString("TTTForceToBeUltrapeer")); forceToBeUPChkbx.addActionListener(new CheckboxActionListener()); builder.add(forceToBeUPChkbx, cc.xywh(6, row, 3, 1)); row += 2; up2upConnectionsLabel = builder.addLabel(Localizer.getString("ConnectionsToUltrapeers") + ": ", cc.xy(2, row)); up2upConnectionsLabel.setToolTipText(Localizer.getString("TTTToUltrapeers")); up2upConnectionsTF = new IntegerTextField(ConnectionPrefs.Up2UpConnections.get().toString(), 2, 2); up2upConnectionsTF.setToolTipText(Localizer.getString("TTTToUltrapeers")); builder.add(up2upConnectionsTF, cc.xy(4, row)); up2LeafConnectionsLabel = builder.addLabel(Localizer.getString("ConnectionsToLeafs") + ": ", cc.xy(6, row)); up2LeafConnectionsLabel.setToolTipText(Localizer.getString("TTTToLeafs")); up2LeafConnectionsTF = new IntegerTextField(ConnectionPrefs.Up2LeafConnections.get().toString(), 3, 3); up2LeafConnectionsTF.setToolTipText(Localizer.getString("TTTToLeafs")); builder.add(up2LeafConnectionsTF, cc.xy(8, row)); row += 2; builder.addSeparator(Localizer.getString("LeafSettings"), cc.xywh(1, row, 9, 1)); row += 2; leaf2upConnectionsLabel = builder.addLabel(Localizer.getString("ConnectionsToUltrapeers") + ": ", cc.xy(2, row)); leaf2upConnectionsLabel.setToolTipText(Localizer.getString("TTTToUltrapeers")); leaf2upConnectionsTF = new IntegerTextField(ConnectionPrefs.Leaf2UpConnections.get().toString(), 2, 1); leaf2upConnectionsTF.setToolTipText(Localizer.getString("TTTToUltrapeers")); builder.add(leaf2upConnectionsTF, cc.xy(4, row)); refreshEnableState(); }
From source file:phex.gui.tabs.download.DownloadOverviewPanel.java
License:Open Source License
private JPanel buildInfoPanel() { JPanel subPanel = new JPanel(); CellConstraints cc = new CellConstraints(); FormLayout layout = new FormLayout( "d, 4dlu, right:d, " + "fill:8dlu:grow, d, 4dlu, right:d, " + "fill:8dlu:grow, d, 4dlu, right:d", // columns "p, 2dlu, p, 2dlu, p, 2dlu, p, 6dlu, p, 2dlu, p, 2dlu, p"); //rows layout.setColumnGroups(new int[][] { { 1, 5, 9 }, { 3, 7, 11 } }); PanelBuilder panelBuilder = new PanelBuilder(layout, subPanel); panelBuilder.addSeparator(Localizer.getString("DownloadOverview_Transfer"), cc.xywh(1, 1, layout.getColumnCount(), 1)); JLabel label = new JLabel(Localizer.getString("DownloadOverview_Downloaded")); panelBuilder.add(label, cc.xy(1, 3)); downloadedLabel = new JLabel(); panelBuilder.add(downloadedLabel, cc.xy(3, 3)); label = new JLabel(Localizer.getString("DownloadOverview_Remaining")); panelBuilder.add(label, cc.xy(5, 3)); remainingLabel = new JLabel(); panelBuilder.add(remainingLabel, cc.xy(7, 3)); label = new JLabel(Localizer.getString("DownloadOverview_DownloadRate")); panelBuilder.add(label, cc.xy(9, 3)); downloadRateLabel = new JLabel(); panelBuilder.add(downloadRateLabel, cc.xy(11, 3)); label = new JLabel(Localizer.getString("DownloadOverview_FileSize")); panelBuilder.add(label, cc.xy(1, 5)); totalSizeLabel = new JLabel(); panelBuilder.add(totalSizeLabel, cc.xy(3, 5)); label = new JLabel(Localizer.getString("DownloadOverview_EstimatedTime")); panelBuilder.add(label, cc.xy(5, 5)); etaLabel = new JLabel(); panelBuilder.add(etaLabel, cc.xy(7, 5)); label = new JLabel(Localizer.getString("DownloadOverview_MaximalRate")); panelBuilder.add(label, cc.xy(9, 5)); maxRateLabel = new JLabel(); panelBuilder.add(maxRateLabel, cc.xy(11, 5)); label = new JLabel(Localizer.getString("DownloadOverview_LastDownloaded")); panelBuilder.add(label, cc.xy(1, 7)); lastDownloadedLabel = new JLabel(); panelBuilder.add(lastDownloadedLabel, cc.xy(3, 7)); label = new JLabel(Localizer.getString("DownloadOverview_Created")); panelBuilder.add(label, cc.xy(9, 7)); createdLabel = new JLabel(); panelBuilder.add(createdLabel, cc.xy(11, 7)); panelBuilder.addSeparator(Localizer.getString("DownloadOverview_Candidates"), cc.xywh(1, 9, 11, 1)); label = new JLabel(Localizer.getString("DownloadOverview_DownloadingCandidates")); panelBuilder.add(label, cc.xy(1, 11)); downloadingCandidatesLabel = new JLabel(); panelBuilder.add(downloadingCandidatesLabel, cc.xy(3, 11)); label = new JLabel(Localizer.getString("DownloadOverview_QueuedCandidates")); panelBuilder.add(label, cc.xy(5, 11)); queuedCandidatesLabel = new JLabel(); panelBuilder.add(queuedCandidatesLabel, cc.xy(7, 11)); label = new JLabel(Localizer.getString("DownloadOverview_ConnectingCandidates")); panelBuilder.add(label, cc.xy(9, 11)); connectingCandidatesLabel = new JLabel(); panelBuilder.add(connectingCandidatesLabel, cc.xy(11, 11)); label = new JLabel(Localizer.getString("DownloadOverview_GoodCandidates")); panelBuilder.add(label, cc.xy(1, 13)); goodCandidatesLabel = new JLabel(); panelBuilder.add(goodCandidatesLabel, cc.xy(3, 13)); label = new JLabel(Localizer.getString("DownloadOverview_BadCandidates")); panelBuilder.add(label, cc.xy(5, 13)); badCandidatesLabel = new JLabel(); panelBuilder.add(badCandidatesLabel, cc.xy(7, 13)); label = new JLabel(Localizer.getString("DownloadOverview_TotalCandidates")); panelBuilder.add(label, cc.xy(9, 13)); totalCandidatesLabel = new JLabel(); panelBuilder.add(totalCandidatesLabel, cc.xy(11, 13)); return subPanel; }
From source file:phex.gui.tabs.network.NetworkTab.java
License:Open Source License
public void initComponent(DGuiSettings guiSettings) { CellConstraints cc = new CellConstraints(); FormLayout layout = new FormLayout("2dlu, fill:d:grow, 2dlu", // columns "2dlu, fill:d:grow, 4dlu, d, 2dlu"); //rows PanelBuilder contentBuilder = new PanelBuilder(layout, this); //JPanel upperPanel = new FormDebugPanel(); JPanel upperPanel = new JPanel(); FWElegantPanel upperElegantPanel = new FWElegantPanel(Localizer.getString("Connections"), upperPanel); layout = new FormLayout("0dlu, d, 2dlu, d, 10dlu:grow, d, 2dlu, d, 2dlu, d, 0dlu", // columns "fill:d:grow, 3dlu, p"); //rows PanelBuilder upperBuilder = new PanelBuilder(layout, upperPanel); networkModel = new NetworkTableModel(hostMgr.getNetworkHostsContainer()); networkTable = new FWTable(new FWSortedTableModel(networkModel)); GUIUtils.updateTableFromDGuiSettings(guiSettings, networkTable, NETWORK_TABLE_IDENTIFIER); // TODO3 try for a improced table sorting strategy. //((FWSortedTableModel)networkTable.getModel()).setTable( networkTable ); networkTable.activateAllHeaderActions(); networkTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); networkTable.getSelectionModel().addListSelectionListener(new SelectionHandler()); MouseHandler mouseHandler = new MouseHandler(); networkTable.addMouseListener(mouseHandler); GUIRegistry.getInstance().getGuiUpdateTimer().addTable(networkTable); networkTableScrollPane = FWTable.createFWTableScrollPane(networkTable); networkTableScrollPane.addMouseListener(mouseHandler); upperBuilder.add(networkTableScrollPane, cc.xywh(2, 1, 9, 1)); JLabel label = new JLabel(Localizer.getString("NetworkTab_MyAddress")); upperBuilder.add(label, cc.xy(2, 3)); myIPLabel = new JLabel(""); myIPLabel.addMouseListener(new MouseAdapter() { @Override/*w w w . ja va2 s. c o m*/ public void mouseReleased(MouseEvent e) { if (e.isPopupTrigger()) { popupMenu((Component) e.getSource(), e.getX(), e.getY()); } } @Override public void mousePressed(MouseEvent e) { if (e.isPopupTrigger()) { popupMenu((Component) e.getSource(), e.getX(), e.getY()); } } private void popupMenu(Component source, int x, int y) { JPopupMenu menu = new JPopupMenu(); menu.add(new CopyMyIpAction()); menu.show(source, x, y); } }); upperBuilder.add(myIPLabel, cc.xy(4, 3)); label = new JLabel(Localizer.getString("ConnectTo") + Localizer.getChar("ColonSign")); upperBuilder.add(label, cc.xy(6, 3)); // TODO2 add connection and disconnect network buttons to ConnectTo status line // because it is not available from toolbar anymore... ConnectToHostHandler connectToHostHandler = new ConnectToHostHandler(); connectToComboModel = new DefaultComboBoxModel(NetworkTabPrefs.ConnectToHistory.get().toArray()); connectToComboBox = new JComboBox(connectToComboModel); connectToComboBox.setEditable(true); JTextField editor = ((JTextField) connectToComboBox.getEditor().getEditorComponent()); Keymap keymap = JTextField.addKeymap("ConnectToEditor", editor.getKeymap()); editor.setKeymap(keymap); keymap.addActionForKeyStroke(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), connectToHostHandler); GUIUtils.assignKeymapToComboBoxEditor(keymap, connectToComboBox); connectToComboBox.setSelectedItem(""); connectToComboBox.setPrototypeDisplayValue("123.123.123.123:12345"); upperBuilder.add(connectToComboBox, cc.xy(8, 3)); JButton connectHostButton = new JButton(Localizer.getString("Connect")); connectHostButton.addActionListener(connectToHostHandler); upperBuilder.add(connectHostButton, cc.xy(10, 3)); /////////////////////////// Lower Panel //////////////////////////////// JPanel lowerPanel = new JPanel(); //JPanel lowerPanel = new FormDebugPanel(); layout = new FormLayout("d, fill:10dlu:grow, d", // columns "top:p"); //rows layout.setColumnGroups(new int[][] { { 1, 3 } }); PanelBuilder lowerBuilder = new PanelBuilder(layout, lowerPanel); NetFavoritesPanel favoritesPanel = new NetFavoritesPanel(hostMgr.getFavoritesContainer()); lowerBuilder.add(favoritesPanel, cc.xy(1, 1)); JPanel cacheStatusPanel = new JPanel(); //JPanel cacheStatusPanel = new FormDebugPanel(); layout = new FormLayout("8dlu, right:d, 2dlu, right:d, 2dlu, d, 2dlu:grow, 8dlu", // columns "p, 3dlu, p, 3dlu, p, 3dlu, bottom:p:grow"); //rows PanelBuilder cacheStatusBuilder = new PanelBuilder(layout, cacheStatusPanel); lowerBuilder.add(cacheStatusPanel, cc.xy(3, 1)); cacheStatusBuilder.addSeparator(Localizer.getString("NetworkTab_ConnectionInfo"), cc.xywh(1, 1, 8, 1)); cacheStatusBuilder.addLabel(Localizer.getString("NetworkTab_HostCacheContains"), cc.xy(2, 3)); catcherStatLabel = new JLabel(); cacheStatusBuilder.add(catcherStatLabel, cc.xy(4, 3)); cacheStatusBuilder.addLabel(Localizer.getString("NetworkTab_Hosts"), cc.xy(6, 3)); //Node status information cacheStatusBuilder.addLabel(Localizer.getString("NetworkTab_NodeStatus"), cc.xy(2, 7)); nodeStatusLabel = new JLabel(); if (servent.isUltrapeer()) { String text2 = Localizer.getString("NetworkTab_UltraPeer"); nodeStatusLabel.setText(text2); cacheStatusBuilder.add(nodeStatusLabel, cc.xy(4, 7)); } else { String text2 = Localizer.getString("NetworkTab_LeafMode"); nodeStatusLabel.setText(text2); cacheStatusBuilder.add(nodeStatusLabel, cc.xy(4, 7)); } //cacheStatusBuilder.addLabel( Localizer.getString( "NetworkTab_GWebCacheContains" ), // cc.xy( 2, 5 ) ); //gWebCacheStatLabel = new JLabel( ); //cacheStatusBuilder.add( gWebCacheStatLabel, cc.xy( 4, 5 ) ); //cacheStatusBuilder.addLabel( Localizer.getString( "NetworkTab_Caches" ), // cc.xy( 6, 5 ) ); //final JButton queryWebCache = new JButton( Localizer.getString( "QueryGWebCache" ) ); //queryWebCache.setToolTipText( Localizer.getString( "TTTQueryGWebCache" ) ); //queryWebCache.addActionListener( new ActionListener() // { // public void actionPerformed( ActionEvent e ) // { // queryWebCache.setEnabled( false ); // Runnable runner = new Runnable() // { // public void run() // { // try // { // gWebCacheCont.queryMoreHosts( false ); // gWebCacheCont.queryMoreGWebCaches( false ); // } // catch ( Throwable th ) // { // NLogger.error( NLoggerNames.GLOBAL, th, th ); // } // finally // { // queryWebCache.setEnabled( true ); // } // } // }; // Environment.getInstance().executeOnThreadPool( runner, // "UserGWebCacheQuery-" + Integer.toHexString(runner.hashCode()) ); // } // } ); //cacheStatusBuilder.add( queryWebCache, cc.xywh( 2, 7, 5, 1 ) ); // Workaround for very strange j2se 1.4 split pane layout behaivor /*Dimension nullDim = new Dimension( 0, 0 ); upperPanel.setMinimumSize( nullDim ); lowerPanel.setMinimumSize( nullDim ); Dimension dim = new Dimension( 400, 200 ); upperPanel.setPreferredSize( dim ); lowerPanel.setPreferredSize( dim ); JSplitPane splitPane = new JSplitPane( JSplitPane.VERTICAL_SPLIT, upperPanel, lowerPanel ); splitPane.setBorder( BorderFactory.createEmptyBorder( 4, 4, 4, 4) ); splitPane.setDividerSize( 4 ); splitPane.setOneTouchExpandable( false ); splitPane.setResizeWeight( 0.5 ); splitPane.setDividerLocation( 0.25 );*/ contentBuilder.add(upperElegantPanel, cc.xy(2, 2)); contentBuilder.add(lowerPanel, cc.xy(2, 4)); //add(BorderLayout.CENTER, upperPanel ); //add(BorderLayout.SOUTH, lowerPanel ); // Set up cell renderer to provide the correct color based on connection. networkRowRenderer = new NetworkRowRenderer(hostMgr.getNetworkHostsContainer()); List<TableColumn> colList = networkTable.getColumns(true); for (TableColumn column : colList) { column.setCellRenderer(networkRowRenderer); } // Setup popup menu... networkPopup = new FWPopupMenu(); FWAction action; action = new DisconnectHostAction(); addTabAction(DISCONNECT_HOST_ACTION_KEY, action); networkTable.getActionMap().put(DISCONNECT_HOST_ACTION_KEY, action); networkTable.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT) .put((KeyStroke) action.getValue(FWAction.ACCELERATOR_KEY), DISCONNECT_HOST_ACTION_KEY); networkPopup.addAction(action); networkPopup.addSeparator(); action = new AddToFavoritesAction(); addTabAction(ADD_TO_FAVORITES_ACTION_KEY, action); networkPopup.addAction(action); action = new BrowseHostAction(); addTabAction(BROWSE_HOST_ACTION_KEY, action); //networkToolbar.addAction( action ); networkPopup.addAction(action); action = new ChatToHostAction(); addTabAction(CHAT_TO_HOST_ACTION_KEY, action); //networkToolbar.addAction( action ); networkPopup.addAction(action); BanHostActionProvider banHostActionProvider = new BanHostActionProvider(); BanHostActionUtils.BanHostActionMenu bhActionMenu = BanHostActionUtils .createActionMenu(banHostActionProvider); networkPopup.add(bhActionMenu.menu); addTabActions(bhActionMenu.actions); networkPopup.addSeparator(); JMenu netMenu = new JMenu(Localizer.getString("Network")); netMenu.add(GUIRegistry.getInstance().getGlobalAction(GUIRegistry.CONNECT_NETWORK_ACTION)); netMenu.add(GUIRegistry.getInstance().getGlobalAction(GUIRegistry.DISCONNECT_NETWORK_ACTION)); /*netMenu.add( GUIRegistry.getInstance().getGlobalAction( GUIRegistry.JOIN_NETWORK_ACTION ) );*/ networkPopup.add(netMenu); updateAction = new UpdateAction(); updateIpLabel(GUIRegistry.getInstance().getServent().getLocalAddress()); }
From source file:phex.gui.tabs.search.filterpanel.QuickFilterPanel.java
License:Open Source License
/** * // www .ja va2s . c o m */ private void initializeComponent() { setOpaque(false); CellConstraints cc = new CellConstraints(); FormLayout layout = new FormLayout("6dlu, right:d, 2dlu, d, 2dlu, d, 8dlu, right:d, 2dlu, d, 2dlu, d, 6dlu", // columns "6dlu, p, 4dlu, p, 4dlu, p, 6dlu,"); // rows PanelBuilder panelBuilder = new PanelBuilder(layout, this); layout.setColumnGroups(new int[][] { { 2, 8 }, { 4, 10 }, { 6, 12 } }); JLabel label = panelBuilder.addLabel(Localizer.getString("SearchTab_WithTerms"), cc.xywh(2, 2, 1, 1)); label.setToolTipText(Localizer.getString("SearchTab_TTTWithTerms")); QuickFilterActivationHandler activationHandler = new QuickFilterActivationHandler(); withTermsTF = new JTextField(8); withTermsTF.addKeyListener(activationHandler); withTermsTF.setToolTipText(Localizer.getString("SearchTab_TTTWithTerms")); Keymap keymap = JTextField.addKeymap("SearchFilterTextEditor", withTermsTF.getKeymap()); withTermsTF.setKeymap(keymap); GUIUtils.assignKeymapToTextField(keymap, withTermsTF); panelBuilder.add(withTermsTF, cc.xywh(4, 2, 3, 1)); label = panelBuilder.addLabel(Localizer.getString("SearchTab_WithoutTerms"), cc.xywh(8, 2, 1, 1)); label.setToolTipText(Localizer.getString("SearchTab_TTTWithoutTerms")); withoutTermsTF = new JTextField(8); withoutTermsTF.addKeyListener(activationHandler); withoutTermsTF.setToolTipText(Localizer.getString("SearchTab_TTTWithoutTerms")); keymap = JTextField.addKeymap("SearchFilterTextEditor", withoutTermsTF.getKeymap()); withoutTermsTF.setKeymap(keymap); GUIUtils.assignKeymapToTextField(keymap, withoutTermsTF); panelBuilder.add(withoutTermsTF, cc.xywh(10, 2, 3, 1)); label = panelBuilder.addLabel(Localizer.getString("SearchTab_FileType"), cc.xywh(2, 4, 1, 1)); label.setToolTipText(Localizer.getString("SearchTab_TTTFileType")); mediaTypeComboBox = new JComboBox(MediaType.getAllMediaTypes()); mediaTypeComboBox.addItemListener(activationHandler); mediaTypeComboBox.setRenderer(new MediaTypeListRenderer()); panelBuilder.add(mediaTypeComboBox, cc.xywh(4, 4, 3, 1)); label = panelBuilder.addLabel(Localizer.getString("SearchTab_MinFileSize"), cc.xywh(2, 6, 1, 1)); label.setToolTipText(Localizer.getString("SearchTab_TTTMinFileSize")); minFileSizeTF = new IntegerTextField(9); minFileSizeTF.addKeyListener(activationHandler); minFileSizeTF.setToolTipText(Localizer.getString("SearchTab_TTTMinFileSize")); keymap = JTextField.getKeymap("SearchFilterTextEditor"); minFileSizeTF.setKeymap(keymap); GUIUtils.assignKeymapToTextField(keymap, minFileSizeTF); panelBuilder.add(minFileSizeTF, cc.xywh(4, 6, 1, 1)); minFileSizeUnitComboBox = new FWSizeDefComboBox(); minFileSizeUnitComboBox.addItemListener(activationHandler); minFileSizeUnitComboBox.setToolTipText(Localizer.getString("SearchTab_TTTMinFileSize")); panelBuilder.add(minFileSizeUnitComboBox, cc.xywh(6, 6, 1, 1)); label = panelBuilder.addLabel(Localizer.getString("SearchTab_MaxFileSize"), cc.xywh(8, 6, 1, 1)); label.setToolTipText(Localizer.getString("SearchTab_TTTMaxFileSize")); maxFileSizeTF = new IntegerTextField(9); maxFileSizeTF.addKeyListener(activationHandler); maxFileSizeTF.setToolTipText(Localizer.getString("SearchTab_TTTMaxFileSize")); keymap = JTextField.getKeymap("SearchFilterTextEditor"); maxFileSizeTF.setKeymap(keymap); GUIUtils.assignKeymapToTextField(keymap, maxFileSizeTF); panelBuilder.add(maxFileSizeTF, cc.xywh(10, 6, 1, 1)); maxFileSizeUnitComboBox = new FWSizeDefComboBox(); maxFileSizeUnitComboBox.addItemListener(activationHandler); maxFileSizeUnitComboBox.setToolTipText(Localizer.getString("SearchTab_TTTMaxFileSize")); panelBuilder.add(maxFileSizeUnitComboBox, cc.xywh(12, 6, 1, 1)); }
From source file:soundreminder.SoundReminder.java
License:Open Source License
public ActionMenu getButtonAction() { final ContextMenuAction openDialog = new ContextMenuAction( mLocalizer.msg("editSoundList", "Edit sound list"), createImageIcon("status", "audio-volume-high", 16)); openDialog.putValue(Plugin.BIG_ICON, createImageIcon("status", "audio-volume-high", 22)); openDialog.setActionListener(new ActionListener() { public void actionPerformed(final ActionEvent e) { final Window w = UiUtilities.getLastModalChildOf(getParentFrame()); JDialog temDlg = null; if (w instanceof JDialog) { temDlg = new JDialog((JDialog) w, true); } else { temDlg = new JDialog((JFrame) w, true); }/*from w w w .j a va 2 s . c o m*/ final JDialog exclusionListDlg = temDlg; exclusionListDlg.setTitle(mLocalizer.msg("title", "Sound reminder") + " - " + mLocalizer.msg("editSoundList", "Edit sound list")); UiUtilities.registerForClosing(new WindowClosingIf() { public void close() { exclusionListDlg.dispose(); } public JRootPane getRootPane() { return exclusionListDlg.getRootPane(); } }); final SoundTablePanel soundPanel = new SoundTablePanel(); final JButton ok = new JButton(Localizer.getLocalization(Localizer.I18N_OK)); ok.addActionListener(new ActionListener() { public void actionPerformed(final ActionEvent e) { soundPanel.saveSettings(); exclusionListDlg.dispose(); } }); final JButton cancel = new JButton(Localizer.getLocalization(Localizer.I18N_CANCEL)); cancel.addActionListener(new ActionListener() { public void actionPerformed(final ActionEvent e) { exclusionListDlg.dispose(); } }); final FormLayout layout = new FormLayout("0dlu:grow,default,3dlu,default", "fill:default:grow,2dlu,default,5dlu,default"); layout.setColumnGroups(new int[][] { { 2, 4 } }); final CellConstraints cc = new CellConstraints(); final PanelBuilder pb = new PanelBuilder(layout, (JPanel) exclusionListDlg.getContentPane()); pb.setDefaultDialogBorder(); pb.add(soundPanel, cc.xyw(1, 1, 4)); pb.addSeparator("", cc.xyw(1, 3, 4)); pb.add(ok, cc.xy(2, 5)); pb.add(cancel, cc.xy(4, 5)); layoutWindow("soundListDlg", exclusionListDlg, new Dimension(600, 450)); exclusionListDlg.setVisible(true); } }); return new ActionMenu(openDialog); }
From source file:tvbrowser.extras.favoritesplugin.wizards.WizardDlg.java
License:Open Source License
private JPanel createButtonPanel(int[] btns) { mDoneBtn = new JButton(mLocalizer.msg("done", "Done")); mDoneBtn.setEnabled(false);//from w w w. jav a 2s.c o m mCancelBtn = new JButton(Localizer.getLocalization(Localizer.I18N_CANCEL)); mCancelBtn.setEnabled(false); mNextBtn = new JButton(Localizer.getLocalization(Localizer.I18N_NEXT) + " >>"); mNextBtn.setEnabled(false); mBackBtn = new JButton("<< " + Localizer.getLocalization(Localizer.I18N_BACK)); mBackBtn.setEnabled(false); JPanel panel = new JPanel(new FormLayout("fill:pref:grow, pref, 3dlu, pref", "pref")); CellConstraints cc = new CellConstraints(); if (!mStep.isSingleStep()) { FormLayout layout = new FormLayout("pref, 3dlu, pref", "pref"); layout.setColumnGroups(new int[][] { { 1, 3 } }); JPanel nextpanel = new JPanel(layout); nextpanel.add(mBackBtn, cc.xy(1, 1)); nextpanel.add(mNextBtn, cc.xy(3, 1)); panel.add(nextpanel, cc.xy(2, 1)); } ButtonBarBuilder2 builder = new ButtonBarBuilder2(); builder.addButton(mDoneBtn); builder.addRelatedGap(); builder.addFixed(mCancelBtn); panel.add(builder.getPanel(), cc.xy(4, 1)); for (int btn : btns) { if (btn == WizardStep.BUTTON_DONE) { mDoneBtn.setEnabled(true); } else if (btn == WizardStep.BUTTON_BACK) { mBackBtn.setEnabled(true); } else if (btn == WizardStep.BUTTON_NEXT) { mNextBtn.setEnabled(true); } else if (btn == WizardStep.BUTTON_CANCEL) { mCancelBtn.setEnabled(true); } } mDoneBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (mStep.isValid()) { mDataObject = mStep.createDataObject(mDataObject); close(FINISH); } } }); mCancelBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { close(); } }); mNextBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (mStep.isValid()) { mDataObject = mStep.createDataObject(mDataObject); switchToStep(mStep.next()); } } }); mBackBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { switchToStep(mStep.back()); } }); if (mNextBtn.isEnabled() && !mStep.isSingleStep()) { getRootPane().setDefaultButton(mNextBtn); } else { getRootPane().setDefaultButton(mDoneBtn); } AbstractAction a = new AbstractAction() { public void actionPerformed(ActionEvent e) { if (mBackBtn.isEnabled()) { mBackBtn.dispatchEvent( new KeyEvent(mBackBtn, KeyEvent.KEY_PRESSED, 0, 0, KeyEvent.VK_SPACE, ' ')); mBackBtn.dispatchEvent( new KeyEvent(mBackBtn, KeyEvent.KEY_RELEASED, 0, 0, KeyEvent.VK_SPACE, ' ')); } } }; KeyStroke stroke = KeyStroke.getKeyStroke(KeyEvent.VK_BACK_SPACE, 0); getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(stroke, "BACK"); getRootPane().getActionMap().put("BACK", a); stroke = KeyStroke.getKeyStroke(KeyEvent.VK_BACK_SPACE, InputEvent.ALT_MASK); getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(stroke, "BACK"); getRootPane().getActionMap().put("BACK", a); return panel; }
From source file:tvbrowser.extras.reminderplugin.ReminderSettingsTab.java
License:Open Source License
/** * Creates the settings panel for this tab. *//*from w w w. j a va 2 s. com*/ public JPanel createSettingsPanel() { FormLayout layout = new FormLayout("5dlu,pref,5dlu,pref,pref:grow,3dlu,pref,3dlu,pref,5dlu", "pref,5dlu,pref,1dlu,pref,1dlu,pref,1dlu,pref,10dlu,pref,5dlu," + "pref,10dlu,pref,5dlu,pref,10dlu,pref,5dlu,pref,10dlu," + "pref,5dlu,pref,3dlu,pref,10dlu,pref,5dlu,pref"); layout.setColumnGroups(new int[][] { { 7, 9 } }); PanelBuilder pb = new PanelBuilder(layout, new ScrollableJPanel()); pb.setDefaultDialogBorder(); CellConstraints cc = new CellConstraints(); final String[] extArr = { ".wav", ".aif", ".rmf", ".au", ".mid" }; String soundFName = mSettings.getProperty("soundfile", "/"); String msg = mLocalizer.msg("soundFileFilter", "Sound file ({0})", "*.wav, *.aif, *.rmf, *.au, *.mid"); mReminderWindowChB = new JCheckBox(mLocalizer.msg("reminderWindow", "Reminder window"), mSettings.getProperty("usemsgbox", "false").equalsIgnoreCase("true")); mShowAlwaysOnTop = new JCheckBox(mLocalizer.msg("alwaysOnTop", "Show always on top"), mSettings.getProperty("alwaysOnTop", "true").equalsIgnoreCase("true")); mShowAlwaysOnTop.setEnabled(mReminderWindowChB.isSelected()); JPanel reminderWindowCfg = new JPanel(new FormLayout("12dlu,default:grow", "pref,1dlu,pref")); reminderWindowCfg.add(mReminderWindowChB, cc.xyw(1, 1, 2)); reminderWindowCfg.add(mShowAlwaysOnTop, cc.xy(2, 3)); mSoundFileChB = new FileCheckBox(mLocalizer.msg("playlingSound", "Play sound"), new File(soundFName), 0, false); JFileChooser soundChooser = new JFileChooser((String) null); soundChooser.setFileFilter(new ExtensionFileFilter(extArr, msg)); mSoundFileChB.setFileChooser(soundChooser); mSoundFileChB.setSelected(mSettings.getProperty("usesound", "false").equals("true")); mBeep = new JCheckBox(mLocalizer.msg("beep", "Speaker sound"), mSettings.getProperty("usebeep", "true").equalsIgnoreCase("true")); mExecFileStr = mSettings.getProperty("execfile", ""); mExecParamStr = mSettings.getProperty("execparam", ""); final JButton soundTestBt = new JButton(mLocalizer.msg("test", "Test")); mExecChB = new JCheckBox(mLocalizer.msg("executeProgram", "Execute program")); mExecChB.setSelected(mSettings.getProperty("useexec", "false").equals("true")); mExecFileDialogBtn = new JButton(mLocalizer.msg("executeConfig", "Configure")); mExecFileDialogBtn.setEnabled(mExecChB.isSelected()); mPluginLabel = new JLabel(); JButton choose = new JButton(mLocalizer.msg("selectPlugins", "Choose Plugins")); mClientPluginTargets = ReminderPlugin.getInstance().getClientPluginsTargets(); handlePluginSelection(); choose.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { try { Window parent = UiUtilities.getLastModalChildOf(MainFrame.getInstance()); PluginChooserDlg chooser = null; chooser = new PluginChooserDlg(parent, mClientPluginTargets, null, ReminderPluginProxy.getInstance()); chooser.setLocationRelativeTo(parent); chooser.setVisible(true); if (chooser.getReceiveTargets() != null) { mClientPluginTargets = chooser.getReceiveTargets(); } handlePluginSelection(); } catch (Exception ee) { ee.printStackTrace(); } } }); int autoCloseReminderTime = 10; try { String asString = mSettings.getProperty("autoCloseReminderTime", "10"); autoCloseReminderTime = Integer.parseInt(asString); if (autoCloseReminderTime == 0) { autoCloseReminderTime = 10; } } catch (Exception exc) { // ignore } mCloseOnEnd = new JRadioButton(mLocalizer.msg("autoCloseReminderAtProgramEnd", "Program end"), mSettings.getProperty("autoCloseBehaviour", "onEnd").equals("onEnd")); mCloseOnEnd.setEnabled(mReminderWindowChB.isSelected()); mCloseNever = new JRadioButton(mLocalizer.msg("autoCloseNever", "Never close"), mSettings.getProperty("autoCloseBehaviour", "onEnd").equals("never")); mCloseNever.setEnabled(mReminderWindowChB.isSelected()); mCloseOnTime = new JRadioButton(mLocalizer.ellipsisMsg("autoCloseAfterTime", "After time"), mSettings.getProperty("autoCloseBehaviour", "onEnd").equals("onTime")); mCloseOnTime.setEnabled(mReminderWindowChB.isSelected()); ButtonGroup bg = new ButtonGroup(); bg.add(mCloseOnEnd); bg.add(mCloseNever); bg.add(mCloseOnTime); mAutoCloseReminderTimeSp = new JSpinner( new SpinnerNumberModel(autoCloseReminderTime, autoCloseReminderTime < 5 ? 1 : 5, 600, 1)); mAutoCloseReminderTimeSp.setEnabled(mCloseOnTime.isSelected() && mReminderWindowChB.isSelected()); mShowTimeCounter = new JCheckBox(mLocalizer.msg("showTimeCounter", "Show time counter"), mSettings.getProperty("showTimeCounter", "false").compareTo("true") == 0); mShowTimeCounter.setEnabled(!mCloseNever.isSelected() && mReminderWindowChB.isSelected()); PanelBuilder autoClosePanel = new PanelBuilder( new FormLayout("12dlu,default,2dlu,default:grow", "pref,2dlu,pref,2dlu,pref,2dlu,pref,10dlu,pref")); autoClosePanel.add(mCloseOnEnd, cc.xyw(1, 1, 4)); autoClosePanel.add(mCloseNever, cc.xyw(1, 3, 4)); autoClosePanel.add(mCloseOnTime, cc.xyw(1, 5, 4)); autoClosePanel.add(mAutoCloseReminderTimeSp, cc.xy(2, 7)); final JLabel secondsLabel = autoClosePanel.addLabel(mLocalizer.msg("seconds", "seconds (0 = off)"), cc.xy(4, 7)); autoClosePanel.add(mShowTimeCounter, cc.xyw(1, 9, 4)); secondsLabel.setEnabled(mCloseOnTime.isSelected() && mReminderWindowChB.isSelected()); String defaultReminderEntryStr = (String) mSettings.get("defaultReminderEntry"); mDefaultReminderEntryList = new JComboBox(ReminderDialog.SMALL_REMIND_MSG_ARR); if (defaultReminderEntryStr != null) { try { int inx = Integer.parseInt(defaultReminderEntryStr); if (inx < ReminderDialog.SMALL_REMIND_MSG_ARR.length) { mDefaultReminderEntryList.setSelectedIndex(inx); } } catch (NumberFormatException e) { // ignore } } mShowTimeSelectionDlg = new JCheckBox( mLocalizer.msg("showTimeSelectionDialog", "Show time selection dialog")); mShowTimeSelectionDlg .setSelected(mSettings.getProperty("showTimeSelectionDialog", "true").compareTo("true") == 0); mShowRemovedDlg = new JCheckBox( mLocalizer.msg("showRemovedDialog", "Show removed reminders after data update")); mShowRemovedDlg.setSelected(mSettings.getProperty("showRemovedDialog", "true").compareTo("true") == 0); pb.addSeparator(mLocalizer.msg("remindBy", "Remind me by"), cc.xyw(1, 1, 10)); pb.add(reminderWindowCfg, cc.xyw(2, 3, 4)); pb.add(mSoundFileChB, cc.xyw(2, 5, 4)); pb.add(mSoundFileChB.getButton(), cc.xy(7, 5)); pb.add(soundTestBt, cc.xy(9, 5)); pb.add(mBeep, cc.xy(2, 7)); pb.add(mExecChB, cc.xyw(2, 9, 4)); pb.add(mExecFileDialogBtn, cc.xyw(7, 9, 3)); pb.addSeparator(mLocalizer.msg("sendToPlugin", "Send reminded program to"), cc.xyw(1, 11, 10)); pb.add(mPluginLabel, cc.xyw(2, 13, 4)); pb.add(choose, cc.xyw(7, 13, 3)); final JLabel c = (JLabel) pb .addSeparator(mLocalizer.msg("autoCloseReminder", "Automatically close reminder"), cc.xyw(1, 15, 10)) .getComponent(0); c.setEnabled(mReminderWindowChB.isSelected()); pb.add(autoClosePanel.getPanel(), cc.xyw(2, 17, 5)); JPanel reminderEntry = new JPanel(new FlowLayout(FlowLayout.LEADING, 0, 0)); reminderEntry.add(mDefaultReminderEntryList); pb.addSeparator(mLocalizer.msg("defaltReminderEntry", "Default reminder time"), cc.xyw(1, 19, 10)); pb.add(reminderEntry, cc.xyw(2, 21, 4)); pb.addSeparator(mLocalizer.msg("miscSettings", "Misc settings"), cc.xyw(1, 23, 10)); pb.add(mShowTimeSelectionDlg, cc.xyw(2, 25, 7)); pb.add(mShowRemovedDlg, cc.xyw(2, 27, 7)); pb.addSeparator(DefaultMarkingPrioritySelectionPanel.getTitle(), cc.xyw(1, 29, 10)); pb.add(mMarkingsPanel = DefaultMarkingPrioritySelectionPanel .createPanel(ReminderPlugin.getInstance().getMarkPriority(), false, false), cc.xyw(2, 31, 9)); mReminderWindowChB.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { mShowAlwaysOnTop.setEnabled(e.getStateChange() == ItemEvent.SELECTED); c.setEnabled(e.getStateChange() == ItemEvent.SELECTED); secondsLabel.setEnabled(e.getStateChange() == ItemEvent.SELECTED && mCloseOnTime.isSelected()); mCloseOnEnd.setEnabled(e.getStateChange() == ItemEvent.SELECTED); mCloseNever.setEnabled(e.getStateChange() == ItemEvent.SELECTED); mCloseOnTime.setEnabled(e.getStateChange() == ItemEvent.SELECTED); mShowTimeCounter.setEnabled(e.getStateChange() == ItemEvent.SELECTED && !mCloseNever.isSelected()); mAutoCloseReminderTimeSp .setEnabled(e.getStateChange() == ItemEvent.SELECTED && mCloseOnTime.isSelected()); } }); soundTestBt.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { if (evt.getActionCommand().compareTo(mLocalizer.msg("test", "Test")) == 0) { mTestSound = ReminderPlugin.playSound(mSoundFileChB.getTextField().getText()); if (mTestSound != null) { soundTestBt.setText(mLocalizer.msg("stop", "Stop")); } if (mTestSound != null) { if (mTestSound instanceof SourceDataLine) { ((SourceDataLine) mTestSound).addLineListener(new LineListener() { public void update(LineEvent event) { if (event.getType() == Type.CLOSE) { soundTestBt.setText(mLocalizer.msg("test", "Test")); } } }); } else if (mTestSound instanceof Sequencer) { new Thread("Test MIDI sound") { public void run() { setPriority(Thread.MIN_PRIORITY); while (((Sequencer) mTestSound).isRunning()) { try { Thread.sleep(100); } catch (Exception ee) { } } soundTestBt.setText(mLocalizer.msg("test", "Test")); } }.start(); } } } else if (mTestSound != null) { if (mTestSound instanceof SourceDataLine && ((SourceDataLine) mTestSound).isRunning()) { ((SourceDataLine) mTestSound).stop(); } else if (mTestSound instanceof Sequencer && ((Sequencer) mTestSound).isRunning()) { ((Sequencer) mTestSound).stop(); } } } }); mSoundFileChB.getCheckBox().addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { soundTestBt.setEnabled(mSoundFileChB.isSelected()); } }); mSoundFileChB.getTextField().addKeyListener(new KeyAdapter() { public void keyReleased(KeyEvent e) { String text = mSoundFileChB.getTextField().getText(); if ((new File(text)).isFile()) { boolean notFound = true; for (String extension : extArr) { if (text.toLowerCase().endsWith(extension)) { notFound = false; break; } } if (notFound) { soundTestBt.setEnabled(false); } else { soundTestBt.setEnabled(true); } } else { soundTestBt.setEnabled(false); } } }); mSoundFileChB.getTextField().getKeyListeners()[0].keyReleased(null); mExecChB.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { mExecFileDialogBtn.setEnabled(mExecChB.isSelected()); if (mExecFileDialogBtn.isEnabled()) { showFileSettingsDialog(); } } }); mExecFileDialogBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { showFileSettingsDialog(); } }); ItemListener autoCloseListener = new ItemListener() { public void itemStateChanged(ItemEvent e) { mAutoCloseReminderTimeSp.setEnabled(mCloseOnTime.isSelected()); secondsLabel.setEnabled(mCloseOnTime.isSelected()); mShowTimeCounter.setEnabled(mCloseOnTime.isSelected() || mCloseOnEnd.isSelected()); } }; mCloseOnEnd.addItemListener(autoCloseListener); mCloseOnTime.addItemListener(autoCloseListener); mCloseOnTime.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { mShowTimeCounter.setEnabled(e.getStateChange() == ItemEvent.SELECTED); } }); JScrollPane scrollPane = new JScrollPane(pb.getPanel()); scrollPane.setBorder(null); scrollPane.setViewportBorder(null); JPanel scrollPanel = new JPanel(new FormLayout("default:grow", "default")); scrollPanel.add(scrollPane, cc.xy(1, 1)); return scrollPanel; }