protected void initFont() { myNormalFont = createFont(); myBoldFont = myNormalFont.deriveFont(Font.BOLD); myItalicFont = myNormalFont.deriveFont(Font.ITALIC); myBoldItalicFont = myBoldFont.deriveFont(Font.ITALIC); establishFontMetrics(); }
/** * Loads the Bootstrap font containing the glyphs * * @param size Desired font size * @return Font object for Bootstrap Glyph Font * @throws FontFormatException * @throws IOException */ private Font loadGlyphFont(float size) throws FontFormatException, IOException { Font fontRaw = Font.createFont( Font.TRUETYPE_FONT, this.getClass() .getResourceAsStream("/resource/image/glyphicons-halflings-regular.ttf")); Font fontBase = fontRaw.deriveFont(16f); return fontBase.deriveFont(Font.PLAIN, size); }
public RollResultView() { this.setOpaque(true); this.setLayout(new BorderLayout()); this.setBorder(BorderFactory.createLineBorder(Color.black, BORDER_WIDTH)); // add the title label to the panel titleLabel = new JLabel("Roll Results"); Font titleLabelFont = titleLabel.getFont(); titleLabelFont = titleLabelFont.deriveFont(titleLabelFont.getStyle(), TITLE_TEXT_SIZE); titleLabel.setFont(titleLabelFont); this.add(titleLabel, BorderLayout.NORTH); // add the button to the panel okayButton = new JButton("Okay"); okayButton.addActionListener(actionListener); Font okayButtonFont = okayButton.getFont(); okayButtonFont = okayButtonFont.deriveFont(okayButtonFont.getStyle(), BUTTON_TEXT_SIZE); okayButton.setFont(okayButtonFont); this.add(okayButton, BorderLayout.SOUTH); // create the rollLabel rollLabel = new JLabel( "ERROR: YOU FORGOT TO SET THE ROLL VALUE BEFORE DISPLAYING THIS WINDOW... NAUGHTY, NAUGHTY"); Font rollLabelFont = rollLabel.getFont(); rollLabelFont = rollLabelFont.deriveFont(rollLabelFont.getStyle(), LABEL_TEXT_SIZE); rollLabel.setFont(rollLabelFont); rollLabel.setHorizontalAlignment(SwingConstants.CENTER); rollLabel.setBorder(BorderFactory.createEmptyBorder(25, 0, 25, 0)); // create the picture picture = new ImageIcon( ImageUtils.loadImage("images/resources/resources.png") .getScaledInstance(250, 250, Image.SCALE_SMOOTH)); pictureLabel = new JLabel(); pictureLabel.setIcon(picture); // create the center label centerPanel = new JPanel(); centerPanel.setLayout(new BorderLayout()); centerPanel.add(pictureLabel, BorderLayout.NORTH); centerPanel.add(Box.createRigidArea(new Dimension(25, 25))); centerPanel.add(rollLabel, BorderLayout.SOUTH); this.add(centerPanel, BorderLayout.CENTER); // add some spacing this.add(Box.createRigidArea(new Dimension(50, 50)), BorderLayout.EAST); this.add(Box.createRigidArea(new Dimension(50, 50)), BorderLayout.WEST); }
/** * Create a new font data element * * @param ttf The TTF file to read * @param size The size of the new font * @throws java.io.IOException Indicates a failure to */ private FontData(InputStream ttf, float size) throws IOException { if (ttf.available() > MAX_FILE_SIZE) { throw new IOException("Can't load font - too big"); } byte[] data = IOUtils.toByteArray(ttf); if (data.length > MAX_FILE_SIZE) { throw new IOException("Can't load font - too big"); } this.size = size; try { javaFont = Font.createFont(Font.TRUETYPE_FONT, new ByteArrayInputStream(data)); TTFFile rawFont = new TTFFile(); if (!rawFont.readFont(new FontFileReader(data))) { throw new IOException("Invalid font file"); } upem = rawFont.getUPEM(); ansiKerning = rawFont.getAnsiKerning(); charWidth = rawFont.getAnsiWidth(); fontName = rawFont.getPostScriptName(); familyName = rawFont.getFamilyName(); String name = getName(); System.err.println("Loaded: " + name + " (" + data.length + ")"); boolean bo = false; boolean it = false; if (name.indexOf(',') >= 0) { name = name.substring(name.indexOf(',')); if (name.indexOf("Bold") >= 0) { bo = true; } if (name.indexOf("Italic") >= 0) { it = true; } } if ((bo & it)) { javaFont = javaFont.deriveFont(Font.BOLD | Font.ITALIC); } else if (bo) { javaFont = javaFont.deriveFont(Font.BOLD); } else if (it) { javaFont = javaFont.deriveFont(Font.ITALIC); } } catch (FontFormatException e) { IOException x = new IOException("Failed to read font"); x.initCause(e); throw x; } }
private int computeTextWidth(@NotNull Font font, final boolean mainTextOnly) { int result = 0; int baseSize = font.getSize(); boolean wasSmaller = false; for (int i = 0; i < myAttributes.size(); i++) { SimpleTextAttributes attributes = myAttributes.get(i); boolean isSmaller = attributes.isSmaller(); if (font.getStyle() != attributes.getFontStyle() || isSmaller != wasSmaller) { // derive font only if it is necessary font = font.deriveFont( attributes.getFontStyle(), isSmaller ? UIUtil.getFontSize(UIUtil.FontSize.SMALL) : baseSize); } wasSmaller = isSmaller; result += computeStringWidth(i, font); final int fixedWidth = myFragmentPadding.get(i); if (fixedWidth > 0 && result < fixedWidth) { result = fixedWidth; } if (mainTextOnly && myMainTextLastIndex >= 0 && i == myMainTextLastIndex) break; } return result; }
private JComponent createLogo() { NonOpaquePanel panel = new NonOpaquePanel(new BorderLayout()); ApplicationInfoEx app = ApplicationInfoEx.getInstanceEx(); JLabel logo = new JLabel(IconLoader.getIcon(app.getWelcomeScreenLogoUrl())); logo.setBorder(JBUI.Borders.empty(30, 0, 10, 0)); logo.setHorizontalAlignment(SwingConstants.CENTER); panel.add(logo, BorderLayout.NORTH); JLabel appName = new JLabel(ApplicationNamesInfo.getInstance().getFullProductName()); Font font = getProductFont(); appName.setForeground(JBColor.foreground()); appName.setFont(font.deriveFont(JBUI.scale(36f)).deriveFont(Font.PLAIN)); appName.setHorizontalAlignment(SwingConstants.CENTER); String appVersion = "Version " + app.getFullVersion(); if (app.isEAP() && app.getBuild().getBuildNumber() < Integer.MAX_VALUE) { appVersion += " (" + app.getBuild().asString() + ")"; } JLabel version = new JLabel(appVersion); version.setFont(getProductFont().deriveFont(JBUI.scale(16f))); version.setHorizontalAlignment(SwingConstants.CENTER); version.setForeground(Gray._128); panel.add(appName); panel.add(version, BorderLayout.SOUTH); panel.setBorder(JBUI.Borders.emptyBottom(20)); return panel; }
@Override public int print(Graphics g, PageFormat pf, int pageIndex) throws PrinterException { System.out.println("PageFormat: width=" + pf.getWidth() + ", height=" + pf.getHeight()); Logger.getGlobal().log(Level.INFO, "PageFormat {0}", pf); System.out.println("pageIndex " + pageIndex); Logger.getGlobal().log(Level.INFO, "pageIndex {0}", pageIndex); if (pageIndex == 0) { Graphics2D g2d = (Graphics2D) g; Font font = g2d.getFont(); g2d.setFont(font.deriveFont((float) fontSize)); g2d.translate(pf.getImageableX(), pf.getImageableY()); g2d.setColor(Color.black); int step = g2d.getFont().getSize(); step += step / 4; double y = paddingTop + g2d.getFont().getSize(); for (String s : printStringList) { Logger.getGlobal().log(Level.INFO, "printStringList: {0}", s); g2d.drawString(s, (float) paddingLeft, (float) y); y += step; } // g2d.fillRect(0, 0, 200, 200); return Printable.PAGE_EXISTS; } else { return Printable.NO_SUCH_PAGE; } }
/** * Creates a new <code>ThemeEditorPanel</code>. * * @param parent dialog in which the panel is stored. * @param title title of the panel. * @param themeData data that is being edited. */ public ThemeEditorPanel(PreferencesDialog parent, String title, ThemeData themeData) { super(parent, title); this.themeData = themeData; // Initialises the caption label font. captionLabelFont = new JLabel().getFont(); captionLabelFont = captionLabelFont.deriveFont(Font.BOLD, captionLabelFont.getSize() - 1.5f); }
/** * Create the name label if needed. * * @return The component that holds the name label. */ protected JComponent getLabelComponent() { if (nameLabel == null) { nameLabel = new JLabel(); Font font = nameLabel.getFont(); nameLabel.setFont(font.deriveFont(Font.ITALIC | Font.BOLD)); labelComponent = GuiUtils.hflow(Misc.newList(new JLabel("Layout Model: "), nameLabel)); } return labelComponent; }
/** * Drawer : draw the variable label of the component. * * @param g Graphics2D of the component (casted from getGraphics). * @param x x-cordinates of the label * @param y y-cordinates of the label * @param theta rotation (radians) of the label * @param label Drawn String. */ private void drawString2(Graphics2D g, double x, double y, double theta, String label) { g.setPaint(grid); AffineTransform fontAT = new AffineTransform(); Font theFont = g.getFont(); fontAT.rotate(theta); Font theDerivedFont = theFont.deriveFont(fontAT); g.setFont(theDerivedFont); g.drawString(label, (int) x, (int) y); g.setFont(theFont); }
public Font getFont(long time) { float s = (float) size.getDouble(time); if (s != cachedSize) { cachedSize = s; cachedFont = font.deriveFont((float) s); } return cachedFont; }
@NotNull private static Font getFontWithLigaturesEnabled(Font font) { if (SystemInfo.isMac) { // Ligatures don't work on Mac for fonts loaded natively, so we need to locate and load font // manually File fontFile = findFileForFont(font, true); if (fontFile == null && font.getStyle() != Font.PLAIN) fontFile = findFileForFont(font.deriveFont(Font.PLAIN), true); if (fontFile == null) fontFile = findFileForFont(font, false); if (fontFile == null) return font; try { font = Font.createFont(Font.TRUETYPE_FONT, fontFile) .deriveFont(font.getStyle(), font.getSize()); } catch (Exception e) { return font; } } return font.deriveFont( Collections.singletonMap(TextAttribute.LIGATURES, TextAttribute.LIGATURES_ON)); }
@Override public Font getTerminalFont() { Font normalFont = Font.decode(getFontName()); if (normalFont == null) { normalFont = super.getTerminalFont(); } normalFont = normalFont.deriveFont(getTerminalFontSize()); return normalFont; }
ParameterInfoComponent( Object[] objects, Editor editor, @NotNull ParameterInfoHandler handler, boolean requestFocus) { super(new BorderLayout()); myRequestFocus = requestFocus; if (!ApplicationManager.getApplication().isUnitTestMode()) { JComponent editorComponent = editor.getComponent(); JLayeredPane layeredPane = editorComponent.getRootPane().getLayeredPane(); myWidthLimit = layeredPane.getWidth(); } NORMAL_FONT = UIUtil.getLabelFont(); BOLD_FONT = NORMAL_FONT.deriveFont(Font.BOLD); myObjects = objects; setBackground(BACKGROUND_COLOR); myHandler = handler; myPanels = new OneElementComponent[myObjects.length]; final JPanel panel = new JPanel(new GridBagLayout()); for (int i = 0; i < myObjects.length; i++) { myPanels[i] = new OneElementComponent(); panel.add( myPanels[i], new GridBagConstraints( 0, i, 1, 1, 1, 0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0)); } if (myRequestFocus) { AccessibleContextUtil.setName( this, "Parameter Info. Press TAB to navigate through each element. Press ESC to close."); } final JScrollPane pane = ScrollPaneFactory.createScrollPane(panel); pane.setBorder(null); pane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED); add(pane, BorderLayout.CENTER); myCurrentParameterIndex = -1; }
@Override public UIDefaults getDefaults() { try { final Method superMethod = BasicLookAndFeel.class.getDeclaredMethod("getDefaults"); superMethod.setAccessible(true); final UIDefaults metalDefaults = (UIDefaults) superMethod.invoke(new MetalLookAndFeel()); final UIDefaults defaults = (UIDefaults) superMethod.invoke(base); if (SystemInfo.isLinux) { if (!Registry.is("darcula.use.native.fonts.on.linux")) { Font font = findFont("DejaVu Sans"); if (font != null) { for (Object key : defaults.keySet()) { if (key instanceof String && ((String) key).endsWith(".font")) { defaults.put(key, new FontUIResource(font.deriveFont(13f))); } } } } else if (Arrays.asList("CN", "JP", "KR", "TW") .contains(Locale.getDefault().getCountry())) { for (Object key : defaults.keySet()) { if (key instanceof String && ((String) key).endsWith(".font")) { final Font font = defaults.getFont(key); if (font != null) { defaults.put(key, new FontUIResource("Dialog", font.getStyle(), font.getSize())); } } } } } LafManagerImpl.initInputMapDefaults(defaults); initIdeaDefaults(defaults); patchStyledEditorKit(defaults); patchComboBox(metalDefaults, defaults); defaults.remove("Spinner.arrowButtonBorder"); defaults.put("Spinner.arrowButtonSize", JBUI.size(16, 5).asUIResource()); MetalLookAndFeel.setCurrentTheme(createMetalTheme()); if (SystemInfo.isWindows && Registry.is("ide.win.frame.decoration")) { JFrame.setDefaultLookAndFeelDecorated(true); JDialog.setDefaultLookAndFeelDecorated(true); } if (SystemInfo.isLinux && JBUI.isHiDPI()) { applySystemFonts(defaults); } defaults.put("EditorPane.font", defaults.getFont("TextField.font")); return defaults; } catch (Exception e) { log(e); } return super.getDefaults(); }
public Container CreateContentPane() { // Create the content-pane-to-be. JPanel contentPane = new JPanel(new BorderLayout()); contentPane.setOpaque(true); // the log panel log = new JTextPane(); log.setEditable(false); log.setBackground(Color.BLACK); logPane = new JScrollPane(log); kit = new HTMLEditorKit(); doc = new HTMLDocument(); log.setEditorKit(kit); log.setDocument(doc); DefaultCaret c = (DefaultCaret) log.getCaret(); c.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE); ClearLog(); // the preview panel previewPane = new DrawPanel(); previewPane.setPaperSize(paper_top, paper_bottom, paper_left, paper_right); // status bar statusBar = new StatusBar(); Font f = statusBar.getFont(); statusBar.setFont(f.deriveFont(Font.BOLD, 15)); Dimension d = statusBar.getMinimumSize(); d.setSize(d.getWidth(), d.getHeight() + 30); statusBar.setMinimumSize(d); // layout Splitter split = new Splitter(JSplitPane.VERTICAL_SPLIT); split.add(previewPane); split.add(logPane); split.setDividerSize(8); contentPane.add(statusBar, BorderLayout.SOUTH); contentPane.add(split, BorderLayout.CENTER); // open the file if (recentFiles[0].length() > 0) { OpenFileOnDemand(recentFiles[0]); } // connect to the last port ListSerialPorts(); if (Arrays.asList(portsDetected).contains(recentPort)) { OpenPort(recentPort); } return contentPane; }
/** * Create, if needed, and return the component label * * @return component label */ protected JLabel doMakeDisplayLabel() { if (displayLabel == null) { displayLabel = GuiUtils.cLabel(getName()); Font f = displayLabel.getFont(); f = f.deriveFont(18.0f); displayLabel.setFont(f); if (!labelShown) { displayLabel.setVisible(false); } } return displayLabel; }
public MaritimeTradeView() { this.setLayout(new BoxLayout(this, BoxLayout.X_AXIS)); Font font = new JButton().getFont(); Font newFont = font.deriveFont(font.getStyle(), 20); button = new JButton("Maritime Trade"); button.setFont(newFont); button.addActionListener(buttonListener); this.add(button); }
public TabbedEditor(org.colos.ejs.osejs.Osejs _ejs, String _type, String _header) { ejs = _ejs; defaultType = _type; defaultHeader = _header; defaultString = new String(res.getString(defaultHeader + ".Page")); MyActionListener al = new MyActionListener(); popupMenu = new PopupMenu(); customMenuItems(al); // Creates the top menu items // common menu items copyPage = createMenuItem("copyPage", defaultHeader, al); upPage = createMenuItem("upPage", defaultHeader, al); dnPage = createMenuItem("dnPage", defaultHeader, al); renamePage = createMenuItem("renamePage", defaultHeader, al); popupMenu.addSeparator(); togglePage = createMenuItem("togglePage", defaultHeader, al); removePage = createMenuItem("removePage", defaultHeader, al); JPanel firstPanel = createFirstPanel(); tabbedPanel = new JTabbedPane(); tabbedPanel.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT); tabbedPanel.add(popupMenu); // tabbedPanel.setPreferredSize (res.getDimension("TabbedEditor.PreferredSize")); tabbedPanel.addMouseListener( new java.awt.event.MouseAdapter() { public void mousePressed(java.awt.event.MouseEvent evt) { if (OSPRuntime.isPopupTrigger(evt)) // SwingUtilities.isRightMouseButton(evt)) showMenu(evt.getComponent(), evt.getX(), evt.getY()); } }); cardLayout = new CardLayout(); finalPanel = new JPanel(cardLayout); finalPanel.add(tabbedPanel, "TabbedPanel"); finalPanel.add(firstPanel, "FirstPanel"); setFont(finalPanel.getFont()); Font font = InterfaceUtils.font(null, res.getString("Editor.TitleFont")); addPageMI.setFont(font); copyPage.setFont(font); upPage.setFont(font); dnPage.setFont(font); togglePage.setFont(font); removePage.setFont(font); renamePage.setFont(font); myFont = font.deriveFont(Font.PLAIN); showFirstPage(); }
public void startDrop(PieceType pieceType, CatanColor pieceColor, boolean isCancelAllowed) { this.setOpaque(false); this.setLayout(new BorderLayout()); this.setBorder(BorderFactory.createLineBorder(Color.black, BORDER_WIDTH)); label = new JLabel(getLabelText(pieceType), JLabel.CENTER); label.setOpaque(true); label.setBackground(Color.white); Font labelFont = label.getFont(); labelFont = labelFont.deriveFont(labelFont.getStyle(), LABEL_TEXT_SIZE); label.setFont(labelFont); map = mainMap.copy(); map.setController(getController()); int prefWidth = (int) (mainMap.getScale() * mainMap.getPreferredSize().getWidth()); int prefHeight = (int) (mainMap.getScale() * mainMap.getPreferredSize().getHeight()); Dimension prefSize = new Dimension(prefWidth, prefHeight); map.setPreferredSize(prefSize); this.add(label, BorderLayout.NORTH); this.add(map, BorderLayout.CENTER); if (isCancelAllowed) { cancelButton = new JButton("Cancel"); Font buttonFont = cancelButton.getFont(); buttonFont = buttonFont.deriveFont(buttonFont.getStyle(), BUTTON_TEXT_SIZE); cancelButton.setFont(buttonFont); cancelButton.addActionListener(cancelButtonListener); this.add(cancelButton, BorderLayout.SOUTH); } map.startDrop(pieceType, pieceColor); }
public static JComponent createPromptComponent( Integer promptNumber, @NotNull final PromptType type) { final String promptText = prompt(promptNumber, type); JLabel promptLabel = new JLabel(promptText); promptLabel.setHorizontalAlignment(SwingConstants.RIGHT); promptLabel.setMinimumSize(PROMPT_SIZE); promptLabel.setPreferredSize(PROMPT_SIZE); final Font font = promptLabel.getFont(); assert font != null; promptLabel.setFont(font.deriveFont(Font.BOLD)); final JBColor darkRed = new JBColor(new Color(210, 30, 50), new Color(210, 30, 50)); promptLabel.setForeground(type == PromptType.In ? JBColor.BLUE : darkRed); promptLabel.setBackground(getBackground()); return promptLabel; }
@Override public Component getListCellRendererComponent( JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { if (!(value instanceof Delimiter)) { return super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); } else { JLabel label = new JLabel(value.toString()); Font f = label.getFont(); label.setFont(f.deriveFont(f.getStyle() | Font.BOLD | Font.ITALIC)); Dimension size = label.getPreferredSize(); size.height += 5; label.setPreferredSize(size); return label; } }
private void addFont(String fontKey, String fontName, float scale) { try { fontName = fontName.toLowerCase(); FileInputStream stream = new FileInputStream("data/fonts/ttf/" + fontName + ".ttf"); Font f = Font.createFont(Font.TRUETYPE_FONT, stream); f = f.deriveFont(scale); fonts.put(fontKey, f); stream.close(); } catch (Exception e) { e.printStackTrace(); } }
/** * Returns the index of text fragment at the specified X offset. * * @param x the offset * @return the index of the fragment, {@link #FRAGMENT_ICON} if the icon is at the offset, or -1 * if nothing is there. */ public int findFragmentAt(int x) { int curX = myIpad.left; if (myIcon != null && !myIconOnTheRight) { final int iconRight = myIcon.getIconWidth() + myIconTextGap; if (x < iconRight) { return FRAGMENT_ICON; } curX += iconRight; } Font font = getBaseFont(); int baseSize = font.getSize(); boolean wasSmaller = false; for (int i = 0; i < myAttributes.size(); i++) { SimpleTextAttributes attributes = myAttributes.get(i); boolean isSmaller = attributes.isSmaller(); if (font.getStyle() != attributes.getFontStyle() || isSmaller != wasSmaller) { // derive font only if it is necessary font = font.deriveFont( attributes.getFontStyle(), isSmaller ? UIUtil.getFontSize(UIUtil.FontSize.SMALL) : baseSize); } wasSmaller = isSmaller; final int curWidth = computeStringWidth(i, font); if (x >= curX && x < curX + curWidth) { return i; } curX += curWidth; final int fragmentPadding = myFragmentPadding.get(i); if (fragmentPadding > 0 && curX < fragmentPadding) { curX = fragmentPadding; } } if (myIcon != null && myIconOnTheRight) { curX += myIconTextGap; if (x >= curX && x < curX + myIcon.getIconWidth()) { return FRAGMENT_ICON; } } return -1; }
private void updateFontColor() { Font mainFont = DrJava.getConfig().getSetting(OptionConstants.FONT_MAIN); Color backColor = DrJava.getConfig().getSetting(OptionConstants.DEFINITIONS_BACKGROUND_COLOR); Color fontColor = DrJava.getConfig().getSetting(OptionConstants.DEFINITIONS_NORMAL_COLOR); /* make it bigger */ Font titleFont = mainFont.deriveFont((float) (mainFont.getSize() + 3)); _antiAliasText = DrJava.getConfig().getSetting(OptionConstants.TEXT_ANTIALIAS).booleanValue(); _label.setForeground(fontColor); _panel.setBackground(backColor); _label.setFont(titleFont); _textpane.setForeground(fontColor); _textpane.setFont(mainFont); ; _textpane.setBackground(backColor); _scroller.setBackground(backColor); _scroller.setBorder(new EmptyBorder(0, 0, 0, 0)); _panel.setBorder(new LineBorder(fontColor, 1)); }
/** Set the day-of-week labels' font. */ protected void setupDayOfWeekFonts() { Font font; if (dayOfWeekLabels == null) return; // If not null, use what the user gave us font = dayOfWeekFont; // Otherwise, use 9/11 of the L&F default for a label if (font == null) { font = UIManager.getFont("Label.font"); font = font.deriveFont((float) (font.getSize2D() * 9.0 / 11.0)); } // Set the day of week labels' font for (int day = 0; day < 7; day++) { dayOfWeekLabels[day].setFont(font); } }
public static BitmapFont createFromFont(Font font) { font = font.deriveFont(FONT_SIZE); int imageWidth = CHAR_WIDTH * NUM_CHARACTERS; //noinspection UndesirableClassUsage BufferedImage image = new BufferedImage(imageWidth, CHAR_HEIGHT, BufferedImage.TYPE_BYTE_BINARY); Graphics2D g = image.createGraphics(); g.setColor(Color.white); g.fillRect(0, 0, imageWidth, CHAR_HEIGHT); g.setColor(Color.black); g.setFont(font); char[] c = new char[1]; for (c[0] = 0; c[0] < NUM_CHARACTERS; c[0]++) { if (font.canDisplay(c[0])) { int x = c[0] * CHAR_WIDTH; g.setClip(x, 0, CHAR_WIDTH, CHAR_HEIGHT); g.drawChars(c, 0, 1, x, CHAR_HEIGHT - CHAR_DESCENT); } } g.dispose(); return new BitmapFont(image); }
/** * Same as parent, but override for native version of the font. * * <p>Also gets called by textFont, so the metrics will get recorded properly. */ public void textSize(float size) { if (textFont == null) { defaultFontOrDeath("textAscent", size); } // if a native version available, derive this font // if (textFontNative != null) { // textFontNative = textFontNative.deriveFont(size); // g2.setFont(textFontNative); // textFontNativeMetrics = g2.getFontMetrics(textFontNative); // } Font font = textFont.getFont(); if (font != null && (textFont.isStream() || hints[ENABLE_NATIVE_FONTS])) { Font dfont = font.deriveFont(size); g2.setFont(dfont); textFont.setFont(dfont); } // take care of setting the textSize and textLeading vars // this has to happen second, because it calls textAscent() // (which requires the native font metrics to be set) super.textSize(size); }
/** Set the day labels' font. */ protected void setupDayFonts() { Font font; if (dayButtons == null) return; // If null, use what the user gave us font = dayFont; // Otherwise, use 9/11 of the L&F default for a button if (font == null) { font = UIManager.getFont("Button.font"); font = font.deriveFont((float) (font.getSize2D() * 9.0 / 11.0)); } // Set the day labels' font for (int row = 0; row < 6; row++) { for (int day = 0; day < 7; day++) { dayButtons[row][day].setFont(font); } } }
private void initComponents() { final TitledBorder border = BorderFactory.createTitledBorder(label); final Font titleFont = border.getTitleFont(); if (titleFont != null) { border.setTitleFont(titleFont.deriveFont(Font.BOLD)); } setBorder(border); jtext = new JTextField(); // jtext.setText(defalt.getFile().getPath()); jRelativneKProgramu = new JCheckBox("Relativně k umístění programu"); jRelativneKProgramu.setEnabled(FConst.JAR_DIR_EXISTUJE); jActive = new JCheckBox("Aktivní"); jActive.setEnabled(lzeDeaktivovat); jCurrVal = new JTextField(); jCurrVal.setForeground(Color.BLUE); jCurrVal.setEditable(false); jCurrVal.setBorder(null); final JButton jbut = new JButton("..."); // jtext.setText(defalt.getFile().getPath()); jtext.setColumns(50); if (editovatelne) { final Box box2 = Box.createHorizontalBox(); box2.setAlignmentX(LEFT_ALIGNMENT); box2.add(jtext); box2.add(jbut); final Box panel3 = Box.createHorizontalBox(); if (FConst.JAR_DIR_EXISTUJE) { panel3.add(jRelativneKProgramu); } if (jActive.isEnabled()) { panel3.add(jActive); } if (panel3.getComponentCount() > 0) { add(panel3); } panel3.setAlignmentX(LEFT_ALIGNMENT); add(box2); } // panel.add(Box.createVerticalStrut(20)); jCurrVal.setAlignmentX(LEFT_ALIGNMENT); add(jCurrVal); // add(panel); // add(Box.createVerticalStrut(20)); jbut.addActionListener( new ActionListener() { private JFileChooser fc; @Override public void actionPerformed(final ActionEvent ae) { if (fc == null) { // dlouho to trvá, tak vytvoříme vždy nový fc = new JFileChooser(); } fc.setCurrentDirectory(new File(jtext.getText())); if (jenAdresare) { fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); } final int result = fc.showDialog(JJedenSouborPanel.this, "Vybrat"); if (result == JFileChooser.APPROVE_OPTION) { jtext.setText(fc.getSelectedFile().getPath()); } } }); prepocitej(); jtext.getDocument().addDocumentListener(this); jRelativneKProgramu.addActionListener(e -> prepocitej()); jActive.addActionListener(e -> prepocitej()); }