Java Code Examples for javax.swing.JLayer

The following examples show how to use javax.swing.JLayer. These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
/**
 * Creates a {@link CardCellRenderer} that is used by lists containing {@link Card}s.
 */
public CardCellRenderer() {
	setVerticalTextPosition(SwingConstants.BOTTOM);
	setHorizontalTextPosition(SwingConstants.CENTER);
	setHorizontalAlignment(CENTER);
	setOpaque(false);
	layer = new JLayer<>(this, new CardLayerUI());
}
 
Example 2
Source Project: mars-sim   Source File: LoadingPanel.java    License: GNU General Public License v3.0 5 votes vote down vote up
public LoadingPanel() {
	JPanel panel = new JPanel() {

		@Override
		public Dimension getPreferredSize() {
			return new Dimension(400, 300);
		}
	};
	JLayer<JPanel> jlayer = new JLayer<>(panel, layerUI);
	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	frame.add(jlayer);
	frame.pack();
	frame.setVisible(true);
	layerUI.start();
}
 
Example 3
Source Project: mars-sim   Source File: SpotlightLayerUI.java    License: GNU General Public License v3.0 5 votes vote down vote up
@Override
public void installUI(JComponent c) {
  super.installUI(c);

  JLayer<?> jlayer = (JLayer<?>)c;
  jlayer.setLayerEventMask(
    AWTEvent.MOUSE_EVENT_MASK |
    AWTEvent.MOUSE_MOTION_EVENT_MASK
  );


}
 
Example 4
Source Project: mars-sim   Source File: SpotlightLayerUI.java    License: GNU General Public License v3.0 5 votes vote down vote up
@Override
protected void processMouseMotionEvent(MouseEvent e, JLayer l) {
  Point p = SwingUtilities.convertPoint(e.getComponent(), e.getPoint(), l);
  mX = p.x;
  mY = p.y;
  l.repaint();
}
 
Example 5
Source Project: mars-sim   Source File: WaitLayerUI.java    License: GNU General Public License v3.0 5 votes vote down vote up
@Override public void installUI(JComponent c) {
  super.installUI(c);
  ((JLayer)c).setLayerEventMask(
    AWTEvent.MOUSE_EVENT_MASK | AWTEvent.MOUSE_MOTION_EVENT_MASK |
    AWTEvent.MOUSE_WHEEL_EVENT_MASK | AWTEvent.KEY_EVENT_MASK |
    AWTEvent.FOCUS_EVENT_MASK | AWTEvent.COMPONENT_EVENT_MASK);
}
 
Example 6
@Override
public void paint(Graphics g, JComponent c)
{
	super.paint(g, c);

	JLayer<?> jlayer = (JLayer<?>) c;

	JFormattedTextField jFormattedTextField = (JFormattedTextField) jlayer
			.getView();
	if (jFormattedTextField.getFormatterFactory() != null
			&& !jFormattedTextField.isEditValid())
	{
		Graphics2D g2 = (Graphics2D) g.create();

		// Paint a red X
		g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
				RenderingHints.VALUE_ANTIALIAS_ON);
		int w = c.getWidth();
		int h = c.getHeight();
		// int pad = 4;
		int s = 10;
		int pad = 10;
		int x = w - pad - s;
		int y = (h - s) / 2;
		ImageIcon icon = IconBuilder
				.build(frame.getMessenger().getConfig(),
						IconBuilder.INVALID_FIELD);
		g2.drawImage(icon.getImage(), x, y, null);
		g2.dispose();
	}
}
 
Example 7
public ProductSceneViewTopComponent(ProductSceneView view, UndoRedo undoRedo) {
        super(view.getRaster());
        this.view = view;
        this.undoRedo = undoRedo != null ? undoRedo : UndoRedo.NONE;
        this.nodeRenameHandler = new NodeRenameHandler();
        this.selection = Selection.EMPTY;
        setToolTipText(view.getRaster().getDescription());
        setIcon(ImageUtilities.loadImage("org/esa/snap/rcp/icons/RsBandAsSwath.gif"));
        updateDisplayName();
        setName(getDisplayName());
/*
        // checkme - this is ugly and not wanted (nf), the node will either passed in or we'll have
        // a central node factory, e.g. via an ExtensionObject
        Node node = null;
        try {
            if (raster instanceof Mask) {
                node = new MNode((Mask) raster, undoRedo);
            } else if (raster instanceof Band) {
                node = new BNode((Band) raster, undoRedo);
            } else if (raster instanceof TiePointGrid) {
                node = new TPGNode((TiePointGrid) raster, undoRedo);
            }
        } catch (IntrospectionException e) {
            Exceptions.printStackTrace(e);
        }
        if (node != null) {
            setActivatedNodes(new Node[]{node});
        }
*/
        setLayout(new BorderLayout());
        add(new JLayer<>(this.view, new ProductSceneViewLayerUI()), BorderLayout.CENTER);
    }
 
Example 8
Source Project: FlatLaf   Source File: FlatThemeEditorPane.java    License: Apache License 2.0 4 votes vote down vote up
FlatThemeEditorPane() {
		super( new BorderLayout() );

		// register FlatLaf token maker
		AbstractTokenMakerFactory tmf = (AbstractTokenMakerFactory) TokenMakerFactory.getDefaultInstance();
		tmf.putMapping( FLATLAF_STYLE, FlatThemeTokenMaker.class.getName() );

		// create text area
		textArea = new FlatSyntaxTextArea();
		textArea.setSyntaxEditingStyle( FLATLAF_STYLE );
		textArea.setMarkOccurrences( true );
		textArea.addParser( new FlatThemeParser() );
//		textArea.setUseColorOfColorTokens( true );

		// theme
		try {
			Theme theme = Theme.load( getClass().getResourceAsStream( "light.xml" ) );
			theme.apply( textArea );
		} catch( IOException ex ) {
			ex.printStackTrace();
		}

		// use semitransparent token background because token background
		// is painted over mark occurrences background
		SyntaxScheme scheme = textArea.getSyntaxScheme();
		scheme.getStyle( FlatThemeTokenMaker.TOKEN_COLOR ).background = new Color( 0x0a000000, true );
		scheme.getStyle( FlatThemeTokenMaker.TOKEN_VARIABLE ).background = new Color( 0x1800cc00, true );

		// create overlay layer
		JLayer<FlatSyntaxTextArea> overlay = new JLayer<>( textArea, new FlatThemeEditorOverlay() );

		// create scroll pane
		scrollPane = new RTextScrollPane( overlay );
		scrollPane.setLineNumbersEnabled( true );

		// scale fonts
		if( UIScale.getUserScaleFactor() != 1 )
			textArea.setFont( scaleFont( textArea.getFont() ) );

		// use same font for line numbers as in editor
		scrollPane.getGutter().setLineNumberFont( textArea.getFont() );

		add( scrollPane, BorderLayout.CENTER );
	}
 
Example 9
Source Project: netbeans   Source File: HtmlPreviewElement.java    License: Apache License 2.0 4 votes vote down vote up
@Override
protected void processMouseEvent( MouseEvent e, JLayer<? extends JPanel> panel ) {
    super.processMouseEvent( e, panel );
    if( e.getButton() == MouseEvent.BUTTON1 )
        e.consume();
}
 
Example 10
/**
 * Initializes the GUI.
 */
private void initGUI() {
	realOuterPanel = new JPanel(new BorderLayout());

	outerLayer = new JLayer<JPanel>(realOuterPanel);
	savingGlassPane = new TransparentGlassPanePanel(WAITING_ICON,
			I18N.getGUILabel("configurable_dialog.saving_configurables"), getBackground(), 0.5f);
	outerLayer.setGlassPane(savingGlassPane);
	savingGlassPane.setVisible(false);

	JPanel pagePanel = new JPanel(new BorderLayout());

	// list of configurables
	JPanel configPanel = createConfigPanel();
	// force size so it does not resize itself depending on entered values
	configPanel.setMinimumSize(CONFIG_LIST_SIZE);
	configPanel.setMaximumSize(CONFIG_LIST_SIZE);
	configPanel.setPreferredSize(CONFIG_LIST_SIZE);
	buttonPanel = createConfigurableButtonPanel();
	// create middle spacer
	JLabel spacer = new JLabel();
	spacer.setMinimumSize(DIMENSION_SPACER_MIDDLE);
	spacer.setMaximumSize(DIMENSION_SPACER_MIDDLE);
	spacer.setPreferredSize(DIMENSION_SPACER_MIDDLE);
	// add both to an outer panel for layout reasons
	JPanel outerConfigPanel = new JPanel(new BorderLayout());
	outerConfigPanel.setBorder(BorderFactory.createMatteBorder(0, 1, 1, 1, Color.LIGHT_GRAY));
	outerConfigPanel.add(configPanel, BorderLayout.CENTER);
	outerConfigPanel.add(buttonPanel, BorderLayout.SOUTH);
	// another panel for layouting
	JPanel outermostConfigPanel = new JPanel(new BorderLayout());
	outermostConfigPanel.add(outerConfigPanel, BorderLayout.CENTER);
	outermostConfigPanel.add(spacer, BorderLayout.EAST);

	// glass pane showed if the user is not able to edit connections due to an old version of
	// the server
	simpleGlassPane = new TransparentGlassPanePanel(null, null, getBackground(), 0.5f);

	// panel displaying the selected configurable
	JPanel paramPanel = createParameterPanel();

	GridBagConstraints c = new GridBagConstraints();
	c.fill = GridBagConstraints.BOTH;
	c.weightx = 1;
	c.weighty = 0.3;
	c.gridwidth = GridBagConstraints.REMAINDER;

	// add panels to page panel
	pagePanel.add(outermostConfigPanel, BorderLayout.WEST);
	pagePanel.add(paramPanel, BorderLayout.CENTER);

	// add page and button panel to outer panel
	realOuterPanel.add(pagePanel, BorderLayout.CENTER);

	layoutDefault(outerLayer, makeSaveButton(), makeCancel());
	new DeprecationWarning("manage_configurables").addToDialog(this);
	setDefaultSize(ButtonDialog.HUGE);
	setLocationRelativeTo(ApplicationFrame.getApplicationFrame());
	setModal(true);
	setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
	addWindowListener(new WindowAdapter() {

		@Override
		public void windowClosing(WindowEvent e) {
			cancelButton.doClick();
		}
	});

	updateButtonState(true);
}
 
Example 11
/**
 * Updates the parameter panel for the selected {@link Configurable}.
 */
private void updateParameterPanel(Configurable config) {
	parameterPanel.removeAll();

	// save previously edited parameters
	updateModel();
	if (config != null) {
		try {
			// stripped text depending on the size of the panel
			String text = SwingTools.getStrippedJComponentText(outerPanel, config.getName(), outerPanel.getWidth() - 100,
					0);
			nameLabel.setText("<html><b>" + text + "</b></html>");

			// Get parameters based on Configurator implementation
			Parameters parameters = ConfigurationManager.getInstance().getAbstractConfigurator(config.getTypeId())
					.getParameterHandler(config).getParameters();

			// fill in real values of configurable
			for (String key : config.getParameters().keySet()) {
				parameters.setParameter(key, config.getParameters().get(key));
			}
			// init param panel with real values
			configParamPanel = new ConfiguratorParameterPanel(this, parameters);

			parameterLayer = new JLayer<JPanel>(configParamPanel);
			parameterLayer.setGlassPane(simpleGlassPane);
			simpleGlassPane.setVisible(false);

			// add it to wrapper panel
			parameterPanel.add(parameterLayer, BorderLayout.CENTER);

			boolean editingAllowed = true;
			boolean editingPossible = true;

			if (config.getSource() != null) {
				if (config.getSource().isConnected()) {
					if (!remoteControllers.get(config.getSource().getName()).getModel().hasAdminRights()) {
						editingAllowed = false;
					}
					// only interesting if we want to edit remote connections
					editingPossible = remoteControllers.get(config.getSource().getName()).getModel().isEditingPossible();
				}
			}

			if (!editingPossible) {

				SwingTools.setEnabledRecursive(configParamPanel, false);
				simpleGlassPane.setVisible(true);

			} else {
				if (!editingAllowed) {

					SwingTools.setEnabledRecursive(configParamPanel, false);
					simpleGlassPane.setVisible(true);
					renameButton.setVisible(false);
					removeButton.setVisible(false);
					actionPanel.setVisible(false);

				} else {

					if (!configParamPanel.isEnabled()) {
						SwingTools.setEnabledRecursive(configParamPanel, true);
					}

					if (simpleGlassPane.isVisible()) {
						simpleGlassPane.setVisible(false);
					}

					// make editing components visible
					renameButton.setVisible(true);
					removeButton.setVisible(true);
					actionPanel.setVisible(true);
				}
			}
		} catch (Exception e) {
			LogService.getRoot().log(Level.WARNING,
					"com.rapidminer.tools.config.gui.ConfigurableDialog.error_setting_parameters", e);

			// display error in GUI
			parameterPanel.removeAll();

			JLabel errorLabel = new JLabel(
					I18N.getGUIMessage(I18N
							.getGUIMessage("gui.dialog.configurable_dialog.error.display_stored_configurable.label")),
					FAILURE_ICON, SwingConstants.LEADING);
			errorLabel.setHorizontalAlignment(SwingConstants.CENTER);
			parameterPanel.add(errorLabel, BorderLayout.CENTER);
		}
	}
	updateButtonState(true);
	parameterPanel.revalidate();
	parameterPanel.repaint();
}
 
Example 12
Source Project: mars-sim   Source File: SpotlightLayerUI.java    License: GNU General Public License v3.0 4 votes vote down vote up
@Override
 public void uninstallUI(JComponent c) {
JLayer<?> jlayer = (JLayer<?>)c;
   jlayer.setLayerEventMask(0);
   super.uninstallUI(c);
 }
 
Example 13
Source Project: mars-sim   Source File: SpotlightLayerUI.java    License: GNU General Public License v3.0 4 votes vote down vote up
@Override
protected void processMouseEvent(MouseEvent e, JLayer l) {
  if (e.getID() == MouseEvent.MOUSE_ENTERED) mActive = true;
  if (e.getID() == MouseEvent.MOUSE_EXITED) mActive = false;
}
 
Example 14
Source Project: mars-sim   Source File: TableWaitLayer.java    License: GNU General Public License v3.0 4 votes vote down vote up
public JComponent makeUI() {
	startButton.setAction(new AbstractAction("start") {
		@Override
		public void actionPerformed(ActionEvent e) {
			layerUI.start();
			startButton.setEnabled(false);
			SwingWorker<String, Object[]> worker = new SwingWorker<String, Object[]>() {
				@Override
				public String doInBackground() {
					int current = 0, lengthOfTask = 120;
					while (current < lengthOfTask && !isCancelled()) {
						try {
							Thread.sleep(50);
						} catch (InterruptedException ie) {
							return "Interrupted";
						}
						publish(new Object[] { "aaa", current++, false });
					}
					return "Done";
				}

				@Override
				protected void process(java.util.List<Object[]> chunks) {
					for (Object[] array : chunks) {
						model.addRow(array);
					}
					table.scrollRectToVisible(table.getCellRect(model.getRowCount() - 1, 0, true));
				}

				@Override
				public void done() {
					layerUI.stop();
					startButton.setEnabled(true);
					String text = null;
					if (isCancelled()) {
						text = "Cancelled";
					} else {
						try {
							text = get();
						} catch (Exception ex) {
							ex.printStackTrace();
							text = "Exception";
						}
					}
				}
			};
			worker.execute();
		}
	});
	JPanel p = new JPanel(new BorderLayout());
	p.add(new JButton("dummy"), BorderLayout.NORTH);
	p.add(new JLayer<JComponent>(new JScrollPane(table), layerUI));
	p.add(startButton, BorderLayout.SOUTH);
	return p;
}
 
Example 15
Source Project: mars-sim   Source File: SettlementWindow.java    License: GNU General Public License v3.0 4 votes vote down vote up
/**
	 * Constructor.
	 * 
	 * @param desktop the main desktop panel.
	 */
	public SettlementWindow(MainDesktopPane desktop) {
		// Use ToolWindow constructor
		super(NAME, desktop);
		this.desktop = desktop;
		
		if (marsClock == null)
			marsClock = Simulation.instance().getMasterClock().getMarsClock();

//			// setTitleName(null);
//			// Remove title bar
//			putClientProperty("JInternalFrame.isPalette", Boolean.TRUE);
//			getRootPane().setWindowDecorationStyle(JRootPane.NONE);
//			BasicInternalFrameUI bi = (BasicInternalFrameUI) super.getUI();
//			bi.setNorthPane(null);
//			setBorder(null);

		setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);

		// getRootPane().setOpaque(false);
		// getRootPane().setBackground(new Color(0,0,0,128));

		setBackground(Color.BLACK);
		// setOpaque(false);
		// setBackground(new Color(0,0,0,128));

		WebPanel mainPanel = new WebPanel(new BorderLayout());
		// mainPanel.setOpaque(false);
		// mainPanel.setBackground(new Color(0,0,0,128));
		setContentPane(mainPanel);

		// Creates the status bar for showing the x/y coordinates and population
        statusBar = new WebStatusBar();//JStatusBar(3, 3, 18);
        mainPanel.add(statusBar, BorderLayout.SOUTH);

		Font font = new Font("Times New Roman", Font.BOLD, 12);

        popLabel = new WebStyledLabel(StyleId.styledlabelShadow);
        popLabel.setFont(font);
        popLabel.setForeground(Color.GRAY);
	    buildingXYLabel = new WebStyledLabel(StyleId.styledlabelShadow);
	    buildingXYLabel.setFont(font);
	    buildingXYLabel.setForeground(Color.GRAY);
	    mapXYLabel = new WebStyledLabel(StyleId.styledlabelShadow);
	    mapXYLabel.setFont(font);
	    mapXYLabel.setForeground(Color.GRAY);
	    
//        statusBar.addLeftComponent(mapXYLabel, false);  
//        statusBar.addCenterComponent(popLabel, false);
//        statusBar.addRightComponent(buildingXYLabel, false);
//		statusBar.addRightCorner();
        statusBar.add(mapXYLabel);  
        statusBar.addToMiddle(popLabel);
        statusBar.addToEnd(buildingXYLabel);
//		statusBar.addRightCorner();
		
        // Create subPanel for housing the settlement map
		subPanel = new WebPanel(new BorderLayout());
		mainPanel.add(subPanel, BorderLayout.CENTER);
		// subPanel.setOpaque(false);
		// subPanel.setBackground(new Color(0,0,0,128));
		subPanel.setBackground(Color.BLACK);

		mapPanel = new SettlementMapPanel(desktop, this);
		mapPanel.createUI();
		
		// Added SpotlightLayerUI
		LayerUI<WebPanel> layerUI = new SpotlightLayerUI(mapPanel);
		JLayer<WebPanel> jlayer = new JLayer<WebPanel>(mapPanel, layerUI);
		subPanel.add(jlayer, BorderLayout.CENTER);
		// subPanel.add(mapPanel, BorderLayout.CENTER);
		
		setSize(new Dimension(HORIZONTAL, VERTICAL));
		setPreferredSize(new Dimension(HORIZONTAL, VERTICAL));
		setMinimumSize(new Dimension(HORIZONTAL / 2, VERTICAL / 2));
		setClosable(true);
		setResizable(false);
		setMaximizable(true);

		setVisible(true);

		pack();

	}
 
Example 16
Source Project: mars-sim   Source File: WaitLayerUI.java    License: GNU General Public License v3.0 4 votes vote down vote up
@Override
public void applyPropertyChange(PropertyChangeEvent pce, JLayer<? extends JComponent> l) {
	if ("tick".equals(pce.getPropertyName())) {
		l.repaint();
	}
}
 
Example 17
Source Project: mars-sim   Source File: WaitLayerUI.java    License: GNU General Public License v3.0 4 votes vote down vote up
@Override public void uninstallUI(JComponent c) {
  ((JLayer)c).setLayerEventMask(0);
  super.uninstallUI(c);
}
 
Example 18
Source Project: mars-sim   Source File: WaitLayerUI.java    License: GNU General Public License v3.0 4 votes vote down vote up
public void eventDispatched(AWTEvent e, JLayer<? extends JComponent> l) {
  if(mIsRunning && e instanceof InputEvent) {
    ((InputEvent)e).consume();
  }
}
 
Example 19
Source Project: mars-sim   Source File: WaitLayerUIPanel.java    License: GNU General Public License v3.0 4 votes vote down vote up
@Override
public void applyPropertyChange(PropertyChangeEvent pce, JLayer l) {
	if ("tick".equals(pce.getPropertyName())) {
		l.repaint();
	}
}
 
Example 20
private void initComponents()
{
	setLayout(new GridBagLayout());

	layerUI = new FieldValidationLayerUI(getFrame());

	groupLabel = new JLabel(getMember().toString());
	groupLabel.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
	groupLabel.addMouseListener(new LinkMouseAdapter(this));
	groupLabel.setToolTipText("Double-click to look-up in FIXwiki");
	if (isRequired)
	{
		groupLabel.setForeground(Color.BLUE);
	}

	JPanel groupValuePanel = new JPanel();
	groupValuePanel.setLayout(new BoxLayout(groupValuePanel,
			BoxLayout.X_AXIS));

	groupTextField = new JFormattedTextField(
			NumberFormat.getIntegerInstance());
	groupTextField.setFocusLostBehavior(JFormattedTextField.COMMIT);
	if (initialNoOfGroups > 0)
	{
		groupTextField.setText(String.valueOf(initialNoOfGroups));
	}
	setButton = new JButton("Set");
	setButton.addActionListener(new ActionListener()
	{
		@Override
		public void actionPerformed(ActionEvent e)
		{
			getFrame().displayMainPanel();
		}
	});

	groupValuePanel.add(new JLayer<JFormattedTextField>(groupTextField,
			layerUI));
	groupValuePanel.add(setButton);

	groupPanels = new JPanel();
	groupPanels.setLayout(new GridBagLayout());

	loadMembers();

	add(groupLabel, createGridBagConstraints());
	add(groupValuePanel, createGridBagConstraints());
	add(groupPanels, createGridBagConstraints());
}
 
Example 21
/**
 * Factory to create a perspectives panel bar which is covered by a JLayer.
 *
 * @param perspectives
 * @return
 */
@SuppressWarnings("deprecation")
public static final JLayer<JPanel> getPerspecitvesPanelBar(Perspectives perspectives) {
	PerspectivesPanelBar view = new PerspectivesPanelBar(perspectives);
	return new JLayer<>(view, new PerspectivesLayerUI(view));
}