我希望能做到好象其他普通语言那样, 搞个double buffer什么的, 不用setpixel()类似的办法去一个点一个点去画, 而是直接对一块内存一个单元一个单元自己赋值, 想在什么时候显示这块内存就在什么时候显示.
swing, awt什么都可以, 越老越好.不想接触高级,时尚的东西.
谢谢啦.

解决方案 »

  1.   

    直接操作内存被java认为是不安全的 估计是无法实现的
      

  2.   

    那么java通常用什么方式来做一段动画呢? 如果速度要求高.
      

  3.   

    这估计要修改特定的JVM才能实现;
      

  4.   

    那么java如何显示一张图呢? 就那么简单,大牛, 请赐予我力量
      

  5.   

    java显示一张图还不简单么?
    一个例子import javax.swing.*; 
    import java.awt.*; 
    import java.net.*; 
    public class JSplashWindow extends JWindow implements Runnable 

    Thread splashThread=null; 
    public JSplashWindow() 

    setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));//设置启动界面的光标样式 
    JPanel splash=new JPanel(new BorderLayout()); 
    URL url=getClass().getResource("1.jpg");//获得指定资源文件的绝对路径。 
    if(url!=null) 

    splash.add(new JLabel(new ImageIcon(url)),BorderLayout.CENTER); 

    setContentPane(splash); 
    Dimension screen=Toolkit.getDefaultToolkit().getScreenSize();//获得屏幕的大小 
    pack(); 
    setLocation((screen.width-getSize().width)/2,(screen.height-getSize().height)/2);//使启动窗口居中显示 
    start(); 

    public void start() 

    toFront();//window类的toFront()方法可以让启动界面显示的时候暂时在最前面,用window类的setAlwayOnTop(boolean)方法可以让窗口总保持在最前面。 
    splashThread=new Thread(this); 
    splashThread.start(); 

    public void run() 

    try 

    setVisible(true); 
    Thread.sleep(50000); 

    catch(Exception e) 

    e.printStackTrace(); 

    dispose(); 

    static void showFrame(String title) 

    JFrame frame=new JFrame(title); 
    frame.setSize(400,300); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    Dimension screenSize=frame.getToolkit().getScreenSize();//获得屏幕的大小 
    Dimension frameSize=frame.getSize(); 
    if(frameSize.height>screenSize.height) 

    frameSize.height=screenSize.height; 

    if(frameSize.width>screenSize.width) 

    frameSize.width=screenSize.width; 

    frame.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2); 
    frame.setVisible(true); 

    public static void main(String[] args) 

    showFrame("Demo splash window"); 
    JSplashWindow splash=new JSplashWindow(); 
    //splash.start(); 


    /*getToolkit()方法是java.awt.window类的方法它可以得到一个Toolkit类。Toolkit对象的getScreenSize()方法可以得到屏幕的大小。 
    getScreenSize()方法返回一个 Dimension对象,它的width,height属性就是屏幕的宽和高。 
    Object getClass()方法是java.lang.Object类的方法它可以获得当前正在运行类的对象 
    URL getResource(String name)方法是java.lang.Class类的方法用此方法可以获得一个指定资源文件的绝对路径。*/ 
      

  6.   

    看来确实没有办法搞double buffer.
    那岂非显示动画龟慢?
      

  7.   

    下班之前终于找到办法, 简单得就两三句话, 不足一提.我的blog