¿Cómo puedo cambiar el tamaño del ancho y alto de un archivo png con un valor definido personalizado?

Estoy cargando una imagen de botón que tiene formato png. Pero el formato es demasiado grande. ¿Cómo puedo cambiar el tamaño del ancho y alto de ese rango definido, pero evito usar el tamaño de la imagen?

Antes de:

 public JButton createButton(String name, String toolTip) {
    Image a = null;
    try {
      a = ImageIO.read((InputStream) Test.class.getResourceAsStream("/image/menu/" + name + ".png"));
    } catch (IOException ex) {
      ex.printStackTrace();
    }

    ImageIcon iconRollover = new ImageIcon(a);        
    int w = iconRollover.getIconWidth();
    int h = iconRollover.getIconHeight();

    // get the cursor for this button
    Cursor cursor =
            Cursor.getPredefinedCursor(Cursor.HAND_CURSOR);

    // make translucent default image
    //Image image = screen.createCompatibleImage(w, h, Transparency.TRANSLUCENT);
    Graphics2D g = (Graphics2D) a.getGraphics();
    Composite alpha = AlphaComposite.getInstance(
            AlphaComposite.SRC_OVER, .5f);
    g.setComposite(alpha);
    g.drawImage(iconRollover.getImage(), 0, 0, null);
    g.dispose();

    ImageIcon iconDefault = new ImageIcon(a);
    ImageIcon iconPressed = new ImageIcon(a);

    // create the button
    JButton button = new JButton();
    button.setIgnoreRepaint(true);
    button.setFocusable(false);
    button.setToolTipText(toolTip);
    button.setBorder(null);
    button.setContentAreaFilled(false);
    button.setCursor(cursor);
    button.setIcon(iconDefault);
    button.setRolloverIcon(iconRollover);
    button.setPressedIcon(iconPressed);
    return button;
  }

Después:

Seguimiento:

  public JButton createButton(String name, String toolTip) {

    // Create image
    BufferedImage a = null;
    try {
      a = ImageIO.read((InputStream) P2P.class.getResourceAsStream("/image/menu/" + name + ".png"));
    } catch (IOException ex) {
      ex.printStackTrace();
    }
    BufferedImage bi = new BufferedImage(70, 70, BufferedImage.TRANSLUCENT);

    Graphics2D g = (Graphics2D) bi.getGraphics();
g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
    g.drawImage(a, 0, 0, 70, 70, null);
    g.dispose();   
    // get the cursor for this button
    Cursor cursor =
            Cursor.getPredefinedCursor(Cursor.HAND_CURSOR);
    ImageIcon iconRollover = new ImageIcon(bi);
    ImageIcon iconDefault = new ImageIcon(bi);
    ImageIcon iconPressed = new ImageIcon(bi);

    // create the button
    JButton button = new JButton();
    //button.addActionListener(this);
    button.setIgnoreRepaint(true);
    button.setFocusable(false);
    button.setToolTipText(toolTip);
    button.setBorder(null);
    button.setContentAreaFilled(false);
    button.setCursor(cursor);
    button.setIcon(iconDefault);
    button.setRolloverIcon(iconRollover);
    button.setPressedIcon(iconPressed);
    return button;
  }
Respuesta 1

Tengo problemas para comprender el comportamiento de este código. a se define como una A, c se define como una C. Luego, al final de la clase pública, a = c. Cuando un llama al método display (), alcanza ...

Tengo un servlet que envía el archivo al cliente. ¿Es posible agregar una redirección para iniciar la descarga y redirigir al usuario a otra página html? Este es mi código: vacío protegido ...

Tengo algunos archivos en la subcarpeta de activos, como /assets/abc/0.txt o /assets/abc/3.txt Estoy usando el siguiente código. AssetManager mngr = getAssets (); Cadena [] índice = nulo; Cadena [] archivos = mngr ....

Una especie de problema extraño aquí: cada vez que configuro el modo de prueba a través de xml, recibo los anuncios de prueba esperados en mi emulador. Sin embargo, cuando trato de hacer lo mismo mediante programación, parece que obtengo anuncios reales. De acuerdo ...