package com.bytezone.diskbrowser.gui; import java.awt.event.ActionEvent; import java.awt.event.KeyEvent; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.KeyStroke; class ShowFreeSectorsAction extends AbstractAction { DiskLayoutPanel panel; MenuHandler mh; public ShowFreeSectorsAction (MenuHandler mh, DiskLayoutPanel panel) { super ("Show free sectors"); putValue (Action.SHORT_DESCRIPTION, "Display which sectors are marked free in the disk layout panel"); putValue (Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke ("alt F")); putValue (Action.MNEMONIC_KEY, KeyEvent.VK_F); this.panel = panel; this.mh = mh; panel.setFree (mh.showFreeSectorsItem.isSelected ()); // set initial state } public void actionPerformed (ActionEvent e) { panel.setFree (mh.showFreeSectorsItem.isSelected ()); } }