public void paintComponent(Graphics g) { g.setColor(new Color(96, 96, 96)); image.paintIcon(this, g, 1, 1); FontMetrics fm = g.getFontMetrics(); String[] args = {jEdit.getVersion()}; String version = jEdit.getProperty("about.version", args); g.drawString(version, (getWidth() - fm.stringWidth(version)) / 2, getHeight() - 5); g = g.create((getWidth() - maxWidth) / 2, TOP, maxWidth, getHeight() - TOP - BOTTOM); int height = fm.getHeight(); int firstLine = scrollPosition / height; int firstLineOffset = height - scrollPosition % height; int lines = (getHeight() - TOP - BOTTOM) / height; int y = firstLineOffset; for (int i = 0; i <= lines; i++) { if (i + firstLine >= 0 && i + firstLine < text.size()) { String line = (String) text.get(i + firstLine); g.drawString(line, (maxWidth - fm.stringWidth(line)) / 2, y); } y += fm.getHeight(); } }
public synchronized Object getValueAt(int row, int col) { Node node = nodes.get(row); switch (col) { case 0: return node.getNodeID(); case 1: return node.getCurrState(); case 2: return node.getTailBlockID(); case 3: return node.getHeadBlockID(); case 4: return node.getLocalTime(); case 5: return node.getGlobalTime(); case 6: return node.getIsTimeSynchronized(); case 7: return new LastRequestCellRendererClass(); default: return "UNKNOWN"; } }
public Node getNode(int row) { return nodes.get(row); }
private void updateNodes() { nodes = spauldingApp.getNodesSorted(); nodeIDToRow = Collections.synchronizedMap(new HashMap<Integer, Integer>()); for (int r = 0; r < nodes.size(); ++r) nodeIDToRow.put(nodes.get(r).getNodeID(), r); }