Het volgende appletje werkt prima op een 1.3.1 JVM van SUN, maar op de 1.4.0 (en hoger) duurt het opnieuw tekenen van de 'knopjes' na een klik enorm lang...
Is de 1.4.x JVM gewoon zwaar bagger..of doe ik ergens iets verkeerd...
De main class:
't 'knopje':
En 't html filetje:
Soz voor de enorme post..maar ik snap er geen hol meer van
Is de 1.4.x JVM gewoon zwaar bagger..of doe ik ergens iets verkeerd...
De main class:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
| import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class Test extends Applet implements ActionListener
{
int j = 9;
Knop k[] = new Knop[j];
int iY = 0;
public void init() {
setLayout( null );
for( int i = 0; i < j; i++ ) {
k[i] = new Knop( (i * 20) + 50, 0, 0 );
k[i].setActionCommand( "klik" );
k[i].setBounds( i * 30, iY, 30, 30 );
add( k[i] );
k[i].addActionListener( this );
k[i].events( true );
}
}
public void actionPerformed( ActionEvent e ) {
if( e.getActionCommand().compareTo( "klik" ) == 0 ) {
for( int i = 0; i < j; i++ ) {
k[i].events(false );
}
removeAll();
iY += 30;
for( int i = 0; i < j; i++ ) {
k[i].setBounds( i * 30, iY, 30, 30 );
add( k[i] );
k[i].events( true );
}
}
}
} |
't 'knopje':
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
| mport java.awt.*;
import java.awt.event.*;
public class Knop extends Panel
{
String actionComm = "";
ActionListener actionL = null;
Color col = null;
KnopListener kl = new KnopListener();
public Knop( int r, int g, int b ) {
col = new Color( r, g, b );
}
public void events( boolean allow ) {
if( allow ) {
addMouseListener( kl );
}
else {
removeMouseListener( kl );
}
}
public void paint( Graphics g ) {
setBackground( col );
}
public void setActionCommand( String pComm ) {
actionComm = pComm;
}
public void addNotify() {
super.addNotify();
repaint();
}
public void addActionListener( ActionListener pAL ) {
actionL = pAL;
}
private class KnopListener extends MouseAdapter
{
public void mouseReleased( MouseEvent e ) {
ActionEvent event = new ActionEvent( this, ActionEvent.ACTION_PERFORMED, actionComm );
actionL.actionPerformed( event );
}
}
} |
En 't html filetje:
code:
1
2
3
4
5
6
| <html> <body> <applet name="Test" code="Test.class" width="300" height="300"> </applet> </body> </html> |
Soz voor de enorme post..maar ik snap er geen hol meer van