Um einen SalesPoint anzuzeigen ist dieser erst zu erzeugen, danach mittels addSalesPoint(SalesPoint)
zu starten.
Mit setSalesPointFrameBounds(Rectangle)
kann man analog zum Shop die Position und Größe des Fensters festlegen.
import sale.Shop; import java.awt.Rectangle; public class MainClass { public static void main(String[] args) { SalesPointApplication spa = new SalesPointApplication(); Shop.setTheShop(spa); spa.start(); MySalesPoint msp = new MySalesPoint("Mein SalesPoint"); msp.setSalesPointFrameBounds(new Rectangle(100,200,400,300)); spa.addSalesPoint(msp); } } |
import sale.Shop; public class SalesPointApplication extends Shop { public SalesPointApplication() { super(); } public void quit() { if (shutdown (false)) { System.exit(0); } } } |
import sale.SalesPoint; public class MySalesPoint extends SalesPoint { public MySalesPoint(String name) { super(name); } } |
Beim Schließen eines SalesPoints muss standardmäßig eine Sicherheitsabfrage bestätigt werden. Um dies zu ändern überschreibt man die Methode onCanQuit()
.
import sale.SalesPoint; public class MySalesPoint extends SalesPoint { public MySalesPoint(String name) { super(name); } //SalesPoint wird geschlossen, wenn kein Prozess auf ihm läuft protected boolean onCanQuit() { return getCurrentProcess() == null; } } |
Um seinem SalesPoint eine andere Fassade zu verpassen überschreibt man die Methode getDefaultFormSheet()
. (siehe auch: FormSheets)
Das DefaultFormSheet wird nur angezeigt solange kein Prozess auf dem SalesPoint läuft.
import sale.*; //SalesPoint, FormSheet, FormSheetContentCreator public class MySalesPoint extends SalesPoint { public MySalesPoint(String name) { super(name); } //SalesPoint wird geschlossen, wenn kein Prozess auf ihm läuft protected boolean onCanQuit() { return getCurrentProcess() == null; } protected FormSheet getDefaultFormSheet() { return new FormSheet("DefaultFormSheet", new FormSheetContentCreator() { public void createFormSheetContent(final FormSheet fs) {} }, false); } } |
Analog dazu lässt sich auch das Menu erzeugen. Man überschreibt die Methode getDefaultMenuSheet()
. (siehe auch: Menus)
Wie das DefaultFormSheet sieht man auch das DefaultMenuSheet nur wenn kein Prozess läuft.
import sale.*; //SalesPoint, FormSheet, FormSheetContentCreator, MenuSheet, MenuSheetItem public class MySalesPoint extends SalesPoint { public MySalesPoint(String name) { super(name); } //SalesPoint wird geschlossen, wenn kein Prozess auf ihm läuft protected boolean onCanQuit() { return getCurrentProcess() == null; } protected FormSheet getDefaultFormSheet() { return new FormSheet("StandardFormSheet", new FormSheetContentCreator() { public void createFormSheetContent(final FormSheet fs) { } }, false); } protected MenuSheet getDefaultMenuSheet() { MenuSheet msMenuBar = new MenuSheet("MenuBar"); MenuSheet msMenu1 = new MenuSheet("NeuesMenu"); MenuSheetItem msiItem1 = new MenuSheetItem("MenuItem 1", null); msMenuBar.add(msMenu1); msMenu1.add(msiItem1); return msMenuBar; } } |