/** * Displays the string representation of the maze. * * @param mz String representing the maze. */ public void displayMaze(String mz) { SimpleAttributeSet attr = new SimpleAttributeSet(); StyleConstants.setLineSpacing(attr, -0.3f); mazeOutLabel.setParagraphAttributes(attr, false); mazeOutLabel.setText(mz); imagePanel.add(mazeOutLabel); pack(); }
private static void insertQuestion(final JTextPane textPane, String str) { Document doc = textPane.getDocument(); try { doc.insertString(doc.getLength(), str, null); final int pos = doc.getLength(); System.out.println(pos); final JTextField field = new JTextField(4) { @Override public Dimension getMaximumSize() { return getPreferredSize(); } }; field.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, Color.BLACK)); field.addFocusListener( new FocusListener() { @Override public void focusGained(FocusEvent e) { try { Rectangle rect = textPane.modelToView(pos); rect.grow(0, 4); rect.setSize(field.getSize()); // System.out.println(rect); // System.out.println(field.getLocation()); textPane.scrollRectToVisible(rect); } catch (BadLocationException ex) { ex.printStackTrace(); } } @Override public void focusLost(FocusEvent e) { /* not needed */ } }); Dimension d = field.getPreferredSize(); int baseline = field.getBaseline(d.width, d.height); field.setAlignmentY(baseline / (float) d.height); SimpleAttributeSet a = new SimpleAttributeSet(); StyleConstants.setLineSpacing(a, 1.5f); textPane.setParagraphAttributes(a, true); textPane.insertComponent(field); doc.insertString(doc.getLength(), "\n", null); } catch (BadLocationException e) { e.printStackTrace(); } }
private void displayCenteredText(String text) { textArea.setText(""); text = "\n\n\n" + text; SimpleAttributeSet attribs = new SimpleAttributeSet(); float fnt = sd.getFontSize(); StyledDocument doc = (StyledDocument) textArea.getDocument(); Style style = doc.getStyle(StyleContext.DEFAULT_STYLE); // doc.addStyle("MyStyle",null); StyleConstants.setFontSize(style, (int) fnt); StyleConstants.setLineSpacing(attribs, 0.5f); StyleConstants.setFontFamily(style, "Segoe UI"); StyleConstants.setAlignment(attribs, StyleConstants.ALIGN_CENTER); textArea.setParagraphAttributes(attribs, true); try { doc.insertString(doc.getLength(), text, style); doc.setParagraphAttributes(0, doc.getLength() - 1, attribs, false); } catch (BadLocationException ex) { Logger.getLogger(DylematorUI.class.getName()).log(Level.SEVERE, null, ex); } }