Search in sources :

Example 51 with DefaultCaret

use of javax.swing.text.DefaultCaret in project java-swing-tips by aterai.

the class LineCursorTextArea method paintComponent.

@Override
protected void paintComponent(Graphics g) {
    super.paintComponent(g);
    Caret c = getCaret();
    if (c instanceof DefaultCaret) {
        Graphics2D g2 = (Graphics2D) g.create();
        Rectangle r = SwingUtilities.calculateInnerArea(this, null);
        DefaultCaret caret = (DefaultCaret) c;
        int y = caret.y + caret.height - 1;
        g2.setPaint(LINE_COLOR);
        g2.drawLine(r.x, y, (int) r.getMaxX(), y);
        g2.dispose();
    }
}
Also used : DefaultCaret(javax.swing.text.DefaultCaret) Caret(javax.swing.text.Caret) DefaultCaret(javax.swing.text.DefaultCaret)

Example 52 with DefaultCaret

use of javax.swing.text.DefaultCaret in project java-swing-tips by aterai.

the class HighlightCursorTextArea method paintComponent.

@Override
protected void paintComponent(Graphics g) {
    Caret c = getCaret();
    if (c instanceof DefaultCaret) {
        Graphics2D g2 = (Graphics2D) g.create();
        DefaultCaret caret = (DefaultCaret) c;
        Rectangle r = SwingUtilities.calculateInnerArea(this, rect);
        r.y = caret.y;
        r.height = caret.height;
        g2.setPaint(LINE_COLOR);
        g2.fill(r);
        g2.dispose();
    }
    super.paintComponent(g);
}
Also used : DefaultCaret(javax.swing.text.DefaultCaret) Caret(javax.swing.text.Caret) DefaultCaret(javax.swing.text.DefaultCaret)

Example 53 with DefaultCaret

use of javax.swing.text.DefaultCaret in project java-swing-tips by aterai.

the class HighlightCursorTextArea method updateUI.

@Override
public void updateUI() {
    super.updateUI();
    setOpaque(false);
    Caret caret = new DefaultCaret() {

        // [UnsynchronizedOverridesSynchronized]
        // Unsynchronized method damage overrides synchronized method in DefaultCaret
        @SuppressWarnings("PMD.AvoidSynchronizedAtMethodLevel")
        @Override
        protected synchronized void damage(Rectangle r) {
            if (Objects.nonNull(r)) {
                JTextComponent c = getComponent();
                x = 0;
                y = r.y;
                width = c.getSize().width;
                height = r.height;
                c.repaint();
            }
        }
    };
    // caret.setBlinkRate(getCaret().getBlinkRate());
    caret.setBlinkRate(UIManager.getInt("TextArea.caretBlinkRate"));
    setCaret(caret);
}
Also used : DefaultCaret(javax.swing.text.DefaultCaret) JTextComponent(javax.swing.text.JTextComponent) Caret(javax.swing.text.Caret) DefaultCaret(javax.swing.text.DefaultCaret)

Example 54 with DefaultCaret

use of javax.swing.text.DefaultCaret in project NJAU-OS_sourse_design-simulated_linux by 404874351.

the class Dashboard method initConsole.

/**
 * 初始化控制台
 */
public void initConsole() {
    // 绘制控制台富文本
    doc = this.console.getStyledDocument();
    // 保持滚动条在底端
    DefaultCaret caret = (DefaultCaret) this.console.getCaret();
    caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);
    // 设置控制台输出样式
    this.logStyle = new SimpleAttributeSet();
    StyleConstants.setFontFamily(this.logStyle, "Microsoft YaHei UI");
    StyleConstants.setFontSize(this.logStyle, 14);
    StyleConstants.setForeground(this.logStyle, Color.DARK_GRAY);
    this.infoStyle = new SimpleAttributeSet();
    StyleConstants.setFontFamily(this.infoStyle, "Microsoft YaHei UI");
    StyleConstants.setFontSize(this.infoStyle, 14);
    StyleConstants.setForeground(this.infoStyle, Color.BLUE);
    this.errorStyle = new SimpleAttributeSet();
    StyleConstants.setFontFamily(this.errorStyle, "Microsoft YaHei UI");
    StyleConstants.setFontSize(this.errorStyle, 14);
    StyleConstants.setForeground(this.errorStyle, Color.RED);
    this.successStyle = new SimpleAttributeSet();
    StyleConstants.setFontFamily(this.successStyle, "Microsoft YaHei UI");
    StyleConstants.setFontSize(this.successStyle, 14);
    StyleConstants.setForeground(this.successStyle, Color.GREEN);
}
Also used : SimpleAttributeSet(javax.swing.text.SimpleAttributeSet) DefaultCaret(javax.swing.text.DefaultCaret)

Aggregations

DefaultCaret (javax.swing.text.DefaultCaret)54 JScrollPane (javax.swing.JScrollPane)15 JTextArea (javax.swing.JTextArea)12 Dimension (java.awt.Dimension)8 JPanel (javax.swing.JPanel)8 JLabel (javax.swing.JLabel)7 Caret (javax.swing.text.Caret)7 BorderLayout (java.awt.BorderLayout)6 ActionEvent (java.awt.event.ActionEvent)5 JButton (javax.swing.JButton)5 HTMLEditorKit (javax.swing.text.html.HTMLEditorKit)5 ActionListener (java.awt.event.ActionListener)4 JDialog (javax.swing.JDialog)4 JFrame (javax.swing.JFrame)4 LocationFullException (megamek.common.LocationFullException)4 FocusEvent (java.awt.event.FocusEvent)3 Splitter (com.intellij.openapi.ui.Splitter)2 JBList (com.intellij.ui.components.JBList)2 Color (java.awt.Color)2 Font (java.awt.Font)2