[Java] Top menu "item" moet wat doen

Pagina: 1
Acties:

  • MavhRik
  • Registratie: September 2003
  • Laatst online: 17-05 15:21
Hey,

Ik ben voor school in Java een spelletje aan het maken, maar het lukt me niet om het menu werkend te krijgen... niet zoals ik wil iig.

Als je naar het plaatje kijkt zie je de "knop" "Exit", Ik wil dat als daar op geklikt wordt het programma wat doet (in dit geval sluiten, maar er komen meer "knoppen").

Het lukt me wel op de submenu's wat te laten doen, zie de code... ik heb daar open toegevoegd onder Exit en die werkt wel...

Het spel MOET in AWT blijven en niet Swing!

Ik ben al ruim 3 uur op zoek op google maar geen suc6 :(

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
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
import java.awt.*;
import java.awt.event.*;

public class LunarLockout extends Frame
{
    private Image background;
//Added for testing purpose
    private MenuItem openItem;

    public LunarLockout()
    {
  setSize( 700, 500 );
  setTitle( "Lunar Lockout Demo" );
  setVisible( true );
  setResizable( false );

  addWindowListener( new WindowHandler() );

  MenuBar menu = new MenuBar();
  setMenuBar( menu );

  Menu exitmenu = new Menu( "Exit" );

  menu.add( exitmenu );

//Added for testing purpose
openItem = new MenuItem( "Open" );
  exitmenu.add( openItem );
  openItem.addActionListener( new openHandler() );

    exitmenu.addActionListener( new exitmenuHandler() );

  setBackground( new Color( 0, 0, 0 ) );
  setLayout( null );
    }

    public static void main( String[] args )
    {
  new LunarLockout();
    }

    private class openHandler implements ActionListener
    {
  public void actionPerformed( ActionEvent e )
  {
    dispose();
    System.exit( 0 );
  }
    }

    private class exitmenuHandler implements ActionListener
    {
  public void actionPerformed( ActionEvent e )
  {
    dispose();
    System.exit( 0 );
  }
    }

/*

This is for testing purposes... like to get this to work to but first I need the Exit menu to do something!
    public void actionPerformed( ActionEvent e )
    {
  String act = e.getActionCommand();

  if( act.equals( "Exit" ) )
  {
    dispose();
    System.exit( 0 );
  }
  else if( act.equals( "Open") )
  {
    dispose();
    System.exit( 0 );
  }
    }
    */

    private class WindowHandler extends WindowAdapter
    {
  public void windowClosing( WindowEvent e )
  {
    dispose();
    System.exit( 0 );
  }
    }
}


Afbeeldingslocatie: http://www.xs4all.nl/~jhah/menu.jpg

maverick: A person who thinks and acts in an independent way, often behaving differently from the expected or usual way.


  • Robtimus
  • Registratie: November 2002
  • Laatst online: 17-05 17:50

Robtimus

me Robtimus no like you

Je wilt dus dat als er op je menu zelf geklikt wordt (zeg maar de File), dat ie naast het menu uitklappen iets doet?

Even een tipje: java.awt.Menu is een subclass van java.awt.MenuItem. Je kan daar dus ook een ActionListener aan hangen.

* Robtimus weet niet zeker of het werkt omdat ie meer into Swing is


Werkt niet :/

[ Voor 6% gewijzigd door Robtimus op 11-01-2005 16:51 ]

More than meets the eye
There is no I in TEAM... but there is ME
system specs


  • MavhRik
  • Registratie: September 2003
  • Laatst online: 17-05 15:21
IceManX schreef op dinsdag 11 januari 2005 @ 16:47:
Je wilt dus dat als er op je menu zelf geklikt wordt (zeg maar de File), dat ie naast het menu uitklappen iets doet?

Even een tipje: java.awt.Menu is een subclass van java.awt.MenuItem. Je kan daar dus ook een ActionListener aan hangen.

* MavhRik weet niet zeker of het werkt omdat ie meer into Swing is


Werkt niet :/
Oh sorry... vergeten erbij te zetten... dat heb ik al geprobeerd...

maverick: A person who thinks and acts in an independent way, often behaving differently from the expected or usual way.


Verwijderd

Waarom zou je in hemelsnaam en een dropdownmenu willen en een knop??

als je alleen een knop wilt is het makkelijk.. maak dan gewoon van Menu -> MenuItem..

Anders zul je een eigen subclass voor menu moeten schrijven en de method moeten overschrijven waarin staat dat hij het menu moet laten zien..

  • MavhRik
  • Registratie: September 2003
  • Laatst online: 17-05 15:21
Het is een niet mogelijk.. heb met me lerares de API bekeken en het kan gewoon niet... heb nu submenu's gebruikt...

maverick: A person who thinks and acts in an independent way, often behaving differently from the expected or usual way.