List of usage examples for javax.swing JPanel setBackground
@BeanProperty(preferred = true, visualUpdate = true, description = "The background color of the component.") public void setBackground(Color bg)
From source file:de.unidue.inf.is.ezdl.gframedl.components.AboutDialog.java
private JPanel getContent() { JPanel panel = new JPanel(new GridBagLayout()); JLabel iconLabel = new JLabel(new ImageIcon(Images.LOGO_EZDL_LARGE_SINGLE.getImage())); JTextArea licenseTextArea = new JTextArea(licenseText); licenseTextArea.setEditable(false);// ww w . j av a 2s . c o m licenseTextArea.setLineWrap(true); licenseTextArea.setWrapStyleWord(true); licenseTextArea.setOpaque(false); licenseTextArea.setBorder(BorderFactory.createEmptyBorder()); JScrollPane licenseScrollPane = new JScrollPane(licenseTextArea); JTable propertiesTable = new JTable(tableModel); propertiesTable.setBackground(Color.WHITE); propertiesTable.setShowGrid(false); JScrollPane propertiesScrollPane = new JScrollPane(propertiesTable); propertiesScrollPane.setBackground(Color.WHITE); propertiesScrollPane.getViewport().setBackground(Color.WHITE); JButton closeButton = new JButton(I18nSupport.getInstance().getLocString("ezdl.controls.close")); closeButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { dispose(); } }); JTabbedPane tabbedPane = new JTabbedPane(); tabbedPane.addTab(I18nSupport.getInstance().getLocString("ezdl.licence"), licenseScrollPane); tabbedPane.addTab(I18nSupport.getInstance().getLocString("ezdl.properties"), propertiesScrollPane); tabbedPane.setBackground(Color.WHITE); GridBagConstraints c = new GridBagConstraints(); c.gridx = 0; c.gridy = 0; c.insets = new Insets(0, 0, 0, 0); c.anchor = GridBagConstraints.CENTER; panel.add(iconLabel, c); c.gridx = 0; c.gridy = 1; c.weightx = 1; c.weighty = 1; c.anchor = GridBagConstraints.CENTER; c.fill = GridBagConstraints.BOTH; c.insets = new Insets(10, 20, 10, 20); panel.add(tabbedPane, c); c.gridy = 2; c.fill = GridBagConstraints.NONE; c.weighty = 0; c.insets = new Insets(0, 20, 10, 20); panel.add(closeButton, c); panel.setBackground(Color.WHITE); return panel; }
From source file:Demo3D.java
/** * Constructor that allows to specify the desired initial instances. *///from w w w . ja v a 2 s . c o m public Demo3D() { // Set the best GraphicsConfiguration GraphicsConfigTemplate3D template = new GraphicsConfigTemplate3D(); GraphicsConfiguration graphConf = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice() .getBestConfiguration(template); canvas3D = new Canvas3D(graphConf); // The used Canvas3D // Construction of the main frame. setTitle("Demo"); JPanel jMainPanel = new JPanel(true); jMainPanel.setLayout(new BorderLayout(0, 5)); // hor_gap and ver_gap JPanel jFpsPanel = new JPanel(true); jFpsPanel.setBackground(Color.white); jLabel = new JLabel(""); jLabel.setText("Wait for informations"); jFpsPanel.add(jLabel); jMainPanel.add(canvas3D, BorderLayout.CENTER); /* * // For the stereo-mode with an "Head Monted Display" (HMD). JPanel * jScene_Stereo_Panel = new JPanel(true); * jScene_Stereo_Panel.setLayout(new GridLayout(1, 2, 0, 0)); // rows, * col, hor_gap and ver_gap jScene_Stereo_Panel.add(canvas3D); * jScene_Stereo_Panel.add(canvas3D); * jMainPanel.add(jScene_Stereo_Panel, BorderLayout.CENTER); */ jMainPanel.add(jFpsPanel, BorderLayout.SOUTH); setContentPane(jMainPanel); // The ViewBranch class creates the instances of ViewPlatform, View, // etc. viewBr = new ViewBranch(canvas3D); fpsThread = new Thread(this); myScene(); }
From source file:com.maxl.java.amikodesk.AMiKoDesk.java
private static void createAndShowLightGUI() { // Create and setup window final JFrame jframe = new JFrame(Constants.APP_NAME); int min_width = CML_OPT_WIDTH; int min_height = CML_OPT_HEIGHT; jframe.setPreferredSize(new Dimension(min_width, min_height)); jframe.setMinimumSize(new Dimension(min_width, min_height)); Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); int x = (screen.width - min_width) / 2; int y = (screen.height - min_height) / 2; jframe.setBounds(x, y, min_width, min_height); // Action listeners jframe.addWindowListener(new WindowListener() { // Use WindowAdapter! @Override// w ww .j a v a 2 s. co m public void windowOpened(WindowEvent e) { } @Override public void windowClosed(WindowEvent e) { m_web_panel.dispose(); Runtime.getRuntime().exit(0); } @Override public void windowClosing(WindowEvent e) { } @Override public void windowIconified(WindowEvent e) { } @Override public void windowDeiconified(WindowEvent e) { } @Override public void windowActivated(WindowEvent e) { } @Override public void windowDeactivated(WindowEvent e) { } }); // Container final Container container = jframe.getContentPane(); container.setBackground(Color.WHITE); container.setLayout(new BorderLayout()); // ==== Light panel ==== JPanel light_panel = new JPanel(); light_panel.setBackground(Color.WHITE); light_panel.setLayout(new GridBagLayout()); GridBagConstraints gbc = new GridBagConstraints(); gbc.fill = GridBagConstraints.BOTH; gbc.anchor = GridBagConstraints.CENTER; gbc.insets = new Insets(2, 2, 2, 2); // ---- Section titles ---- m_section_titles = null; if (Utilities.appLanguage().equals("de")) { m_section_titles = new IndexPanel(SectionTitle_DE); } else if (Utilities.appLanguage().equals("fr")) { m_section_titles = new IndexPanel(SectionTitle_FR); } gbc.fill = GridBagConstraints.BOTH; gbc.gridx = 0; gbc.gridy = 0; gbc.gridwidth = 1; gbc.gridheight = 8; gbc.weightx = gbc.weighty = 0.0; // --> container.add(m_section_titles, gbc); if (m_section_titles != null) light_panel.add(m_section_titles, gbc); // ---- Fachinformation ---- m_web_panel = new WebPanel2(); gbc.fill = GridBagConstraints.BOTH; gbc.gridx = 1; gbc.gridy = 0; gbc.gridwidth = 3; gbc.gridheight = 20; gbc.weightx = 2.0; gbc.weighty = 1.0; gbc.anchor = GridBagConstraints.EAST; // --> container.add(m_web_panel, gbc); light_panel.add(m_web_panel, gbc); // ---- Add panel to main container ---- container.add(light_panel, BorderLayout.CENTER); // Display window jframe.pack(); // jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jframe.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); // jframe.setAlwaysOnTop(true); jframe.setVisible(true); // If command line options are provided start app with a particular // title or eancode if (commandLineOptionsProvided()) { final JToggleButton but_dummy = new JToggleButton("dummy_button"); if (!CML_OPT_TITLE.isEmpty()) startAppWithTitle(but_dummy); else if (!CML_OPT_EANCODE.isEmpty()) startAppWithEancode(but_dummy); else if (!CML_OPT_REGNR.isEmpty()) startAppWithRegnr(but_dummy); else if (CML_OPT_SERVER == true) { // Start thread that reads data from TCP server Thread server_thread = new Thread() { public void run() { while (true) { String tcpServerInput = ""; // Wait until new data is available from input stream // Note: the TCP client defines the update rate! // System.out.print("Waiting for input..."); while ((tcpServerInput = mTcpServer.getInput()).isEmpty()) ; /* * Important note: we use invokeLater to post a "job" to Swing, which will then be run on the * event dispatch thread at Swing's next convenience. Failing to do so will freeze the main thread. */ // Detect type of search (t=title, e=eancode, r=regnr) char typeOfSearch = tcpServerInput.charAt(0); if (typeOfSearch == 't') { // Extract title from received string CML_OPT_TITLE = tcpServerInput.substring(2); // System.out.println(" title -> " + // CML_OPT_TITLE); // Post a "job" to Swing, which will be run on // the event dispatch thread // at its next convenience. SwingUtilities.invokeLater(new Runnable() { public void run() { startAppWithTitle(but_dummy); } }); } else if (typeOfSearch == 'e') { // Extract ean code from received string CML_OPT_EANCODE = tcpServerInput.substring(2); // System.out.println(" eancode -> " + // CML_OPT_EANCODE); // Post a "job" to Swing, which will be run on // the event dispatch thread // at its next convenience. SwingUtilities.invokeLater(new Runnable() { public void run() { startAppWithEancode(but_dummy); } }); } else if (typeOfSearch == 'r') { // Extract registration number from received // string CML_OPT_REGNR = tcpServerInput.substring(2); // System.out.println(" regnr -> " + // CML_OPT_REGNR); // Post a "job" to Swing, which will be run on // the event dispatch thread // at its next convenience. SwingUtilities.invokeLater(new Runnable() { public void run() { startAppWithRegnr(but_dummy); } }); } } } }; server_thread.start(); } } }
From source file:erigo.ctstream.CTstream.java
/** * Pop up the GUI/*from ww w .j a v a 2 s.c om*/ * * This method should be run in the event-dispatching thread. * * The GUI is created in one of two modes depending on whether Shaped * windows are supported on the platform: * * 1. If Shaped windows are supported then guiPanel (the container to * which all other components are added) is RED and capturePanel is * inset a small amount to this panel so that the RED border is seen * around the outer edge. A componentResized() method is defined * which creates the hollowed out region that was capturePanel. * 2. If Shaped windows are not supported then guiPanel is transparent * and capturePanel is translucent. In this case, the user can't * "reach through" capturePanel to interact with GUIs on the other * side. * * @param bShapedWindowSupportedI Does the underlying GraphicsDevice support the * PERPIXEL_TRANSPARENT translucency that is * required for Shaped windows? */ private void createAndShowGUI(boolean bShapedWindowSupportedI) { // No window decorations for translucent/transparent windows // (see note below) // JFrame.setDefaultLookAndFeelDecorated(true); // // Create GUI components // GridBagLayout framegbl = new GridBagLayout(); guiFrame = new JFrame("CTstream"); // To support a translucent window, the window must be undecorated // See notes in the class header up above about this; also see // http://alvinalexander.com/source-code/java/how-create-transparenttranslucent-java-jframe-mac-os-x guiFrame.setUndecorated(true); // Use MouseMotionListener to implement our own simple "window manager" for moving and resizing the window guiFrame.addMouseMotionListener(this); guiFrame.setBackground(new Color(0, 0, 0, 0)); guiFrame.getContentPane().setBackground(new Color(0, 0, 0, 0)); GridBagLayout gbl = new GridBagLayout(); guiPanel = new JPanel(gbl); // if Shaped windows are supported, make guiPanel red; // otherwise make it transparent if (bShapedWindowSupportedI) { guiPanel.setBackground(Color.RED); } else { guiPanel.setBackground(new Color(0, 0, 0, 0)); } guiFrame.setFont(new Font("Dialog", Font.PLAIN, 12)); guiPanel.setFont(new Font("Dialog", Font.PLAIN, 12)); GridBagLayout controlsgbl = new GridBagLayout(); // *** controlsPanel contains the UI controls at the top of guiFrame controlsPanel = new JPanel(controlsgbl); controlsPanel.setBackground(new Color(211, 211, 211, 255)); startStopButton = new JButton("Start"); startStopButton.addActionListener(this); startStopButton.setBackground(Color.GREEN); continueButton = new JButton("Continue"); continueButton.addActionListener(this); continueButton.setEnabled(false); screencapCheck = new JCheckBox("screen", bScreencap); screencapCheck.setBackground(controlsPanel.getBackground()); screencapCheck.addActionListener(this); webcamCheck = new JCheckBox("camera", bWebcam); webcamCheck.setBackground(controlsPanel.getBackground()); webcamCheck.addActionListener(this); audioCheck = new JCheckBox("audio", bAudio); audioCheck.setBackground(controlsPanel.getBackground()); audioCheck.addActionListener(this); textCheck = new JCheckBox("text", bText); textCheck.setBackground(controlsPanel.getBackground()); textCheck.addActionListener(this); JLabel fpsLabel = new JLabel("images/sec", SwingConstants.LEFT); fpsCB = new JComboBox<Double>(FPS_VALUES); int tempIndex = Arrays.asList(FPS_VALUES).indexOf(new Double(framesPerSec)); fpsCB.setSelectedIndex(tempIndex); fpsCB.addActionListener(this); // The popup doesn't display over the transparent region; // therefore, just display a few rows to keep it within controlsPanel fpsCB.setMaximumRowCount(3); JLabel imgQualLabel = new JLabel("image qual", SwingConstants.LEFT); // The slider will use range 0 - 1000 imgQualSlider = new JSlider(JSlider.HORIZONTAL, 0, 1000, (int) (imageQuality * 1000.0)); // NOTE: The JSlider's initial width was too large, so I'd like to set its preferred size // to try and constrain it some; also need to set its minimum size at the same time, // or else when the user makes the GUI frame smaller, the JSlider would pop down to // a really small minimum size. imgQualSlider.setPreferredSize(new Dimension(120, 30)); imgQualSlider.setMinimumSize(new Dimension(120, 30)); imgQualSlider.setBackground(controlsPanel.getBackground()); includeMouseCursorCheck = new JCheckBox("Include mouse cursor in screen capture", bIncludeMouseCursor); includeMouseCursorCheck.setBackground(controlsPanel.getBackground()); includeMouseCursorCheck.addActionListener(this); changeDetectCheck = new JCheckBox("Change detect", bChangeDetect); changeDetectCheck.setBackground(controlsPanel.getBackground()); changeDetectCheck.addActionListener(this); fullScreenCheck = new JCheckBox("Full Screen", bFullScreen); fullScreenCheck.setBackground(controlsPanel.getBackground()); fullScreenCheck.addActionListener(this); previewCheck = new JCheckBox("Preview", bPreview); previewCheck.setBackground(controlsPanel.getBackground()); previewCheck.addActionListener(this); // Specify a small size for the text area, so that we can shrink down the UI w/o the scrollbars popping up textArea = new JTextArea(3, 10); // Add a Document listener to the JTextArea; this is how we will listen for changes to the document docChangeListener = new DocumentChangeListener(this); textArea.getDocument().addDocumentListener(docChangeListener); textScrollPane = new JScrollPane(textArea); // *** capturePanel capturePanel = new JPanel(); if (!bShapedWindowSupportedI) { // Only make capturePanel translucent (ie, semi-transparent) if we aren't doing the Shaped window option capturePanel.setBackground(new Color(0, 0, 0, 16)); } else { capturePanel.setBackground(new Color(0, 0, 0, 0)); } capturePanel.setPreferredSize(new Dimension(500, 400)); boolean bMacOS = false; String OS = System.getProperty("os.name", "generic").toLowerCase(); if ((OS.indexOf("mac") >= 0) || (OS.indexOf("darwin") >= 0)) { bMacOS = true; } // Only have the CTstream UI stay on top of all other windows // if bStayOnTop is true (set by command line flag). This is needed // for the Mac, because on that platform the user can't "reach through" // the capture frame to windows behind it. if (bStayOnTop) { guiFrame.setAlwaysOnTop(true); } // // Add components to the GUI // int row = 0; GridBagConstraints gbc = new GridBagConstraints(); gbc.anchor = GridBagConstraints.WEST; gbc.fill = GridBagConstraints.NONE; gbc.weightx = 0; gbc.weighty = 0; // // First row: the controls panel // // Add some extra horizontal padding around controlsPanel so the panel has some extra room // if we are running in web camera mode. gbc.insets = new Insets(0, 0, 0, 0); gbc.fill = GridBagConstraints.HORIZONTAL; gbc.weightx = 100; gbc.weighty = 0; Utility.add(guiPanel, controlsPanel, gbl, gbc, 0, row, 1, 1); gbc.insets = new Insets(0, 0, 0, 0); gbc.fill = GridBagConstraints.NONE; gbc.weightx = 0; gbc.weighty = 0; ++row; // Add controls to the controls panel int panelrow = 0; // (i) Start/Continue buttons GridBagLayout panelgbl = new GridBagLayout(); JPanel subPanel = new JPanel(panelgbl); GridBagConstraints panelgbc = new GridBagConstraints(); panelgbc.anchor = GridBagConstraints.WEST; panelgbc.fill = GridBagConstraints.NONE; panelgbc.weightx = 0; panelgbc.weighty = 0; subPanel.setBackground(controlsPanel.getBackground()); panelgbc.insets = new Insets(0, 0, 0, 5); Utility.add(subPanel, startStopButton, panelgbl, panelgbc, 0, 0, 1, 1); panelgbc.insets = new Insets(0, 0, 0, 0); Utility.add(subPanel, continueButton, panelgbl, panelgbc, 1, 0, 1, 1); gbc.anchor = GridBagConstraints.CENTER; gbc.fill = GridBagConstraints.NONE; gbc.insets = new Insets(5, 0, 0, 0); Utility.add(controlsPanel, subPanel, controlsgbl, gbc, 0, panelrow, 1, 1); ++panelrow; gbc.anchor = GridBagConstraints.WEST; gbc.fill = GridBagConstraints.NONE; // (ii) select DataStreams to turn on panelgbl = new GridBagLayout(); subPanel = new JPanel(panelgbl); panelgbc = new GridBagConstraints(); panelgbc.anchor = GridBagConstraints.WEST; panelgbc.fill = GridBagConstraints.NONE; panelgbc.weightx = 0; panelgbc.weighty = 0; subPanel.setBackground(controlsPanel.getBackground()); panelgbc.insets = new Insets(0, 0, 0, 0); Utility.add(subPanel, screencapCheck, panelgbl, panelgbc, 0, 0, 1, 1); Utility.add(subPanel, webcamCheck, panelgbl, panelgbc, 1, 0, 1, 1); Utility.add(subPanel, audioCheck, panelgbl, panelgbc, 2, 0, 1, 1); Utility.add(subPanel, textCheck, panelgbl, panelgbc, 3, 0, 1, 1); gbc.anchor = GridBagConstraints.CENTER; gbc.fill = GridBagConstraints.NONE; gbc.insets = new Insets(0, 0, 0, 0); Utility.add(controlsPanel, subPanel, controlsgbl, gbc, 0, panelrow, 1, 1); ++panelrow; // (iii) images/sec control panelgbl = new GridBagLayout(); subPanel = new JPanel(panelgbl); panelgbc = new GridBagConstraints(); panelgbc.anchor = GridBagConstraints.WEST; panelgbc.fill = GridBagConstraints.NONE; panelgbc.weightx = 0; panelgbc.weighty = 0; subPanel.setBackground(controlsPanel.getBackground()); panelgbc.insets = new Insets(2, 0, 0, 0); Utility.add(subPanel, fpsLabel, panelgbl, panelgbc, 0, 0, 1, 1); panelgbc.insets = new Insets(2, 10, 0, 10); Utility.add(subPanel, fpsCB, panelgbl, panelgbc, 1, 0, 1, 1); gbc.insets = new Insets(0, 0, 0, 0); gbc.anchor = GridBagConstraints.CENTER; Utility.add(controlsPanel, subPanel, controlsgbl, gbc, 0, panelrow, 1, 1); ++panelrow; // (iv) image quality slider panelgbl = new GridBagLayout(); subPanel = new JPanel(panelgbl); panelgbc = new GridBagConstraints(); panelgbc.anchor = GridBagConstraints.WEST; panelgbc.fill = GridBagConstraints.NONE; panelgbc.weightx = 0; panelgbc.weighty = 0; subPanel.setBackground(controlsPanel.getBackground()); JLabel sliderLabelLow = new JLabel("Low", SwingConstants.LEFT); JLabel sliderLabelHigh = new JLabel("High", SwingConstants.LEFT); panelgbc.insets = new Insets(-5, 0, 0, 0); Utility.add(subPanel, imgQualLabel, panelgbl, panelgbc, 0, 0, 1, 1); panelgbc.insets = new Insets(-5, 5, 0, 5); Utility.add(subPanel, sliderLabelLow, panelgbl, panelgbc, 1, 0, 1, 1); panelgbc.insets = new Insets(0, 0, 0, 0); Utility.add(subPanel, imgQualSlider, panelgbl, panelgbc, 2, 0, 1, 1); panelgbc.insets = new Insets(-5, 5, 0, 0); Utility.add(subPanel, sliderLabelHigh, panelgbl, panelgbc, 3, 0, 1, 1); gbc.insets = new Insets(0, 0, 0, 0); gbc.anchor = GridBagConstraints.CENTER; Utility.add(controlsPanel, subPanel, controlsgbl, gbc, 0, panelrow, 1, 1); ++panelrow; // (v) Include mouse cursor in screen capture image? gbc.anchor = GridBagConstraints.CENTER; gbc.fill = GridBagConstraints.NONE; gbc.weightx = 0; gbc.weighty = 0; gbc.insets = new Insets(0, 15, 5, 15); Utility.add(controlsPanel, includeMouseCursorCheck, controlsgbl, gbc, 0, panelrow, 1, 1); gbc.fill = GridBagConstraints.NONE; gbc.weightx = 0; gbc.weighty = 0; ++panelrow; // (vi) Change detect / Full screen / Preview checkboxes panelgbl = new GridBagLayout(); subPanel = new JPanel(panelgbl); panelgbc = new GridBagConstraints(); panelgbc.anchor = GridBagConstraints.WEST; panelgbc.fill = GridBagConstraints.NONE; panelgbc.weightx = 0; panelgbc.weighty = 0; subPanel.setBackground(controlsPanel.getBackground()); panelgbc.insets = new Insets(0, 0, 0, 0); Utility.add(subPanel, changeDetectCheck, panelgbl, panelgbc, 0, 0, 1, 1); Utility.add(subPanel, fullScreenCheck, panelgbl, panelgbc, 1, 0, 1, 1); Utility.add(subPanel, previewCheck, panelgbl, panelgbc, 2, 0, 1, 1); gbc.anchor = GridBagConstraints.CENTER; gbc.fill = GridBagConstraints.NONE; gbc.insets = new Insets(-5, 0, 3, 0); Utility.add(controlsPanel, subPanel, controlsgbl, gbc, 0, panelrow, 1, 1); ++panelrow; // (vii) text field for the TextStream /* panelgbl = new GridBagLayout(); subPanel = new JPanel(panelgbl); panelgbc = new GridBagConstraints(); panelgbc.anchor = GridBagConstraints.CENTER; panelgbc.fill = GridBagConstraints.HORIZONTAL; panelgbc.weightx = 100; panelgbc.weighty = 100; subPanel.setBackground(controlsPanel.getBackground()); panelgbc.insets = new Insets(0, 0, 0, 0); Utility.add(subPanel, textScrollPane, panelgbl, panelgbc, 1, 0, 1, 1); gbc.anchor = GridBagConstraints.CENTER; gbc.fill = GridBagConstraints.HORIZONTAL; gbc.weightx = 100; gbc.weighty = 100; gbc.insets = new Insets(0, 15, 3, 15); Utility.add(controlsPanel, subPanel, controlsgbl, gbc, 0, panelrow, 2, 1); ++panelrow; */ gbc.anchor = GridBagConstraints.CENTER; gbc.fill = GridBagConstraints.HORIZONTAL; gbc.weightx = 100; gbc.weighty = 0; gbc.insets = new Insets(0, 15, 5, 15); Utility.add(controlsPanel, textScrollPane, controlsgbl, gbc, 0, panelrow, 1, 1); gbc.fill = GridBagConstraints.NONE; gbc.weightx = 0; gbc.weighty = 0; ++panelrow; // // Second row: the translucent/transparent capture panel // if (bShapedWindowSupportedI) { // Doing the Shaped window; set capturePanel inside guiPanel // a bit so the red from guiPanel shows at the edges gbc.insets = new Insets(5, 5, 5, 5); } else { // No shaped window; have capturePanel fill the area gbc.insets = new Insets(0, 0, 0, 0); } gbc.fill = GridBagConstraints.BOTH; gbc.weightx = 100; gbc.weighty = 100; Utility.add(guiPanel, capturePanel, gbl, gbc, 0, row, 1, 1); gbc.fill = GridBagConstraints.NONE; gbc.weightx = 0; gbc.weighty = 0; ++row; // // Add guiPanel to guiFrame // gbc.anchor = GridBagConstraints.CENTER; gbc.fill = GridBagConstraints.BOTH; gbc.weightx = 100; gbc.weighty = 100; gbc.insets = new Insets(0, 0, 0, 0); Utility.add(guiFrame, guiPanel, framegbl, gbc, 0, 0, 1, 1); // // Add menu // JMenuBar menuBar = createMenu(); guiFrame.setJMenuBar(menuBar); // // If Shaped windows are supported, the region defined by capturePanel // will be "hollowed out" so that the user can reach through guiFrame // and interact with applications which are behind it. // // NOTE: This doesn't work on Mac OS (we've tried, but nothing seems // to work to allow a user to reach through guiFrame to interact // with windows behind). May be a limitation or bug on Mac OS: // https://bugs.openjdk.java.net/browse/JDK-8013450 // if (bShapedWindowSupportedI) { guiFrame.addComponentListener(new ComponentAdapter() { // As the window is resized, the shape is recalculated here. @Override public void componentResized(ComponentEvent e) { // Create a rectangle to cover the entire guiFrame Area guiShape = new Area(new Rectangle(0, 0, guiFrame.getWidth(), guiFrame.getHeight())); // Create another rectangle to define the hollowed out region of capturePanel guiShape.subtract(new Area(new Rectangle(capturePanel.getX(), capturePanel.getY() + 23, capturePanel.getWidth(), capturePanel.getHeight()))); guiFrame.setShape(guiShape); } }); } // // Final guiFrame configuration details and displaying the GUI // guiFrame.pack(); guiFrame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); guiFrame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { exit(false); } }); // Center on the screen guiFrame.setLocationRelativeTo(null); // // Set the taskbar/dock icon; note that Mac OS has its own way of doing it // if (bMacOS) { try { // JPW 2018/02/02: changed how to load images to work under Java 9 InputStream imageInputStreamLarge = getClass().getClassLoader() .getResourceAsStream("Icon_128x128.png"); BufferedImage bufferedImageLarge = ImageIO.read(imageInputStreamLarge); /** * * Java 9 note: running the following code under Java 9 on a Mac will produce the following warning: * * WARNING: An illegal reflective access operation has occurred * WARNING: Illegal reflective access by erigo.ctstream.CTstream (file:/Users/johnwilson/CT_versions/compiled_under_V8/CTstream.jar) to method com.apple.eawt.Application.getApplication() * WARNING: Please consider reporting this to the maintainers of erigo.ctstream.CTstream * WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations * WARNING: All illegal access operations will be denied in a future release * * This is because Java 9 has taken a step away from using reflection; see see the section titled * "Illegal Access To Internal APIs" at https://blog.codefx.org/java/java-9-migration-guide/. * * A good fix (but only available in Java 9+) is to use the following: * * java.awt.Taskbar taskbar = java.awt.Taskbar.getTaskbar(); * taskbar.setIconImage(bufferedImageLarge); * * Could use reflection to make calls in class com.apple.eawt.Application; for example, see * Bertil Chapuis' "dockicon.java" example code at https://gist.github.com/bchapuis/1562406 * * For now, we just won't do dock icons under Mac OS. * **/ } catch (Exception excepI) { System.err.println("Exception thrown trying to set icon: " + excepI); } } else { // The following has been tested under Windows 10 and Ubuntu 12.04 LTS try { // JPW 2018/02/02: changed how to load images to work under Java 9 InputStream imageInputStreamLarge = getClass().getClassLoader() .getResourceAsStream("Icon_128x128.png"); BufferedImage bufferedImageLarge = ImageIO.read(imageInputStreamLarge); InputStream imageInputStreamMed = getClass().getClassLoader().getResourceAsStream("Icon_64x64.png"); BufferedImage bufferedImageMed = ImageIO.read(imageInputStreamMed); InputStream imageInputStreamSmall = getClass().getClassLoader() .getResourceAsStream("Icon_32x32.png"); BufferedImage bufferedImageSmall = ImageIO.read(imageInputStreamSmall); List<BufferedImage> iconList = new ArrayList<BufferedImage>(); iconList.add(bufferedImageLarge); iconList.add(bufferedImageMed); iconList.add(bufferedImageSmall); guiFrame.setIconImages(iconList); } catch (Exception excepI) { System.err.println("Exception thrown trying to set icon: " + excepI); } } ctSettings = new CTsettings(this, guiFrame); guiFrame.setVisible(true); }
From source file:br.org.acessobrasil.ases.ferramentas_de_reparo.vista.xhtml.PainelXHTML.java
private void criaInterfaceVisualEscalavel() { painel = new JPanel(); textAreaSourceCode = new G_TextAreaSourceCode(); new OnChange(textAreaSourceCode, this); // textAreaSourceCode.getTextPane().addKeyListener(this); textAreaSourceCode.setTipoHTML();/*www . j av a 2 s.c o m*/ textAreaSourceCode.setBorder(criaBorda(XHTML_Panel.COD_FONTE)); // frameSilvinha.setTitle(XHTMLPanel.TITULO); // this.frameSilvinha.setTitle(XHTMLPanel.TITULO_XHTML); painel.setLayout(new GridLayout(2, 1)); setBackground(frameSilvinha.corDefault); Container contentPane = this; contentPane.setLayout(new GridLayout(1, 1)); painel.add(textAreaSourceCode); JPanel panelBtnTabela = new JPanel(); panelBtnTabela.setLayout(new BorderLayout()); /* * Barra de botes */ btnPanel = new JPanel(); btnPanel.setLayout(null); btn_salvar = new JButton(XHTML_Panel.BTN_SALVAR); btn_salvar.setBounds(10, 0, 140, 25); btnPanel.add(btn_salvar); btn_abrir = new JButton(XHTML_Panel.BTN_ABRIR); btn_abrir.setBounds(165, 0, 150, 25); btnPanel.add(btn_abrir); btn_salvarComo = new JButton(XHTML_Panel.BTN_SALVAR_COMO); btn_salvarComo.setBounds(325, 0, 150, 25); btnPanel.add(btn_salvarComo); btnPanel.setPreferredSize(new Dimension(760, 30)); btn_cancelar = new JButton(GERAL.TELA_ANTERIOR); btn_cancelar.setBounds(485, 0, 150, 25); btnPanel.add(btn_cancelar); tabelaDeErros = new TabelaErros(); scrollPaneTabela = new JScrollPane(); scrollPaneTabela.setViewportView(tabelaDeErros); panelBtnTabela.add(btnPanel, BorderLayout.NORTH); panelBtnTabela.add(scrollPaneTabela, BorderLayout.CENTER); scrollPaneTabela.setBorder(criaBorda(XHTML_Panel.LISTA_ERROS)); painel.add(panelBtnTabela); btnPanel.setBackground(frameSilvinha.corDefault); reverter = new JButton("Reverter"); reverter.setText(TradPainelRelatorio.REVERTER); reverter.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub setVisible(false); TxtBuffer.setContent(TxtBuffer.getContentOriginal()); frameSilvinha.showPainelFerramentaXHTML(); setVisible(true); } }); //reverter.setActionCommand("Reverter"); reverter.setToolTipText(TradPainelRelatorio.DICA_REVERTER); reverter.getAccessibleContext().setAccessibleDescription(TradPainelRelatorio.DICA_REVERTER); reverter.getAccessibleContext().setAccessibleName(TradPainelRelatorio.DICA_REVERTER); reverter.setBounds(650, 0, 150, 25); btnPanel.add(reverter); panelBtnTabela.setBackground(frameSilvinha.corDefault); painel.setBackground(frameSilvinha.corDefault); contentPane.setBackground(frameSilvinha.corDefault); scrollPaneTabela.setBackground(frameSilvinha.corDefault); textAreaSourceCode.setBackground(frameSilvinha.corDefault); miBtnSalvar.setEnabled(false); btn_salvar.setEnabled(false); contentPane.add(painel); // pack(); this.setVisible(true); }
From source file:br.org.acessobrasil.ases.ferramentas_de_reparo.vista.css.FerramentaCSSPanel.java
private void criaInterfaceVisualEscalavel() { painel = new JPanel(); painel.setLayout(new GridLayout(2, 1)); textAreaSourceCode = new G_TextAreaSourceCode(); textAreaSourceCode.setBorder(criaBorda(CSSPanel.COD_FONTE)); Container contentPane = this; contentPane.setLayout(new GridLayout(1, 1)); painel.add(textAreaSourceCode);//from ww w . j av a 2s . co m JPanel panelBtnTabela = new JPanel(); panelBtnTabela.setLayout(new BorderLayout()); /* * Barra de botes */ btnPanel = new JPanel(); btnPanel.setLayout(null); btn_salvar = new JButton(CSSPanel.BTN_SALVAR); btn_salvar.setBounds(10, 0, 100, 25); btnPanel.add(btn_salvar); btn_abrir = new JButton(CSSPanel.BTN_ABRIR); btn_abrir.setBounds(115, 0, 100, 25); btnPanel.add(btn_abrir); btn_salvarComo = new JButton(CSSPanel.BTN_SALVAR_COMO); btn_salvarComo.setBounds(220, 0, 120, 25); btnPanel.add(btn_salvarComo); btnPanel.setPreferredSize(new Dimension(760, 30)); tabelaDeErros = new TabelaErros(erros); String cols[] = { "Url", "Erros", "Avisos" }; int sizes[] = { 0, 60, 60 }; tabelaArq = new G_TableReadOnly(cols, sizes); scrollPaneTabela = new JScrollPane(); scrollPaneTabela.setBorder(criaBorda(CSSPanel.LISTA_ERROS)); scrollPaneTabela.setViewportView(tabelaDeErros); panelBtnTabela.add(btnPanel, BorderLayout.NORTH); panelBtnTabela.add(scrollPaneTabela, BorderLayout.CENTER); painel.add(panelBtnTabela); contentPane.add(painel); if (!original) { reverter = new JButton(TradPainelRelatorio.REVERTER); reverter.setText(TradPainelRelatorio.REVERTER); reverter.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { setVisible(false); reavalia(ferrCSSPanelNaoEditavel.textAreaSourceCode.getText()); } }); // reverter.setActionCommand("Reverter"); reverter.setToolTipText(TradPainelRelatorio.DICA_REVERTER); reverter.getAccessibleContext().setAccessibleDescription(TradPainelRelatorio.DICA_REVERTER); reverter.getAccessibleContext().setAccessibleName(TradPainelRelatorio.DICA_REVERTER); reverter.setBounds(345, 0, 150, 25); btnPanel.add(reverter); } btnPanel.setBackground(frameSilvinha.corDefault); panelBtnTabela.setBackground(frameSilvinha.corDefault); painel.setBackground(frameSilvinha.corDefault); contentPane.setBackground(frameSilvinha.corDefault); scrollPaneTabela.setBackground(frameSilvinha.corDefault); textAreaSourceCode.setBackground(frameSilvinha.corDefault); this.setVisible(true); }
From source file:net.java.sip.communicator.impl.gui.main.chat.ChatWritePanel.java
/** * Initializes the sms menu.//from ww w . j a va2 s . c om * * @param centerPanel the parent panel */ private void initSmsLabel(final JPanel centerPanel) { GridBagConstraints constraints = new GridBagConstraints(); constraints.anchor = GridBagConstraints.NORTHWEST; constraints.fill = GridBagConstraints.NONE; constraints.gridx = 1; constraints.gridy = 0; constraints.gridheight = 1; constraints.weightx = 0f; constraints.weighty = 0f; constraints.insets = new Insets(0, 3, 0, 0); ImageID smsIcon = new ImageID("service.gui.icons.SEND_SMS"); ImageID selectedIcon = new ImageID("service.gui.icons.SEND_SMS_SELECTED"); smsButton = new SIPCommToggleButton(ImageLoader.getImage(smsIcon), ImageLoader.getImage(selectedIcon), ImageLoader.getImage(smsIcon), ImageLoader.getImage(selectedIcon)); smsButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { if (smsMode && !isIMAllowed()) { return; } smsMode = smsButton.isSelected(); Color bgColor; if (smsMode) { bgColor = new Color(GuiActivator.getResources().getColor("service.gui.LIST_SELECTION_COLOR")); smsCharCountLabel.setVisible(true); smsNumberLabel.setVisible(true); } else { bgColor = Color.WHITE; smsCharCountLabel.setVisible(false); smsNumberLabel.setVisible(false); } centerPanel.setBackground(bgColor); editorPane.setBackground(bgColor); } }); // We hide the sms label until we know if the chat supports sms. smsButton.setVisible(false); centerPanel.add(smsButton, constraints); }
From source file:net.java.sip.communicator.impl.gui.main.chat.ChatPanel.java
/** * Sets the chat session to associate to this chat panel. * @param chatSession the chat session to associate to this chat panel *//*from w ww.ja v a2 s . c o m*/ public void setChatSession(ChatSession chatSession) { if (this.chatSession != null) { // remove old listener this.chatSession.removeChatTransportChangeListener(this); } this.chatSession = chatSession; this.chatSession.addChatTransportChangeListener(this); if ((this.chatSession != null) && this.chatSession.isContactListSupported()) { topPanel.remove(conversationPanelContainer); TransparentPanel rightPanel = new TransparentPanel(new BorderLayout()); Dimension chatConferencesListsPanelSize = new Dimension(150, 25); Dimension chatContactsListsPanelSize = new Dimension(150, 175); Dimension rightPanelSize = new Dimension(150, 200); rightPanel.setMinimumSize(rightPanelSize); rightPanel.setPreferredSize(rightPanelSize); TransparentPanel contactsPanel = new TransparentPanel(new BorderLayout()); contactsPanel.setMinimumSize(chatContactsListsPanelSize); contactsPanel.setPreferredSize(chatContactsListsPanelSize); conferencePanel.setMinimumSize(chatConferencesListsPanelSize); conferencePanel.setPreferredSize(chatConferencesListsPanelSize); this.chatContactListPanel = new ChatRoomMemberListPanel(this); this.chatContactListPanel.setOpaque(false); topSplitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT); topSplitPane.setBorder(null); // remove default borders topSplitPane.setOneTouchExpandable(true); topSplitPane.setOpaque(false); topSplitPane.setResizeWeight(1.0D); Color msgNameBackground = Color.decode(ChatHtmlUtils.MSG_NAME_BACKGROUND); // add border to the divider if (topSplitPane.getUI() instanceof BasicSplitPaneUI) { ((BasicSplitPaneUI) topSplitPane.getUI()).getDivider() .setBorder(BorderFactory.createLineBorder(msgNameBackground)); } ChatTransport chatTransport = chatSession.getCurrentChatTransport(); JPanel localUserLabelPanel = new JPanel(new BorderLayout()); JLabel localUserLabel = new JLabel(chatTransport.getProtocolProvider().getAccountID().getDisplayName()); localUserLabel.setFont(localUserLabel.getFont().deriveFont(Font.BOLD)); localUserLabel.setHorizontalAlignment(SwingConstants.CENTER); localUserLabel.setBorder(BorderFactory.createEmptyBorder(2, 0, 3, 0)); localUserLabel.setForeground(Color.decode(ChatHtmlUtils.MSG_IN_NAME_FOREGROUND)); localUserLabelPanel.add(localUserLabel, BorderLayout.CENTER); localUserLabelPanel.setBackground(msgNameBackground); JButton joinConference = new JButton( GuiActivator.getResources().getI18NString("service.gui.JOIN_VIDEO")); joinConference.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { showChatConferenceDialog(); } }); contactsPanel.add(localUserLabelPanel, BorderLayout.NORTH); contactsPanel.add(chatContactListPanel, BorderLayout.CENTER); conferencePanel.add(joinConference, BorderLayout.CENTER); rightPanel.add(conferencePanel, BorderLayout.NORTH); rightPanel.add(contactsPanel, BorderLayout.CENTER); topSplitPane.setLeftComponent(conversationPanelContainer); topSplitPane.setRightComponent(rightPanel); topPanel.add(topSplitPane); } else { if (topSplitPane != null) { if (chatContactListPanel != null) { topSplitPane.remove(chatContactListPanel); chatContactListPanel = null; } this.messagePane.remove(topSplitPane); topSplitPane = null; } topPanel.add(conversationPanelContainer); } if (chatSession instanceof MetaContactChatSession) { // The subject panel is added here, because it's specific for the // multi user chat and is not contained in the single chat chat panel. if (subjectPanel != null) { this.remove(subjectPanel); subjectPanel = null; this.revalidate(); this.repaint(); } writeMessagePanel.initPluginComponents(); writeMessagePanel.setTransportSelectorBoxVisible(true); //Enables to change the protocol provider by simply pressing the // CTRL-P key combination ActionMap amap = this.getActionMap(); amap.put("ChangeProtocol", new ChangeTransportAction()); InputMap imap = this.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW); imap.put(KeyStroke.getKeyStroke(KeyEvent.VK_P, KeyEvent.CTRL_DOWN_MASK), "ChangeProtocol"); } else if (chatSession instanceof ConferenceChatSession) { ConferenceChatSession confSession = (ConferenceChatSession) chatSession; writeMessagePanel.setTransportSelectorBoxVisible(false); confSession.addLocalUserRoleListener(this); confSession.addMemberRoleListener(this); ChatRoom room = ((ChatRoomWrapper) chatSession.getDescriptor()).getChatRoom(); room.addMemberPropertyChangeListener(this); setConferencesPanelVisible(room.getCachedConferenceDescriptionSize() > 0); subjectPanel = new ChatRoomSubjectPanel((ConferenceChatSession) chatSession); // The subject panel is added here, because it's specific for the // multi user chat and is not contained in the single chat chat panel. this.add(subjectPanel, BorderLayout.NORTH); this.revalidate(); this.repaint(); } if (chatContactListPanel != null) { // Initialize chat participants' panel. Iterator<ChatContact<?>> chatParticipants = chatSession.getParticipants(); while (chatParticipants.hasNext()) chatContactListPanel.addContact(chatParticipants.next()); } }
From source file:com.nikonhacker.gui.EmulatorUI.java
private void showAboutDialog() { // for copying style JLabel label = new JLabel(); Font font = label.getFont();/*from w w w . ja v a2 s . c om*/ // create some css from the label's font String style = "font-family:" + font.getFamily() + ";" + "font-weight:" + (font.isBold() ? "bold" : "normal") + ";" + "font-size:" + font.getSize() + "pt;"; // html content JEditorPane editorPane = new JEditorPane("text/html", "<html><body style=\"" + style + "\">" + "<font size=\"+1\">" + ApplicationInfo.getNameVersion() + "</font><br/>" + "<i>A dual (Fujitsu FR + Toshiba TX) microcontroller emulator in Java, aimed at mimicking the behaviour of Nikon DSLRs</i><br/>" + "<font size=\"-2\">Built on " + ApplicationInfo.getBuildTime() + "</font><br/><br/>" + "This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.<br/>" + "This software is provided under the GNU General Public License, version 3 - " + makeLink("http://www.gnu.org/licenses/gpl-3.0.txt") + "<br/>" + "This software is based on, or makes use of, the following works:<ul>\n" + "<li>Simeon Pilgrim's deciphering of firmware encoding and lots of information shared on his blog - " + makeLink("http://simeonpilgrim.com/blog/") + "</li>" + "<li>Dfr Fujitsu FR diassembler Copyright (c) Kevin Schoedel - " + makeLink("http://scratchpad.wikia.com/wiki/Disassemblers/DFR") + "<br/>and its port to C# by Simeon Pilgrim</li>" + "<li>\"How To Write a Computer Emulator\" article by Marat Fayzullin - " + makeLink("http://fms.komkon.org/EMUL8/HOWTO.html") + "</li>" + "<li>The PearColator x86 emulator project - " + makeLink("http://apt.cs.man.ac.uk/projects/jamaica/tools/PearColator/") + "</li>" + "<li>The Jacksum checksum library Copyright (c) Dipl.-Inf. (FH) Johann Nepomuk Lfflmann - " + makeLink("http://www.jonelo.de/java/jacksum/") + "</li>" + "<li>HexEditor & RSyntaxTextArea swing components, Copyright (c) Robert Futrell - " + makeLink("http://fifesoft.com/hexeditor/") + "</li>" + "<li>JGraphX graph drawing library, Copyright (c) JGraph Ltd - " + makeLink("http://www.jgraph.com/jgraph.html") + "</li>" + "<li>Apache commons libraries, Copyright (c) The Apache Software Foundation - " + makeLink("http://commons.apache.org/") + "</li>" + "<li>VerticalLayout, Copyright (c) Cellspark - " + makeLink("http://www.cellspark.com/vl.html") + "</li>" + "<li>MigLayout, Copyright (c) MigInfoCom - " + makeLink("http://www.miginfocom.com/") + "</li>" + "<li>Glazed Lists, Copyright (c) 2003-2006, publicobject.com, O'Dell Engineering Ltd - " + makeLink("http://www.glazedlists.com/") + "</li>" + "<li>Samples from the Java Tutorial (c) Sun Microsystems / Oracle - " + makeLink("http://docs.oracle.com/javase/tutorial") + "</li>" + "<li>MARS, MIPS Assembler and Runtime Simulator (c) 2003-2011, Pete Sanderson and Kenneth Vollmar - " + makeLink("http://courses.missouristate.edu/KenVollmar/MARS") + "</li>" + "<li>SteelSeries (and SteelCheckBox) Swing components (c) 2010, Gerrit Grunwald - " + makeLink("http://harmoniccode.blogspot.be/search/label/steelseries") + "</li>" + "</ul>" + "License terms for all included code are available in the 'licenses' folder of the distribution." + "<p>For more information, help or ideas, please join us at " + makeLink("http://nikonhacker.com") + "</p></body></html>"); // handle link events editorPane.addHyperlinkListener(new HyperlinkListener() { public void hyperlinkUpdate(HyperlinkEvent e) { if (e.getEventType().equals(HyperlinkEvent.EventType.ACTIVATED)) { try { Desktop.getDesktop().browse(e.getURL().toURI()); } catch (Exception e1) { // noop } } } }); editorPane.setEditable(false); Color greyLayer = new Color(label.getBackground().getRed(), label.getBackground().getGreen(), label.getBackground().getBlue(), 192); editorPane.setBackground(greyLayer); //editorPane.setOpaque(false); // show // JOptionPane.showMessageDialog(this, editorPane, "About", JOptionPane.PLAIN_MESSAGE); final JDialog dialog = new JDialog(this, "About", true); JPanel contentPane = new BackgroundImagePanel(new BorderLayout(), Toolkit.getDefaultToolkit().getImage(EmulatorUI.class.getResource("images/nh_full.jpg"))); contentPane.add(editorPane, BorderLayout.CENTER); JButton okButton = new JButton("OK"); okButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { dialog.dispose(); } }); JPanel bottomPanel = new JPanel(new FlowLayout(FlowLayout.CENTER)); bottomPanel.add(okButton); bottomPanel.setBackground(greyLayer); // bottomPanel.setOpaque(false); contentPane.add(bottomPanel, BorderLayout.SOUTH); dialog.setContentPane(contentPane); dialog.pack(); dialog.setLocationRelativeTo(this); dialog.setResizable(false); dialog.setVisible(true); }
From source file:com.projity.pm.graphic.frames.GraphicManager.java
public void setRibbon(JRibbonFrame frame, MenuManager menuManger) { final JPanel filtersPanel = new JPanel(new GridLayout(3, 1)); filterToolBarManager = FilterToolBarManager.create(getMenuManager()); filterToolBarManager.addButtonsInRibbonBand(filtersPanel); CustomRibbonBandGenerator customBandsGenerator = new CustomRibbonBandGenerator() { @Override/*from w ww. j av a 2 s .co m*/ public JComponent createRibbonComponent(String ribbonBandName) { if ("FiltersRibbonBand".equals(ribbonBandName)) { return filtersPanel; } else return null; } }; Collection<RibbonTask> ribbonTasks = menuManger.getRibbon(MenuManager.STANDARD_RIBBON, customBandsGenerator); JRibbon ribbon = frame.getRibbon(); for (RibbonTask ribbonTask : ribbonTasks) { ribbon.addTask(ribbonTask); } RibbonApplicationMenu applicationMenu = new RibbonApplicationMenu(); ribbon.setApplicationMenu(applicationMenu); Collection<AbstractCommandButton> taskBars = menuManger.getTaskBar(MenuManager.STANDARD_RIBBON); for (AbstractCommandButton button : taskBars) ribbon.addTaskbarComponent(button); ribbon.configureHelp(IconManager.getRibbonIcon("ribbon.help", 26, 26), new ActionListener() { @Override public void actionPerformed(ActionEvent e) { showHelpDialog(); } }); JLabel openprojLogo = ribbon.getOpenprojLogo(); openprojLogo.setIcon(IconManager.getIcon("logo.OpenProj")); openprojLogo.addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent me) { BrowserControl.displayURL("http://www.projity.com/"); } }); JPanel projectViews = ribbon.getProjectViews(); projectViews.setBorder(new EmptyBorder(0, 0, 0, 0)); getMenuManager().initComponent(MenuManager.RIBBON_VIEW_BAR, projectViews); JPanel fileSelector = ribbon.getFileSelector(); fileSelector.setLayout(new BorderLayout()); fileSelector.setBackground(ProjectLibreRibbonUI.RIBBON_MENU_COLOR); JComponent filesComponent = ((DefaultFrameManager) getFrameManager()).getProjectComboPanel(); filesComponent.setBackground(ProjectLibreRibbonUI.RIBBON_MENU_COLOR); fileSelector.add(filesComponent, BorderLayout.EAST); projectViews.setBorder(new EmptyBorder(0, 0, 0, 0)); }