Korzystam z biblioteki graficznej G i teraz mam taki kod:

Menu.java:

package game.logical;

import no.geosoft.cc.graphics.*;

public class Menu extends GObject implements GInteraction {
	private GWindow window;
	private GScene scene_;
	private int sub;

	public Menu (GWindow window, GScene scene_) {
		this.scene_ = scene_;
		this.window = window;		
		this.MainMenu();
		this.window.startInteraction(this);
		this.sub = 0;  
	}
	
	public void MainMenu() {
		GObject mimg = new MenuImage("menu.jpg", 0, 0);
		this.scene_.add(mimg);
	}
	
	public int GetSub() {
		return this.sub; 
	}
	
	public void SubMenu(int x) {
		switch(x) {
		case 2:
			break;
		
		case 3:
			//System.out.println("Autorzy");
			GObject subm = new MenuImage("crew.jpg", 0, 170);
			this.scene_.add(subm);
			scene_.refresh();
			break;
		
		case 4:
			break;
			
		case 5:
			break;
		}
		this.sub = 1;
	}
	
	public void event (GScene scene, int event, int x, int y) {
		switch (event) {
			case  GWindow.BUTTON1_UP :
				if(x<215 && x>85 && this.GetSub()==0) {
					if(y<251+30*1 && y>251+30*0) {
						// nowa gra
					} else if(y<251+30*2 && y>251+30*1) {
						// 2. etap
					} else if(y<251+30*3 && y>251+30*2) {
						// autorzy
						this.SubMenu(3);
					} else if(y<251+30*4 && y>251+30*3) {
						// wyniki
					} else if(y<251+30*5 && y>251+30*4) {
						// pomoc
					} else if(y<251+30*6 && y>251+30*5) {
						// wyjscie
						System.exit(0);
					}
				} else if(x>50 && x<139 && y>405 && y<430 && this.GetSub() == 1) {
					this.MainMenu();
				}
				break;
		}
	}
}

MenuImage.java:

package game.logical;

import java.io.File;

import no.geosoft.cc.graphics.*;

public class MenuImage extends GObject {

	private GSegment segment_;
	private int x, y;
	
	public MenuImage(String FileName, int x, int y) {
		segment_ = new GSegment();
		addSegment (segment_);
		
		GImage image = new GImage (new File (FileName));
		image.setPositionHint (GPosition.SOUTHEAST);
		this.segment_.setImage (image);
		this.x = x;
		this.y = y;
	}	
	
	public void draw() {
		segment_.setGeometry (this.x, this.y);
	}
}

i teraz jak wywołuje SubMenu(3); to scene_.refresh(); nie powoduje wywołania funkcji draw() z klasy MenuImage. Funkcja jest wywoływana dopiero jak np. powiększe okno (maksymalizacja), ale czemu to nie mam pojęcia.