Hey..
habe folgendes Problem:
wollte mich mal an JApplets versuchen, jedoch nicht ohne die BufferStrategy.. also erstmal Canvas erstellt.. zum applet hinzugefügt (funnktionier auch), aber wenn ich dann etwas mit BufferStrategy.getDrawGraphics schreiben will funktioniert es nicht, ebenso geht es nicht eine endlosschleife laufen zu lassen für das programm..
Code:
lg
habe folgendes Problem:
wollte mich mal an JApplets versuchen, jedoch nicht ohne die BufferStrategy.. also erstmal Canvas erstellt.. zum applet hinzugefügt (funnktionier auch), aber wenn ich dann etwas mit BufferStrategy.getDrawGraphics schreiben will funktioniert es nicht, ebenso geht es nicht eine endlosschleife laufen zu lassen für das programm..
Code:
Java:
import java.awt.Dimension;
import java.awt.image.BufferStrategy;
import javax.swing.JApplet;
import javax.swing.JOptionPane;
@SuppressWarnings( "serial" )
public class Applet extends JApplet
{
private boolean ProgramIsRunning = true;
public static java.awt.Canvas Canvas = null;
public static BufferStrategy BufStrat = null;
public void init()
{
setSize( new Dimension( 640, 480 ) );
Canvas = new java.awt.Canvas();
Canvas.setIgnoreRepaint( true );
Canvas.createBufferStrategy( 1 );
add( Canvas );
BufStrat = Canvas.getBufferStrategy();
}
public void start()
{
try
{
javax.swing.SwingUtilities.invokeAndWait( new Runnable()
{
public void run()
{
while( true )
{
if( ProgramIsRunning )
{
new Render( "main" );
try{
Thread.sleep( 250 );
}
catch( InterruptedException e ){
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
});
} catch ( Exception e ) { JOptionPane.showMessageDialog( null, e.getMessage() ); }
}
public void stop(){}
public void destroy(){}
}
Java:
import java.awt.Color;
import java.awt.Toolkit;
public class Render
{
public Render( String what )
{
Applet.BufStrat.getDrawGraphics().clearRect( 0, 0, Applet.WIDTH, Applet.HEIGHT );
Applet.Canvas.setBackground( Color.BLACK );
if( what.equals( "main" ) )
RenderChangeMenu();
Toolkit.getDefaultToolkit().sync();
Applet.Canvas.paint( Applet.BufStrat.getDrawGraphics() );
Applet.BufStrat.getDrawGraphics().dispose();
Applet.BufStrat.show();
}
private void RenderChangeMenu()
{
Applet.BufStrat.getDrawGraphics().setColor( Color.GREEN );
Applet.BufStrat.getDrawGraphics().drawString( "Testing", 50, 50 );
}
}
lg