protected static void fixFonts(Workbook workbook) {
   if (!JvmBugs.hasLineBreakMeasurerBug()) return;
   for (int i = workbook.getNumberOfFonts() - 1; i >= 0; i--) {
     Font f = workbook.getFontAt((short) 0);
     if ("Calibri".equals(f.getFontName())) {
       f.setFontName("Lucida Sans");
     } else if ("Cambria".equals(f.getFontName())) {
       f.setFontName("Lucida Bright");
     }
   }
 }
示例#2
0
 /** Copy text attributes from the supplied Font to Java2D AttributedString */
 private static void copyAttributes(Font font, AttributedString str, int startIdx, int endIdx) {
   str.addAttribute(TextAttribute.FAMILY, font.getFontName(), startIdx, endIdx);
   str.addAttribute(TextAttribute.SIZE, (float) font.getFontHeightInPoints());
   if (font.getBoldweight() == Font.BOLDWEIGHT_BOLD)
     str.addAttribute(TextAttribute.WEIGHT, TextAttribute.WEIGHT_BOLD, startIdx, endIdx);
   if (font.getItalic())
     str.addAttribute(TextAttribute.POSTURE, TextAttribute.POSTURE_OBLIQUE, startIdx, endIdx);
   if (font.getUnderline() == Font.U_SINGLE)
     str.addAttribute(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON, startIdx, endIdx);
 }
  @Override
  protected JComponent getRowPresentation(
      ParameterTableModelItemBase<ParameterInfoImpl> item,
      boolean selected,
      final boolean focused) {
    final JPanel panel = new JPanel(new BorderLayout());
    final String typeText = item.typeCodeFragment.getText();
    final String separator =
        StringUtil.repeatSymbol(' ', getTypesMaxLength() - typeText.length() + 1);
    String text = typeText + separator + item.parameter.getName();
    final String defaultValue = item.defaultValueCodeFragment.getText();
    String tail = "";
    if (StringUtil.isNotEmpty(defaultValue)) {
      tail += " default value = " + defaultValue;
    }
    if (item.parameter.isUseAnySingleVariable()) {
      if (StringUtil.isNotEmpty(defaultValue)) {
        tail += ";";
      }
      tail += " Use any var.";
    }
    if (!StringUtil.isEmpty(tail)) {
      text += " //" + tail;
    }
    final EditorTextField field =
        new EditorTextField(" " + text, getProject(), getFileType()) {
          @Override
          protected boolean shouldHaveBorder() {
            return false;
          }
        };

    Font font = EditorColorsManager.getInstance().getGlobalScheme().getFont(EditorFontType.PLAIN);
    font = new Font(font.getFontName(), font.getStyle(), 12);
    field.setFont(font);

    if (selected && focused) {
      panel.setBackground(UIUtil.getTableSelectionBackground());
      field.setAsRendererWithSelection(
          UIUtil.getTableSelectionBackground(), UIUtil.getTableSelectionForeground());
    } else {
      panel.setBackground(UIUtil.getTableBackground());
      if (selected && !focused) {
        panel.setBorder(new DottedBorder(UIUtil.getTableForeground()));
      }
    }
    panel.add(field, BorderLayout.WEST);
    return panel;
  }
  protected SFont createZssFont(Font poiFont) {
    SFont font = book.createFont(true);
    // font
    font.setName(poiFont.getFontName());
    font.setBoldweight(PoiEnumConversion.toBoldweight(poiFont.getBoldweight()));
    font.setItalic(poiFont.getItalic());
    font.setStrikeout(poiFont.getStrikeout());
    font.setUnderline(PoiEnumConversion.toUnderline(poiFont.getUnderline()));

    font.setHeightPoints(poiFont.getFontHeightInPoints());
    font.setTypeOffset(PoiEnumConversion.toTypeOffset(poiFont.getTypeOffset()));
    font.setColor(book.createColor(BookHelper.getFontHTMLColor(workbook, poiFont)));

    return font;
  }
示例#5
0
  @Test
  public void shouldBuildFont() throws Exception {
    styledText = new StyledText("Blah");
    styledText.setupStyles(
        new HashMap<String, RichStyle>(), new RichStyle(), new MockStyleObserver());
    styledText.getStyle().setFontFace("Courier");
    styledText.getStyle().setFontStyle("plain");
    styledText.getStyle().setFontSize(12);

    Font font = styledText.getFont();

    final String name = font.getFontName();
    assertTrue(
        "Expected 'Courier' or 'Monospace.plain' but got '" + name + "'",
        "Courier".equals(name) || "Monospaced.plain".equals(name));
    assertEquals(12, font.getSize());
    assertEquals(true, font.isPlain());
  }
  @Override
  public String toString(TextStyle ts) {
    StringBuilder obj = new StringBuilder();

    // Store font info
    Font f = ts.getFont();
    if (f != null) {
      obj.append(f.getFontName(Locale.ROOT));

      if (f.getStyle() != Font.PLAIN) {
        obj.append('-');
        if ((f.getStyle() & Font.BOLD) == Font.BOLD) {
          obj.append("bold");
        }
        if ((f.getStyle() & Font.ITALIC) == Font.ITALIC) {
          obj.append("italic");
        }
      }
      obj.append('-');
      obj.append(f.getSize());
    }
    obj.append(';');

    // Store foreground
    Color fg = ts.getForeground();
    if (fg != null) {
      obj.append(fg.getRGB());
    }
    obj.append(';');

    // Store background
    Color bg = ts.getBackground();
    if (bg != null) {
      obj.append(bg.getRGB());
    }

    return obj.toString();
  }
 private int getColumnWidth(int index) {
   int letters = getTypesMaxLength() + (index == 0 ? 1 : getNamesMaxLength() + 2);
   Font font = EditorColorsManager.getInstance().getGlobalScheme().getFont(EditorFontType.PLAIN);
   font = new Font(font.getFontName(), font.getStyle(), 12);
   return letters * Toolkit.getDefaultToolkit().getFontMetrics(font).stringWidth("W");
 }
示例#8
0
  public GUI() {

    // Sets the text and initiates the objects for the buttons
    playButton = new JButton("PLAY");
    exitButton = new JButton("QUIT");
    howToPlay = new JButton("HOW TO PLAY");
    quitEducation = new JButton("Quit education");
    rollDice = new JButton("ROLL THE DICE");
    saveCareerProspects = new JButton("Save career prospects");
    exitApplication = new JButton("Exit application");

    // The main container for the JFrames
    // container for frame

    JPanel welcome = new JPanel();
    spalshScreen.setContentPane(welcome);
    JPanel container = new JPanel();
    frame.setContentPane(container);
    // container for frame 2
    JPanel container2 = new JPanel();
    container2.setBackground(Color.WHITE);

    frame2.setContentPane(container2);
    // container for frame 3
    JPanel container3 = new JPanel();
    container3.setBackground(Color.WHITE);
    frame3.setContentPane(container3);

    loading = new javax.swing.JLabel();
    loading.setIcon(
        new javax.swing.ImageIcon(getClass().getClassLoader().getResource("images/hexLoader.gif")));

    // start panel with play button and exit button
    // for frame

    playerName = new javax.swing.JTextField();
    playerName.setText("Player");
    playerName.setLocation(100, 100);
    playerName.setPreferredSize(new Dimension(100, 100));
    playerName.setHorizontalAlignment(JTextField.CENTER);

    JPanel frame = new JPanel();

    frame.add(playerName);

    frame.add(playButton);
    playButton.setPreferredSize(new Dimension(200, 100));
    frame.add(exitButton);
    exitButton.setPreferredSize(new Dimension(200, 100));
    frame.add(howToPlay);
    howToPlay.setPreferredSize(new Dimension(200, 100));

    // board image start screen
    start = new javax.swing.JLabel();
    start.setIcon(
        new javax.swing.ImageIcon(getClass().getClassLoader().getResource("images/logo2.png")));

    // for frame 2
    JPanel frame2 = new JPanel();
    frame2.add(quitEducation);

    /* Start of creating the board */

    JButton ordinaryButton;
    int row = 10, column = 10;
    frame2.setLayout(new GridBagLayout());
    GridBagConstraints gbc = new GridBagConstraints();
    gbc.fill = GridBagConstraints.HORIZONTAL;
    gbc.insets = new Insets(3, 3, 3, 3);

    for (int j = 1; j <= row; j++) {
      for (int i = 0; i < column; i++) {

        ordinaryButton = new JButton();

        if (i == column - 1 && j == row) doActiveTile(ordinaryButton);

        if (j == 1) { // top line
          gbc.ipady = 30;
          gbc.gridx = i;
          gbc.gridy = j;
          gbc.gridwidth = 1;
          addToList(ordinaryButton, TOP);
          frame2.add(ordinaryButton, gbc); // add in the frame
        } else {
          if (j == 10) { // bottom line
            gbc.ipady = 30;
            gbc.gridx = i;
            gbc.gridy = j;
            gbc.gridwidth = 1;
            addToList(ordinaryButton, BOTTOM);
            frame2.add(ordinaryButton, gbc); // add in the frame
          } else {
            if (i == 0) { // left-hand side column
              gbc.ipady = 30;
              gbc.gridx = i;
              gbc.gridy = j;
              gbc.gridwidth = 1;
              addToList(ordinaryButton, LEFT);
              frame2.add(ordinaryButton, gbc); // add in the frame
            } else {
              if (i == 9) { // right-hand side column
                gbc.ipady = 30;
                gbc.gridx = i;
                gbc.gridy = j;
                gbc.gridwidth = 1;
                addToList(ordinaryButton, RIGHT);
                frame2.add(ordinaryButton, gbc); // add in the frame
              }
            }
          }
        }
      }
    }
    /* End of creating the board */

    /* adding constraints for roll dice and Quit education */
    gbc.ipady = 30;
    gbc.gridx = 2;
    gbc.gridy = 4;
    gbc.gridwidth = 2;
    frame2.add(rollDice, gbc); // add in the frame

    gbc.ipady = 30;
    gbc.gridx = 6;
    gbc.gridy = 4;
    gbc.gridwidth = 2;
    frame2.add(quitEducation, gbc); // add in the frame
    /* END OF adding constraints for roll dice and Quit education */

    // for frame 3
    JPanel frame3 = new JPanel();

    frame3.setLayout(new GridBagLayout());
    gbc = new GridBagConstraints();
    gbc.fill = GridBagConstraints.HORIZONTAL;
    gbc.insets = new Insets(3, 3, 3, 3);
    gbc.ipady = 30;
    gbc.gridx = 1;
    gbc.gridy = 1;
    gbc.gridwidth = 4;
    frame3.add(saveCareerProspects, gbc);

    frame3.setBackground(Color.WHITE);

    skillsLabel = new javax.swing.JLabel("SKILLS");
    skillsLabel.setBorder(BorderFactory.createMatteBorder(1, 5, 1, 1, Color.ORANGE));
    Font font = skillsLabel.getFont();
    // same font but bold
    int fontSize = font.getSize();
    fontSize += 5;
    Font boldFont = new Font(font.getFontName(), Font.BOLD, fontSize);
    skillsLabel.setFont(boldFont);

    gbc.ipady = 10;
    gbc.gridx = 1;
    gbc.gridy = 3;
    gbc.gridwidth = 1;
    frame3.add(skillsLabel, gbc);
    mathematicsLabel = new javax.swing.JLabel();
    mathematicsLabel.setBorder(BorderFactory.createMatteBorder(1, 5, 1, 1, Color.PINK));
    gbc.gridx = 1;
    gbc.gridy = 4;
    gbc.gridwidth = 1;
    frame3.add(mathematicsLabel, gbc);
    scienceLabel = new javax.swing.JLabel();
    scienceLabel.setBorder(BorderFactory.createMatteBorder(1, 5, 1, 1, Color.CYAN));
    gbc.gridx = 1;
    gbc.gridy = 5;
    gbc.gridwidth = 1;
    frame3.add(scienceLabel, gbc);
    computerScienceLabel = new javax.swing.JLabel();
    computerScienceLabel.setBorder(BorderFactory.createMatteBorder(1, 5, 1, 1, Color.green));
    gbc.gridx = 1;
    gbc.gridy = 6;
    gbc.gridwidth = 1;
    frame3.add(computerScienceLabel, gbc);
    geographyLabel = new javax.swing.JLabel();
    geographyLabel.setBorder(BorderFactory.createMatteBorder(1, 5, 1, 1, Color.RED));
    gbc.gridx = 1;
    gbc.gridy = 7;
    gbc.gridwidth = 1;
    frame3.add(geographyLabel, gbc);
    historyLabel = new javax.swing.JLabel();
    historyLabel.setBorder(BorderFactory.createMatteBorder(1, 5, 1, 1, Color.BLACK));
    gbc.gridx = 1;
    gbc.gridy = 8;
    gbc.gridwidth = 1;
    frame3.add(historyLabel, gbc);
    gbc.ipady = 30;
    gbc.gridx = 1;
    gbc.gridy = 9;
    gbc.gridwidth = 4;
    frame3.add(exitApplication, gbc);

    gbc.ipady = 10;
    careersLabel = new javax.swing.JLabel("CAREER PROSPECTS", SwingConstants.RIGHT);
    gbc.gridx = 3;
    gbc.gridy = 3;
    gbc.gridwidth = 1;
    careersLabel.setFont(boldFont);

    frame3.add(careersLabel, gbc);
    secondColMaths = new javax.swing.JLabel(mathematicsCareer[0], SwingConstants.RIGHT);
    gbc.gridx = 3;
    gbc.gridy = 4;
    gbc.gridwidth = 1;
    frame3.add(secondColMaths, gbc);
    secondColScience = new javax.swing.JLabel(scienceCareer[0], SwingConstants.RIGHT);
    gbc.gridx = 3;
    gbc.gridy = 5;
    gbc.gridwidth = 1;
    frame3.add(secondColScience, gbc);
    secondColCompScience = new javax.swing.JLabel(computerScienceCareer[0], SwingConstants.RIGHT);
    gbc.gridx = 3;
    gbc.gridy = 6;
    gbc.gridwidth = 1;
    frame3.add(secondColCompScience, gbc);
    secondColGeography = new javax.swing.JLabel(geographyCareer[0], SwingConstants.RIGHT);
    gbc.gridx = 3;
    gbc.gridy = 7;
    gbc.gridwidth = 1;
    frame3.add(secondColGeography, gbc);
    secondColHistory = new javax.swing.JLabel(historyCareer[0], SwingConstants.RIGHT);
    gbc.gridx = 3;
    gbc.gridy = 8;
    gbc.gridwidth = 1;
    frame3.add(secondColHistory, gbc);

    JLabel skills = new javax.swing.JLabel();
    skills.setIcon(
        new javax.swing.ImageIcon(getClass().getClassLoader().getResource("images/small.jpg")));
    gbc.gridx = 1;
    gbc.gridy = 1;
    gbc.gridheight = 9;
    gbc.gridwidth = 3;
    frame3.add(skills, gbc);

    JLabel backgroundImage = new javax.swing.JLabel();
    backgroundImage.setIcon(
        new javax.swing.ImageIcon(getClass().getClassLoader().getResource("images/logoSmall.jpg")));
    gbc.gridx = 3;
    gbc.gridy = 2;
    gbc.gridheight = 2;
    gbc.gridwidth = 3;
    frame2.setBackground(Color.WHITE);
    frame2.add(backgroundImage, gbc);

    JLabel rollDiceImage = new javax.swing.JLabel();
    rollDiceImage.setIcon(
        new javax.swing.ImageIcon(getClass().getClassLoader().getResource("images/rollDice.jpg")));
    gbc.gridx = 2;
    gbc.gridy = 5;
    gbc.gridheight = 3;
    gbc.gridwidth = 3;
    frame2.add(rollDiceImage, gbc);

    JLabel quitEducationImage = new javax.swing.JLabel();
    quitEducationImage.setIcon(
        new javax.swing.ImageIcon(
            getClass().getClassLoader().getResource("images/quitEducation.jpg")));
    gbc.gridx = 6;
    gbc.gridy = 5;
    gbc.gridheight = 3;
    gbc.gridwidth = 3;
    frame2.add(quitEducationImage, gbc);

    exitApplication.setFont(boldFont);
    saveCareerProspects.setFont(boldFont);
    saveCareerProspects.setForeground(Color.ORANGE);
    exitApplication.setBackground(Color.BLACK);
    exitApplication.setForeground(Color.RED);
    Border border = new LineBorder(Color.LIGHT_GRAY, 5);
    exitApplication.setBorder(border);
    saveCareerProspects.setBorder(border);
    start.setBorder(border);
    howToPlay.setBorder(border);
    playButton.setBorder(border);
    exitButton.setBorder(border);
    howToPlay.setFont(boldFont);
    playButton.setFont(boldFont);
    exitButton.setFont(boldFont);
    border = new LineBorder(Color.ORANGE, 5);
    playerName.setBorder(border);

    // Adds the fields to the panel
    // Adds all the panels to the container
    welcome.add(loading);
    container.add(start);
    container.add(frame);
    container2.add(frame2);
    container3.add(frame3);

    // Action Listeners for the buttons
    howToPlay.addActionListener(this);
    playButton.addActionListener(this);
    exitButton.addActionListener(this);
    quitEducation.addActionListener(this);
    rollDice.addActionListener(this);
    saveCareerProspects.addActionListener(this);
    exitApplication.addActionListener(this);

    // Starts up the UI
    startGui();
    print();
  }