/** * Write the given text string in the current font, right-aligned at (x, y). * * @param x the x-coordinate of the text * @param y the y-coordinate of the text * @param s the text */ public static void textRight(double x, double y, String s) { offscreen.setFont(font); FontMetrics metrics = offscreen.getFontMetrics(); double xs = scaleX(x); double ys = scaleY(y); int ws = metrics.stringWidth(s); int hs = metrics.getDescent(); offscreen.drawString(s, (float) (xs - ws), (float) (ys + hs)); draw(); }
private void measure() { FontMetrics fontmetrics = getFontMetrics(getFont()); if (fontmetrics == null) return; line_height = fontmetrics.getHeight(); line_ascent = fontmetrics.getAscent(); max_width = 0; for (int i = 0; i < num_lines; i++) { line_widths[i] = fontmetrics.stringWidth(lines[i]); if (line_widths[i] > max_width) max_width = line_widths[i]; } max_width += 2 * btnMarginWidth; max_height = num_lines * line_height + 2 * btnMarginHeight; }
private final void showpercent(String s, int i, int j) { Graphics g = getGraphics(); Font font = new Font("Helvetica", 1, 13); FontMetrics fontmetrics = getFontMetrics(font); Font font1 = new Font("Helvetica", 0, 13); FontMetrics fontmetrics1 = getFontMetrics(font1); if (all || !img && mt.checkAll(true)) { all = false; if (img || mt.checkAll(true)) { g.drawImage(loading, 0, 0, this); img = true; } else { g.setColor(Color.black); g.fillRect(0, 0, 512, 344); } g.setColor(Color.white); g.setFont(font); String s1 = "RuneScape has been updated!"; g.drawString(s1, 256 - fontmetrics.stringWidth(s1) / 2, 125); s1 = "Please wait - Fetching new files..."; g.drawString(s1, 256 - fontmetrics.stringWidth(s1) / 2, 140); g.setFont(font1); s1 = "This may take a few minutes, but only"; g.drawString(s1, 256 - fontmetrics1.stringWidth(s1) / 2, 165); s1 = "needs to be done when the game is updated."; g.drawString(s1, 256 - fontmetrics1.stringWidth(s1) / 2, 180); } Color color = new Color(140, 17, 17); g.setColor(color); g.drawRect(104, 190, 304, 34); g.fillRect(106, 192, j * 3, 30); g.setColor(Color.black); g.fillRect(106 + j * 3, 192, 300 - j * 3, 30); String s2 = "Loading " + s + " - " + i + "%"; g.setFont(font); g.setColor(Color.white); g.drawString(s2, 256 - fontmetrics.stringWidth(s2) / 2, 212); }
public void centerText(String s1, String s2, Graphics g, Color c, int x, int y, int w, int h) { // locs[0].centerText(s1, s2, this.getGraphics(), // Color.white, 400,0,200,50); // g.setXORMode(unselected_color); // centerText("pic" + im, null, g, Color.black, x, y, w, h); Font f = g.getFont(); FontMetrics fm = Toolkit.getDefaultToolkit().getFontMetrics(f); int ascent = fm.getAscent(); int height = fm.getHeight(); int width1 = 0, width2 = 0, x0 = 0, x1 = 0, y0 = 0, y1 = 0; width1 = fm.stringWidth(s1); if (s2 != null) width2 = fm.stringWidth(s2); x0 = x + (w - width1) / 2; x0 = x + (w - width2) / 2; if (s2 == null) y0 = y + (h - height) / 2 + ascent; else { y0 = y + (h - (int) (height * 2.2)) / 2 + ascent; y1 = y0 + (int) (height * 1.2); } g.setColor(c); g.drawString(s1, x0, y0); if (s2 != null) g.drawString(s2, x1, y1); }
private int getTextWidth(String text) { return fmRef.stringWidth(text); }