🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.lenguajes.java
Article #26468

Swing lento

#26468
From: Guy
Date: Tue, 29 Dec 1998 00:00
76 lines
2589 bytes
    Estoy tratando de pasar un programa de jdk1.1 a 1.2 y el simple
hecho de dibujar una imagen muy grande hace que el ordenador se tire un
buen rato boqueado leyendo el disco duro y sin que nada funcione. Tras
esto la imagen aparece bien, pero si intento desplazarme por ella, o
maximizar la ventana el resultado tarda tanto que dan ganas de llorar.
Con el jdk 1.1 era tambien algo lento, pero una vez se cargaba la imagen
el desplazamiento (aunque parpadeaba muy ligeramente) era fluido.
    A continuacion esta mi codigo. Lo que mīŋŊs me mosquea es que el
programa debe funcionar en un pentium 75 y el mio es un pII 233  no
quiero ni pensar como iria alli.
El grafico que yo cargo tiene unas dimensiones de 1911x1386 en el codigo
aparece como graficoACargar.

                Gracias de antemano,Guy.

import java.awt.*;
import java.awt.image.*;
import javax.swing.*;


class Prueba{

 public static void main(String Args[]){
  JFrame ventanaJuego = new JFrame();
  ventanaJuego.setSize(400,300);

  MiPanel fondoPantalla= new MiPanel("graficoACargar");

  JScrollPane scrollPane1 = new
JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);

  scrollPane1.add(fondoPantalla);
  scrollPane1.setViewportView(fondoPantalla);


  ventanaJuego.getContentPane().add(scrollPane1);
  ventanaJuego.setVisible(true);

  ventanaJuego.validate();
 }

Mi Panel se define como:

import javax.swing.*;
import java.awt.*;

 class MiPanel extends JPanel{

 //VARIABLES
    String ficheroImagen=null;
    Image imagen=null;


    public MiPanel(String ficheroImagen){
    Toolkit herramientas =this.getToolkit();
    imagen= herramientas.getImage(ficheroImagen);
     }

    public Dimension getPreferredSize(){
       Dimension d = new Dimension();
     d.height= imagen.getHeight(this);
    d.width =imagen.getWidth(this);
       return d;
    }

    public void paint(Graphics g){
    this.update(g);
    }

    public void update(Graphics g){
       g.drawImage(imagen, 0,0, this);

    }

 }//MiPanel
Technical Details
Message-ID: <3688E89F.E7C5E31@abonados.cplus.es>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: 1116f3,46f8ddb2ae4ad7e,start
X-Google-Attributes: gid1116f3,public
From: Guy <0309651s01@abonados.cplus.es>
Subject: Swing lento
Date: 1998/12/29
Message-ID: <3688E89F.E7C5E31@abonados.cplus.es>
X-Deja-AN: 426774443
Content-Transfer-Encoding: 8bit
X-Accept-Language: en,es
Content-Type: text/plain; charset=iso-8859-1
Organization: Telefonica Transmision de Datos
Mime-Version: 1.0
Newsgroups: es.comp.lenguajes.java