1 package org.woehlke.computer.kurzweil.commons.widgets; 2 3 import lombok.EqualsAndHashCode; 4 import lombok.ToString; 5 import lombok.extern.log4j.Log4j2; 6 import org.woehlke.computer.kurzweil.application.ComputerKurzweilContext; 7 import org.woehlke.computer.kurzweil.commons.gui.GuiComponent; 8 import org.woehlke.computer.kurzweil.commons.layouts.FlowLayoutCenter; 9 10 import javax.swing.*; 11 12 13 @Log4j2 14 @ToString 15 @EqualsAndHashCode(callSuper=true) 16 public class PanelSubtitle extends JPanel implements GuiComponent { 17 18 public PanelSubtitle(String text) { 19 this.setLayout(new FlowLayoutCenter()); 20 this.add(new JLabel(text)); 21 } 22 23 @Override 24 public void showMe() { 25 this.setVisible(true); 26 } 27 28 public static PanelSubtitle getPanelSubtitleForApplication(ComputerKurzweilContext ctx) { 29 String text = ctx.getProperties().getAllinone().getView().getSubtitle(); 30 return new PanelSubtitle(text); 31 } 32 33 public static PanelSubtitle getPanelSubtitleForCca(ComputerKurzweilContext ctx) { 34 String text = ctx.getProperties().getCca().getView().getSubtitle(); 35 return new PanelSubtitle(text); 36 } 37 38 public static PanelSubtitle getPanelSubtitleForDla(ComputerKurzweilContext ctx) { 39 String text = ctx.getProperties().getDla().getView().getSubtitle(); 40 return new PanelSubtitle(text); 41 } 42 43 public static PanelSubtitle getPanelSubtitleForSimulatedEvolution(ComputerKurzweilContext ctx) { 44 String text = ctx.getProperties().getSimulatedevolution().getView().getSubtitle(); 45 return new PanelSubtitle(text); 46 } 47 48 public static PanelSubtitle getPanelSubtitleForSimulatedKochSnowflake(ComputerKurzweilContext ctx) { 49 String text = ctx.getProperties().getKochsnowflake().getView().getSubtitle(); 50 return new PanelSubtitle(text); 51 } 52 53 public static PanelSubtitle getPanelSubtitleForMandelbrot(ComputerKurzweilContext ctx) { 54 String text = ctx.getProperties().getMandelbrot().getView().getSubtitle(); 55 return new PanelSubtitle(text); 56 } 57 58 59 public static PanelSubtitle getPanelSubtitleForSameGame(ComputerKurzweilContext ctx) { 60 String text = ctx.getProperties().getSamegame().getView().getSubtitle(); 61 return new PanelSubtitle(text); 62 } 63 64 public static PanelSubtitle getPanelSubtitleForSierpinskiTriangle(ComputerKurzweilContext ctx) { 65 String text = ctx.getProperties().getSierpinskitriangle().getView().getSubtitle(); 66 return new PanelSubtitle(text); 67 } 68 69 public static PanelSubtitle getPanelSubtitleForSierpinskiTetris(ComputerKurzweilContext ctx) { 70 String text = ctx.getProperties().getTetris().getView().getSubtitle(); 71 return new PanelSubtitle(text); 72 } 73 74 public static PanelSubtitle getPanelSubtitleForSierpinskiTurmite(ComputerKurzweilContext ctx) { 75 String text = ctx.getProperties().getTurmite().getView().getSubtitle(); 76 return new PanelSubtitle(text); 77 } 78 79 public static PanelSubtitle getPanelSubtitleForSierpinskiWaTor(ComputerKurzweilContext ctx) { 80 String text = ctx.getProperties().getWator().getView().getSubtitle(); 81 return new PanelSubtitle(text); 82 } 83 }