use of javax.swing.text.BadLocationException in project android-classyshark by google.
the class DisplayArea method displayError.
@Override
public void displayError() {
displayDataState = DisplayDataState.ERROR;
clearText();
style = jTextPane.addStyle("STYLE", null);
Document doc = jTextPane.getStyledDocument();
try {
StyleConstants.setForeground(style, theme.getDefaultColor());
StyleConstants.setFontSize(style, 13);
StyleConstants.setFontFamily(style, "Menlo");
doc.insertString(doc.getLength(), "\n\n\n\t\t\t There was a problem loading the class ", style);
doc.insertString(doc.getLength(), Doodle.get(), style);
} catch (BadLocationException e) {
e.printStackTrace();
}
jTextPane.setDocument(doc);
}
use of javax.swing.text.BadLocationException in project Smack by igniterealtime.
the class EnhancedDebugger method addBasicPanels.
private void addBasicPanels() {
JSplitPane allPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
allPane.setOneTouchExpandable(true);
messagesTable = new DefaultTableModel(new Object[] { "Hide", "Timestamp", "", "", "Message", "Id", "Type", "To", "From" }, 0) {
// CHECKSTYLE:OFF
private static final long serialVersionUID = 8136121224474217264L;
@Override
public boolean isCellEditable(int rowIndex, int mColIndex) {
// CHECKSTYLE:ON
return false;
}
@Override
public Class<?> getColumnClass(int columnIndex) {
if (columnIndex == 2 || columnIndex == 3) {
return Icon.class;
}
return super.getColumnClass(columnIndex);
}
};
JTable table = new JTable(messagesTable);
// Allow only single a selection
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
// Hide the first column
table.getColumnModel().getColumn(0).setMaxWidth(0);
table.getColumnModel().getColumn(0).setMinWidth(0);
table.getTableHeader().getColumnModel().getColumn(0).setMaxWidth(0);
table.getTableHeader().getColumnModel().getColumn(0).setMinWidth(0);
// Set the column "timestamp" size
table.getColumnModel().getColumn(1).setMaxWidth(300);
table.getColumnModel().getColumn(1).setPreferredWidth(90);
// Set the column "direction" icon size
table.getColumnModel().getColumn(2).setMaxWidth(50);
table.getColumnModel().getColumn(2).setPreferredWidth(30);
// Set the column "packet type" icon size
table.getColumnModel().getColumn(3).setMaxWidth(50);
table.getColumnModel().getColumn(3).setPreferredWidth(30);
// Set the column "Id" size
table.getColumnModel().getColumn(5).setMaxWidth(100);
table.getColumnModel().getColumn(5).setPreferredWidth(55);
// Set the column "type" size
table.getColumnModel().getColumn(6).setMaxWidth(200);
table.getColumnModel().getColumn(6).setPreferredWidth(50);
// Set the column "to" size
table.getColumnModel().getColumn(7).setMaxWidth(300);
table.getColumnModel().getColumn(7).setPreferredWidth(90);
// Set the column "from" size
table.getColumnModel().getColumn(8).setMaxWidth(300);
table.getColumnModel().getColumn(8).setPreferredWidth(90);
// Create a table listener that listen for row selection events
SelectionListener selectionListener = new SelectionListener(table);
table.getSelectionModel().addListSelectionListener(selectionListener);
table.getColumnModel().getSelectionModel().addListSelectionListener(selectionListener);
allPane.setTopComponent(new JScrollPane(table));
messageTextArea = new JTextArea();
messageTextArea.setEditable(false);
// Add pop-up menu.
JPopupMenu menu = new JPopupMenu();
JMenuItem menuItem1 = new JMenuItem("Copy");
menuItem1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// Get the clipboard
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
// Set the sent text as the new content of the clipboard
clipboard.setContents(new StringSelection(messageTextArea.getText()), null);
}
});
menu.add(menuItem1);
// Add listener to the text area so the popup menu can come up.
messageTextArea.addMouseListener(new PopupListener(menu));
// CHECKSTYLE:OFF
JPanel sublayout = new JPanel(new BorderLayout());
sublayout.add(new JScrollPane(messageTextArea), BorderLayout.CENTER);
JButton clearb = new JButton("Clear All Packets");
clearb.addActionListener(new AbstractAction() {
private static final long serialVersionUID = -8576045822764763613L;
@Override
public void actionPerformed(ActionEvent e) {
messagesTable.setRowCount(0);
}
});
// CHECKSTYLE:ON
sublayout.add(clearb, BorderLayout.NORTH);
allPane.setBottomComponent(sublayout);
allPane.setDividerLocation(150);
tabbedPane.add("All Packets", allPane);
tabbedPane.setToolTipTextAt(0, "Sent and received packets processed by Smack");
// Create UI elements for client generated XML traffic.
final JTextArea sentText = new JTextArea();
sentText.setWrapStyleWord(true);
sentText.setLineWrap(true);
sentText.setEditable(false);
sentText.setForeground(new Color(112, 3, 3));
tabbedPane.add("Raw Sent Packets", new JScrollPane(sentText));
tabbedPane.setToolTipTextAt(1, "Raw text of the sent packets");
// Add pop-up menu.
menu = new JPopupMenu();
menuItem1 = new JMenuItem("Copy");
menuItem1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// Get the clipboard
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
// Set the sent text as the new content of the clipboard
clipboard.setContents(new StringSelection(sentText.getText()), null);
}
});
JMenuItem menuItem2 = new JMenuItem("Clear");
menuItem2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
sentText.setText("");
}
});
// Add listener to the text area so the popup menu can come up.
sentText.addMouseListener(new PopupListener(menu));
menu.add(menuItem1);
menu.add(menuItem2);
// Create UI elements for server generated XML traffic.
final JTextArea receivedText = new JTextArea();
receivedText.setWrapStyleWord(true);
receivedText.setLineWrap(true);
receivedText.setEditable(false);
receivedText.setForeground(new Color(6, 76, 133));
tabbedPane.add("Raw Received Packets", new JScrollPane(receivedText));
tabbedPane.setToolTipTextAt(2, "Raw text of the received packets before Smack process them");
// Add pop-up menu.
menu = new JPopupMenu();
menuItem1 = new JMenuItem("Copy");
menuItem1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// Get the clipboard
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
// Set the sent text as the new content of the clipboard
clipboard.setContents(new StringSelection(receivedText.getText()), null);
}
});
menuItem2 = new JMenuItem("Clear");
menuItem2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
receivedText.setText("");
}
});
// Add listener to the text area so the popup menu can come up.
receivedText.addMouseListener(new PopupListener(menu));
menu.add(menuItem1);
menu.add(menuItem2);
// Create a special Reader that wraps the main Reader and logs data to the GUI.
ObservableReader debugReader = new ObservableReader(reader);
readerListener = new ReaderListener() {
@Override
public void read(final String str) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
if (EnhancedDebuggerWindow.PERSISTED_DEBUGGER && !EnhancedDebuggerWindow.getInstance().isVisible()) {
// Do not add content if the parent is not visible
return;
}
int index = str.lastIndexOf(">");
if (index != -1) {
if (receivedText.getLineCount() >= EnhancedDebuggerWindow.MAX_TABLE_ROWS) {
try {
receivedText.replaceRange("", 0, receivedText.getLineEndOffset(0));
} catch (BadLocationException e) {
LOGGER.log(Level.SEVERE, "Error with line offset, MAX_TABLE_ROWS is set too low: " + EnhancedDebuggerWindow.MAX_TABLE_ROWS, e);
}
}
receivedText.append(str.substring(0, index + 1));
receivedText.append(NEWLINE);
if (str.length() > index) {
receivedText.append(str.substring(index + 1));
}
} else {
receivedText.append(str);
}
}
});
}
};
debugReader.addReaderListener(readerListener);
// Create a special Writer that wraps the main Writer and logs data to the GUI.
ObservableWriter debugWriter = new ObservableWriter(writer);
writerListener = new WriterListener() {
@Override
public void write(final String str) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
if (EnhancedDebuggerWindow.PERSISTED_DEBUGGER && !EnhancedDebuggerWindow.getInstance().isVisible()) {
// Do not add content if the parent is not visible
return;
}
if (sentText.getLineCount() >= EnhancedDebuggerWindow.MAX_TABLE_ROWS) {
try {
sentText.replaceRange("", 0, sentText.getLineEndOffset(0));
} catch (BadLocationException e) {
LOGGER.log(Level.SEVERE, "Error with line offset, MAX_TABLE_ROWS is set too low: " + EnhancedDebuggerWindow.MAX_TABLE_ROWS, e);
}
}
sentText.append(str);
if (str.endsWith(">")) {
sentText.append(NEWLINE);
}
}
});
}
};
debugWriter.addWriterListener(writerListener);
// Assign the reader/writer objects to use the debug versions. The packet reader
// and writer will use the debug versions when they are created.
reader = debugReader;
writer = debugWriter;
}
use of javax.swing.text.BadLocationException in project languagetool by languagetool-org.
the class ResultAreaHelper method appendMain.
private void appendMain(String html) {
HTMLDocument d = (HTMLDocument) statusPane.getDocument();
Element e = d.getElement(MAIN);
try {
d.insertBeforeEnd(e, html);
} catch (BadLocationException ex) {
Tools.showError(ex);
} catch (IOException ex) {
Tools.showError(ex);
}
}
use of javax.swing.text.BadLocationException in project antlrworks by antlr.
the class DBInputProcessorToken method drawToken.
public void drawToken(DBInputTextTokenInfo info, Graphics2D g, Color c, boolean fill) {
g.setColor(c);
try {
Rectangle r1 = textPane.modelToView(info.start);
Rectangle r2 = textPane.modelToView(info.end);
if (r2.y > r1.y) {
// token spans more than one line
GeneralPath gp = new GeneralPath();
Area area = new Area();
for (int index = info.start; index < info.end; index++) {
Rectangle r = textPane.modelToView(index);
// compute the width of the index
r.width = Math.max(0, textPane.modelToView(index + 1).x - r.x);
area.add(new Area(r));
}
gp.append(area, true);
if (fill)
g.fill(gp);
else
g.draw(gp);
} else {
if (fill)
g.fillRect(r1.x, r1.y, r2.x - r1.x, r1.height);
else
g.drawRect(r1.x, r1.y, r2.x - r1.x, r1.height);
}
} catch (BadLocationException e) {
// Ignore exception
}
}
use of javax.swing.text.BadLocationException in project antlrworks by antlr.
the class EditorRules method moveRule.
public boolean moveRule(ElementRule sourceRule, ElementRule targetRule, boolean dropAbove) {
if (sourceRule == null || targetRule == null)
return false;
String sourceRuleText = window.getText().substring(sourceRule.getStartIndex(), sourceRule.getEndIndex() + 1);
try {
Document doc = window.getTextPane().getDocument();
int removeStartIndex = sourceRule.getStartIndex();
int targetInsertionIndex = dropAbove ? targetRule.getStartIndex() : targetRule.getEndIndex();
// should move at the line after the rule (a comment can be located
// after the end of the rule but still on the same line)
// Remove one more character to remove the end of line of the rule
int removeLength = sourceRule.getLength() + 1;
if (removeStartIndex + removeLength > doc.getLength())
removeLength--;
if (sourceRule.getStartIndex() > targetRule.getStartIndex()) {
doc.remove(removeStartIndex, removeLength);
doc.insertString(targetInsertionIndex, "\n" + sourceRuleText, null);
window.setCaretPosition(targetInsertionIndex);
} else {
doc.insertString(targetInsertionIndex, "\n" + sourceRuleText, null);
doc.remove(removeStartIndex, removeLength);
window.setCaretPosition(targetInsertionIndex - removeLength);
}
return true;
} catch (BadLocationException e) {
window.consoleTab.println(e);
return false;
}
}
Aggregations