aboutsummaryrefslogtreecommitdiffstats
path: root/demos/glOlympicSwingApplet.java
blob: 9e67af2c4ac003bcd61d099aadefd6d69688dea4 (plain)
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125

import gl4java.GLContext;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.applet.*;

public class glOlympicSwingApplet extends JApplet 
  implements MouseListener
{
	olympicCvs cvsOlympic = null;

	String gljLib=null;
	String glLib=null;
	String gluLib=null;

	public void init()
	{
		if(GLContext.loadNativeLibraries(gljLib, glLib, gluLib)==false)
		  System.out.println("could not load native libs:"+
				     gljLib + ", " + glLib + ", " + gluLib);
		else 
		  System.out.println("load native libs:"+
				     gljLib + ", " + glLib + ", " + gluLib);


	        cvsOlympic = new olympicCvs(150, 150, null, null);
	        cvsOlympic.setAnimateFps(30.0);

		JPanel p1 = new JPanel();
		p1.setLayout(new BorderLayout());

		getContentPane().setLayout(new BorderLayout());
		getContentPane().add("Center", p1);

		p1.add("North", new JLabel("Overlapping Swings do not work"));
		p1.add("West", new JLabel("OpenGL"));
		p1.add("Center", cvsOlympic);
		p1.add("East", new JLabel("Java-JApplet"));
		p1.add("South", new JLabel("The Events does not work yet"));

	        cvsOlympic.addMouseListener(this);

	        setBackground(Color.white);  

		JMenuBar jmb1 = new JMenuBar();
		JMenu    jm1  = new JMenu("Menu-1");
		jm1.add(new JMenuItem("Menue-1-Item-1"));
		jm1.add(new JMenuItem("Menue-1-Item-2"));
		jm1.add(new JMenuItem("Menue-1-Item-3"));
		JMenu    jm2  = new JMenu("Menu-2");
		jm2.add(new JMenuItem("Menue-2-Item-1"));
		jm2.add(new JMenuItem("Menue-2-Item-2"));
		jm2.add(new JMenuItem("Menue-2-Item-3"));
		JMenu    jm3  = new JMenu("Menu-3");
		jm3.add(new JMenuItem("Menue-3-Item-1"));
		jm3.add(new JMenuItem("Menue-3-Item-2"));
		jm3.add(new JMenuItem("Menue-3-Item-3"));
		jmb1.add(jm1);
		jmb1.add(jm2);
		jmb1.add(jm3);

		setJMenuBar(jmb1);
	} 

	  public void start() {
		cvsOlympic.start();
	  }

	  public void stop() {
		cvsOlympic.stop();
	  }

	  public void destroy() {
		cvsOlympic.stop();
		cvsOlympic.cvsDispose();
	  }

	// Methods required for the implementation of MouseListener
	public void mouseEntered( MouseEvent evt )
	{
	 	Component comp = evt.getComponent();
		mouseInfo(evt);
		if( comp.equals(cvsOlympic) )
		     cvsOlympic.setSuspended(!cvsOlympic.isSuspended(), true);

	}

	public void mouseExited( MouseEvent evt )
	{
		mouseInfo(evt);

	}

	public void mousePressed( MouseEvent evt )
	{
		mouseInfo(evt);

	}

	public void mouseReleased( MouseEvent evt )
	{
		mouseInfo(evt);

	}

	public void mouseClicked( MouseEvent evt )
	{
	 	Component comp = evt.getComponent();

		mouseInfo(evt);

		if( comp.equals(cvsOlympic) )
		     cvsOlympic.setSuspended(!cvsOlympic.isSuspended(), true);
	}

	public void mouseInfo(MouseEvent evt)
	{
	 	Component comp = evt.getComponent();

		System.out.println("\n\n----------------------------------");
		System.out.println(comp);
		System.out.println(evt);
	}
}