Search in sources :

Example 21 with DefaultCaret

use of javax.swing.text.DefaultCaret in project oshi by oshi.

the class UsbPanel method init.

private void init(HardwareAbstractionLayer hal) {
    JLabel usb = new JLabel(USB_DEVICES);
    add(usb, BorderLayout.NORTH);
    JTextArea usbArea = new JTextArea(60, 20);
    JScrollPane scrollV = new JScrollPane(usbArea);
    scrollV.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);
    DefaultCaret caret = (DefaultCaret) usbArea.getCaret();
    caret.setUpdatePolicy(DefaultCaret.NEVER_UPDATE);
    usbArea.setText(getUsbString(hal));
    add(scrollV, BorderLayout.CENTER);
    Timer timer = new Timer(Config.REFRESH_SLOW, e -> usbArea.setText(getUsbString(hal)));
    timer.start();
}
Also used : JScrollPane(javax.swing.JScrollPane) JTextArea(javax.swing.JTextArea) DefaultCaret(javax.swing.text.DefaultCaret) Timer(javax.swing.Timer) JLabel(javax.swing.JLabel)

Example 22 with DefaultCaret

use of javax.swing.text.DefaultCaret in project visualvm by oracle.

the class HTMLTextAreaSearchUtils method createSearchPanel.

public static JComponent createSearchPanel(final HTMLTextArea area) {
    SearchPanel sp = new SearchPanel(area) {

        public void setVisible(boolean visible) {
            super.setVisible(visible);
            if (!visible)
                area.requestFocusInWindow();
        }
    };
    area.putClientProperty(PROP_SEARCH_PANEL, sp);
    enableSearchActions(area);
    // Make sure selection is visible even if the text area is not focused
    Caret caret = area.getCaret();
    if (caret instanceof DefaultCaret) {
        area.setCaret(new DefaultCaret() {

            public void setSelectionVisible(boolean visible) {
                super.setSelectionVisible(true);
            }
        });
    }
    return sp;
}
Also used : DefaultCaret(javax.swing.text.DefaultCaret) Caret(javax.swing.text.Caret) DefaultCaret(javax.swing.text.DefaultCaret)

Example 23 with DefaultCaret

use of javax.swing.text.DefaultCaret in project platform by lsfusion.

the class Log method createDataTable.

private static Component createDataTable(List<String> titles, List<List<String>> data) {
    int size = data.size();
    Object[] columnNames = titles.toArray();
    Object[][] dataArray = new Object[size][];
    int i = 0;
    for (List<String> dataRow : data) {
        dataArray[i] = dataRow.toArray();
        i++;
    }
    JTable table = new JTable(dataArray, columnNames);
    table.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
    if (titles.size() == 1) {
        table.getTableHeader().setReorderingAllowed(false);
    }
    table.setPreferredScrollableViewportSize(new Dimension(table.getPreferredScrollableViewportSize().width, Math.min(table.getPreferredScrollableViewportSize().height, dataArray.length * table.getRowHeight())));
    Caret caret = new DefaultCaret() {

        public void focusGained(FocusEvent e) {
            setVisible(true);
            setSelectionVisible(true);
        }
    };
    caret.setBlinkRate(UIManager.getInt("TextField.caretBlinkRate"));
    JTextField textField = new JTextField();
    textField.setEditable(false);
    textField.setCaret(caret);
    textField.setBorder(new LineBorder(Color.BLACK));
    DefaultCellEditor dce = new DefaultCellEditor(textField);
    for (int j = 0; j < table.getColumnModel().getColumnCount(); j++) {
        table.getColumnModel().getColumn(j).setCellEditor(dce);
    }
    table.setFocusable(true);
    return table;
}
Also used : LineBorder(javax.swing.border.LineBorder) ClientResourceBundle.getString(lsfusion.client.ClientResourceBundle.getString) FocusEvent(java.awt.event.FocusEvent) DefaultCaret(javax.swing.text.DefaultCaret) Caret(javax.swing.text.Caret) DefaultCaret(javax.swing.text.DefaultCaret)

Example 24 with DefaultCaret

use of javax.swing.text.DefaultCaret in project platform by lsfusion.

the class BusyDialog method createTextPanel.

private JTextArea createTextPanel(List<String> lines, boolean changed) {
    final JTextArea textArea = new JTextArea();
    textArea.setLineWrap(true);
    Font font = UIManager.getFont("Label.font");
    textArea.setFont(font);
    final int fontHeight = textArea.getFontMetrics(font).getHeight();
    textArea.setEditable(false);
    DefaultCaret caret = (DefaultCaret) textArea.getCaret();
    // hack to not to scroll to the bottom (because of running with invokeLater)
    caret.setUpdatePolicy(DefaultCaret.NEVER_UPDATE);
    String str = "";
    for (int i = 0; i < lines.size(); i++) {
        str += lines.get(i) + (i == lines.size() - 1 ? "" : "\n");
    }
    textArea.setText(str);
    textArea.setBackground(changed ? SwingDefaults.getSelectionColor() : null);
    textArea.addComponentListener(new ComponentAdapter() {

        @Override
        public void componentResized(ComponentEvent e) {
            textArea.setPreferredSize(new Dimension(subStackPanel.getPreferredSize().width - 40, getLineCountAsSeen(textArea, fontHeight) * fontHeight + 10));
        }
    });
    textArea.setBorder(createCompoundBorder(createLineBorder(getComponentBorderColor(), 1), createEmptyBorder(5, 5, 5, 5)));
    return textArea;
}
Also used : DefaultCaret(javax.swing.text.DefaultCaret) ClientResourceBundle.getString(lsfusion.client.ClientResourceBundle.getString)

Example 25 with DefaultCaret

use of javax.swing.text.DefaultCaret in project myrobotlab by MyRobotLab.

the class RoombaGui method makeDisplayPanel.

/**
 */
void makeDisplayPanel() {
    displayPanel = new JPanel();
    displayPanel.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createTitledBorder("Display"), BorderFactory.createEmptyBorder(1, 1, 1, 1)));
    displayText = new JTextArea(5, 30);
    displayText.setLineWrap(true);
    DefaultCaret dc = new DefaultCaret();
    // only works on Java 1.5+
    // dc.setUpdatePolicy( DefaultCaret.ALWAYS_UPDATE );
    displayText.setCaret(dc);
    JScrollPane scrollPane = new JScrollPane(displayText, ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
    displayPanel.add(scrollPane);
}
Also used : JScrollPane(javax.swing.JScrollPane) JPanel(javax.swing.JPanel) JTextArea(javax.swing.JTextArea) DefaultCaret(javax.swing.text.DefaultCaret)

Aggregations

DefaultCaret (javax.swing.text.DefaultCaret)50 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)5 ActionEvent (java.awt.event.ActionEvent)5 JButton (javax.swing.JButton)5 ActionListener (java.awt.event.ActionListener)4 FocusEvent (java.awt.event.FocusEvent)4 JDialog (javax.swing.JDialog)4 JFrame (javax.swing.JFrame)4 LocationFullException (megamek.common.LocationFullException)4 FocusListener (java.awt.event.FocusListener)3 HTMLEditorKit (javax.swing.text.html.HTMLEditorKit)3 Color (java.awt.Color)2 Font (java.awt.Font)2 Point (java.awt.Point)2