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();
}
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;
}
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;
}
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;
}
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);
}
Aggregations