/* | |||||
* To change this license header, choose License Headers in Project Properties. | |||||
* To change this template file, choose Tools | Templates | |||||
* and open the template in the editor. | |||||
*/ | |||||
package controller; | |||||
import java.util.Observable; | |||||
import java.util.Observer; | |||||
import model.Model; | |||||
import view.View; | |||||
/** | |||||
* | |||||
* @author nobody | |||||
*/ | |||||
public class EieruhrController implements Observer | |||||
{ | |||||
private View view; | |||||
private Model model; | |||||
public EieruhrController(View view, Model model) | |||||
{ | |||||
this.view = view; | |||||
this.model = model; | |||||
} | |||||
public void registerEvents() | |||||
{ | |||||
model.addObserver(this); | |||||
} | |||||
@Override | |||||
public void update(Observable o, Object arg) | |||||
{ | |||||
view.getLblCounter().setText(Integer.toString(model.getZahl())); | |||||
} | |||||
} |
/* | |||||
* To change this license header, choose License Headers in Project Properties. | |||||
* To change this template file, choose Tools | Templates | |||||
* and open the template in the editor. | |||||
*/ | |||||
package eieruhr; | |||||
import controller.EieruhrController; | |||||
import java.awt.Dimension; | |||||
import java.beans.PropertyChangeEvent; | |||||
import java.beans.PropertyChangeListener; | |||||
import java.lang.System.Logger; | |||||
import java.util.Observable; | |||||
import java.util.Observer; | |||||
import java.util.concurrent.CopyOnWriteArrayList; | |||||
import javax.swing.JComponent; | |||||
import model.Model; | |||||
import view.View; | |||||
/** | |||||
* Builder Class | |||||
* @author Apollo | |||||
*/ | |||||
public class Fassade extends JComponent implements PropertyChangeListener, Observer | |||||
{ | |||||
Dimension preferredSize; | |||||
Dimension minimumSize; | |||||
private static Logger log; | |||||
private static Model model; | |||||
private static View view; | |||||
private static EieruhrController controller; | |||||
private CopyOnWriteArrayList<TimerListener> listenerListe; | |||||
private static int neu,alt; | |||||
public Fassade() | |||||
{ | |||||
minimumSize = new Dimension(100,50); | |||||
preferredSize = new Dimension(200,100); | |||||
model = new Model(); | |||||
view = new View(); | |||||
controller = new EieruhrController(view, model); | |||||
controller.registerEvents(); | |||||
registerEvents(); | |||||
this.listenerListe = new CopyOnWriteArrayList<TimerListener>(); | |||||
alt = 0; | |||||
} | |||||
public void setZahl(int x) | |||||
{ | |||||
model.setStartZahl(x); | |||||
} | |||||
public int getZahl() | |||||
{ | |||||
return model.getZahl(); | |||||
} | |||||
public Dimension getPreferredSize() | |||||
{ | |||||
return preferredSize; | |||||
} | |||||
public Dimension getMinimumSize() | |||||
{ | |||||
return minimumSize; | |||||
} | |||||
public void isWarten(boolean warten) | |||||
{ | |||||
if(warten) { | |||||
model.isWarten(); | |||||
} | |||||
} | |||||
public void isWeiterlaufen(boolean weiter){ | |||||
if(weiter) { | |||||
model.isWeiterlaufen(); | |||||
} | |||||
} | |||||
public void starten() | |||||
{ | |||||
model.start(); | |||||
} | |||||
public void setaktuelleZahl() | |||||
{ | |||||
neu = model.getZahl(); | |||||
this.firePropertyChange("aktuelle Zahl", alt, neu); | |||||
alt = neu; | |||||
} | |||||
public void propertyChange(PropertyChangeEvent evt) | |||||
{ | |||||
Object obj = evt.getNewValue(); | |||||
if (obj instanceof Boolean) | |||||
{ | |||||
// Reaktion auf die Nachricht: | |||||
this.starten(); | |||||
} | |||||
} | |||||
public synchronized void addEigenerListener(TimerListener horcher) | |||||
{ | |||||
listenerListe.add(horcher); | |||||
} | |||||
public synchronized void removeEignerListener(TimerListener horcher) | |||||
{ | |||||
listenerListe.remove(horcher); | |||||
} | |||||
public void fireTimerEvent(TimerEvent evt) | |||||
{ | |||||
listenerListe.forEach(listener -> listener.timerabgelaufen(evt)); | |||||
} | |||||
public void registerEvents() | |||||
{ | |||||
model.addObserver(this); | |||||
} | |||||
@Override | |||||
public void update(Observable arg0, Object arg1) | |||||
{ | |||||
if(model.getZahl() == 0) | |||||
{ | |||||
fireTimerEvent(new TimerEvent(this)); | |||||
} | |||||
else | |||||
{ | |||||
setaktuelleZahl(); | |||||
} | |||||
} | |||||
} |
/* | |||||
* To change this license header, choose License Headers in Project Properties. | |||||
* To change this template file, choose Tools | Templates | |||||
* and open the template in the editor. | |||||
*/ | |||||
package eieruhr; | |||||
import java.beans.*; | |||||
/** | |||||
* | |||||
* @author Apollo | |||||
*/ | |||||
public class FassadeBeanInfo extends SimpleBeanInfo | |||||
{ | |||||
// Bean descriptor//GEN-FIRST:BeanDescriptor | |||||
/*lazy BeanDescriptor*/ | |||||
private static BeanDescriptor getBdescriptor(){ | |||||
BeanDescriptor beanDescriptor = new BeanDescriptor ( eieruhr.Fassade.class , null ); // NOI18N//GEN-HEADEREND:BeanDescriptor | |||||
// Here you can add code for customizing the BeanDescriptor. | |||||
return beanDescriptor; }//GEN-LAST:BeanDescriptor | |||||
// Property identifiers//GEN-FIRST:Properties | |||||
private static final int PROPERTY_zahl = 0; | |||||
// Property array | |||||
/*lazy PropertyDescriptor*/ | |||||
private static PropertyDescriptor[] getPdescriptor(){ | |||||
PropertyDescriptor[] properties = new PropertyDescriptor[1]; | |||||
try { | |||||
properties[PROPERTY_zahl] = new PropertyDescriptor ( "zahl", eieruhr.Fassade.class, "getZahl", "setZahl" ); // NOI18N | |||||
} | |||||
catch(IntrospectionException e) { | |||||
e.printStackTrace(); | |||||
}//GEN-HEADEREND:Properties | |||||
// Here you can add code for customizing the properties array. | |||||
return properties; }//GEN-LAST:Properties | |||||
// EventSet identifiers//GEN-FIRST:Events | |||||
// EventSet array | |||||
/*lazy EventSetDescriptor*/ | |||||
private static EventSetDescriptor[] getEdescriptor(){ | |||||
EventSetDescriptor[] eventSets = new EventSetDescriptor[0];//GEN-HEADEREND:Events | |||||
// Here you can add code for customizing the event sets array. | |||||
return eventSets; }//GEN-LAST:Events | |||||
// Method identifiers//GEN-FIRST:Methods | |||||
private static final int METHOD_addEigenerListener0 = 0; | |||||
private static final int METHOD_addPropertyChangeListener1 = 1; | |||||
private static final int METHOD_isWarten2 = 2; | |||||
private static final int METHOD_isWeiterlaufen3 = 3; | |||||
private static final int METHOD_removeEignerListener4 = 4; | |||||
private static final int METHOD_removePropertyChangeListener5 = 5; | |||||
private static final int METHOD_setaktuelleZahl6 = 6; | |||||
private static final int METHOD_starten7 = 7; | |||||
// Method array | |||||
/*lazy MethodDescriptor*/ | |||||
private static MethodDescriptor[] getMdescriptor(){ | |||||
MethodDescriptor[] methods = new MethodDescriptor[8]; | |||||
try { | |||||
methods[METHOD_addEigenerListener0] = new MethodDescriptor(eieruhr.Fassade.class.getMethod("addEigenerListener", new Class[] {eieruhr.TimerListener.class})); // NOI18N | |||||
methods[METHOD_addEigenerListener0].setDisplayName ( "" ); | |||||
methods[METHOD_addPropertyChangeListener1] = new MethodDescriptor(java.awt.Container.class.getMethod("addPropertyChangeListener", new Class[] {java.lang.String.class, java.beans.PropertyChangeListener.class})); // NOI18N | |||||
methods[METHOD_addPropertyChangeListener1].setDisplayName ( "" ); | |||||
methods[METHOD_isWarten2] = new MethodDescriptor(eieruhr.Fassade.class.getMethod("isWarten", new Class[] {})); // NOI18N | |||||
methods[METHOD_isWarten2].setDisplayName ( "" ); | |||||
methods[METHOD_isWeiterlaufen3] = new MethodDescriptor(eieruhr.Fassade.class.getMethod("isWeiterlaufen", new Class[] {})); // NOI18N | |||||
methods[METHOD_isWeiterlaufen3].setDisplayName ( "" ); | |||||
methods[METHOD_removeEignerListener4] = new MethodDescriptor(eieruhr.Fassade.class.getMethod("removeEignerListener", new Class[] {eieruhr.TimerListener.class})); // NOI18N | |||||
methods[METHOD_removeEignerListener4].setDisplayName ( "" ); | |||||
methods[METHOD_removePropertyChangeListener5] = new MethodDescriptor(java.awt.Component.class.getMethod("removePropertyChangeListener", new Class[] {java.lang.String.class, java.beans.PropertyChangeListener.class})); // NOI18N | |||||
methods[METHOD_removePropertyChangeListener5].setDisplayName ( "" ); | |||||
methods[METHOD_setaktuelleZahl6] = new MethodDescriptor(eieruhr.Fassade.class.getMethod("setaktuelleZahl", new Class[] {})); // NOI18N | |||||
methods[METHOD_setaktuelleZahl6].setDisplayName ( "" ); | |||||
methods[METHOD_starten7] = new MethodDescriptor(eieruhr.Fassade.class.getMethod("starten", new Class[] {})); // NOI18N | |||||
methods[METHOD_starten7].setDisplayName ( "" ); | |||||
} | |||||
catch( Exception e) {}//GEN-HEADEREND:Methods | |||||
// Here you can add code for customizing the methods array. | |||||
return methods; }//GEN-LAST:Methods | |||||
private static java.awt.Image iconColor16 = null;//GEN-BEGIN:IconsDef | |||||
private static java.awt.Image iconColor32 = null; | |||||
private static java.awt.Image iconMono16 = null; | |||||
private static java.awt.Image iconMono32 = null;//GEN-END:IconsDef | |||||
private static String iconNameC16 = null;//GEN-BEGIN:Icons | |||||
private static String iconNameC32 = null; | |||||
private static String iconNameM16 = null; | |||||
private static String iconNameM32 = null;//GEN-END:Icons | |||||
private static final int defaultPropertyIndex = -1;//GEN-BEGIN:Idx | |||||
private static final int defaultEventIndex = -1;//GEN-END:Idx | |||||
//GEN-FIRST:Superclass | |||||
// Here you can add code for customizing the Superclass BeanInfo. | |||||
//GEN-LAST:Superclass | |||||
/** | |||||
* Gets the bean's <code>BeanDescriptor</code>s. | |||||
* | |||||
* @return BeanDescriptor describing the editable properties of this bean. May | |||||
* return null if the information should be obtained by automatic analysis. | |||||
*/ | |||||
@Override | |||||
public BeanDescriptor getBeanDescriptor() | |||||
{ | |||||
return getBdescriptor(); | |||||
} | |||||
/** | |||||
* Gets the bean's <code>PropertyDescriptor</code>s. | |||||
* | |||||
* @return An array of PropertyDescriptors describing the editable properties | |||||
* supported by this bean. May return null if the information should be | |||||
* obtained by automatic analysis. | |||||
* <p> | |||||
* If a property is indexed, then its entry in the result array will belong to | |||||
* the IndexedPropertyDescriptor subclass of PropertyDescriptor. A client of | |||||
* getPropertyDescriptors can use "instanceof" to check if a given | |||||
* PropertyDescriptor is an IndexedPropertyDescriptor. | |||||
*/ | |||||
@Override | |||||
public PropertyDescriptor[] getPropertyDescriptors() | |||||
{ | |||||
return getPdescriptor(); | |||||
} | |||||
/** | |||||
* Gets the bean's <code>EventSetDescriptor</code>s. | |||||
* | |||||
* @return An array of EventSetDescriptors describing the kinds of events | |||||
* fired by this bean. May return null if the information should be obtained | |||||
* by automatic analysis. | |||||
*/ | |||||
@Override | |||||
public EventSetDescriptor[] getEventSetDescriptors() | |||||
{ | |||||
return getEdescriptor(); | |||||
} | |||||
/** | |||||
* Gets the bean's <code>MethodDescriptor</code>s. | |||||
* | |||||
* @return An array of MethodDescriptors describing the methods implemented by | |||||
* this bean. May return null if the information should be obtained by | |||||
* automatic analysis. | |||||
*/ | |||||
@Override | |||||
public MethodDescriptor[] getMethodDescriptors() | |||||
{ | |||||
return getMdescriptor(); | |||||
} | |||||
/** | |||||
* A bean may have a "default" property that is the property that will mostly | |||||
* commonly be initially chosen for update by human's who are customizing the | |||||
* bean. | |||||
* | |||||
* @return Index of default property in the PropertyDescriptor array returned | |||||
* by getPropertyDescriptors. | |||||
* <P> | |||||
* Returns -1 if there is no default property. | |||||
*/ | |||||
@Override | |||||
public int getDefaultPropertyIndex() | |||||
{ | |||||
return defaultPropertyIndex; | |||||
} | |||||
/** | |||||
* A bean may have a "default" event that is the event that will mostly | |||||
* commonly be used by human's when using the bean. | |||||
* | |||||
* @return Index of default event in the EventSetDescriptor array returned by | |||||
* getEventSetDescriptors. | |||||
* <P> | |||||
* Returns -1 if there is no default event. | |||||
*/ | |||||
@Override | |||||
public int getDefaultEventIndex() | |||||
{ | |||||
return defaultEventIndex; | |||||
} | |||||
/** | |||||
* This method returns an image object that can be used to represent the bean | |||||
* in toolboxes, toolbars, etc. Icon images will typically be GIFs, but may in | |||||
* future include other formats. | |||||
* <p> | |||||
* Beans aren't required to provide icons and may return null from this | |||||
* method. | |||||
* <p> | |||||
* There are four possible flavors of icons (16x16 color, 32x32 color, 16x16 | |||||
* mono, 32x32 mono). If a bean choses to only support a single icon we | |||||
* recommend supporting 16x16 color. | |||||
* <p> | |||||
* We recommend that icons have a "transparent" background so they can be | |||||
* rendered onto an existing background. | |||||
* | |||||
* @param iconKind The kind of icon requested. This should be one of the | |||||
* constant values ICON_COLOR_16x16, ICON_COLOR_32x32, ICON_MONO_16x16, or | |||||
* ICON_MONO_32x32. | |||||
* @return An image object representing the requested icon. May return null if | |||||
* no suitable icon is available. | |||||
*/ | |||||
@Override | |||||
public java.awt.Image getIcon(int iconKind) | |||||
{ | |||||
switch (iconKind) | |||||
{ | |||||
case ICON_COLOR_16x16: | |||||
if (iconNameC16 == null) | |||||
{ | |||||
return null; | |||||
} | |||||
else | |||||
{ | |||||
if (iconColor16 == null) | |||||
{ | |||||
iconColor16 = loadImage(iconNameC16); | |||||
} | |||||
return iconColor16; | |||||
} | |||||
case ICON_COLOR_32x32: | |||||
if (iconNameC32 == null) | |||||
{ | |||||
return null; | |||||
} | |||||
else | |||||
{ | |||||
if (iconColor32 == null) | |||||
{ | |||||
iconColor32 = loadImage(iconNameC32); | |||||
} | |||||
return iconColor32; | |||||
} | |||||
case ICON_MONO_16x16: | |||||
if (iconNameM16 == null) | |||||
{ | |||||
return null; | |||||
} | |||||
else | |||||
{ | |||||
if (iconMono16 == null) | |||||
{ | |||||
iconMono16 = loadImage(iconNameM16); | |||||
} | |||||
return iconMono16; | |||||
} | |||||
case ICON_MONO_32x32: | |||||
if (iconNameM32 == null) | |||||
{ | |||||
return null; | |||||
} | |||||
else | |||||
{ | |||||
if (iconMono32 == null) | |||||
{ | |||||
iconMono32 = loadImage(iconNameM32); | |||||
} | |||||
return iconMono32; | |||||
} | |||||
default: | |||||
return null; | |||||
} | |||||
} | |||||
} |
/* | |||||
* To change this license header, choose License Headers in Project Properties. | |||||
* To change this template file, choose Tools | Templates | |||||
* and open the template in the editor. | |||||
*/ | |||||
package eieruhr; | |||||
import java.util.EventObject; | |||||
/** | |||||
* | |||||
* @author Apollo | |||||
*/ | |||||
public class TimerEvent extends EventObject | |||||
{ | |||||
public TimerEvent(Object source) | |||||
{ | |||||
super(source); | |||||
} | |||||
} |
/* | |||||
* To change this license header, choose License Headers in Project Properties. | |||||
* To change this template file, choose Tools | Templates | |||||
* and open the template in the editor. | |||||
*/ | |||||
package eieruhr; | |||||
import java.util.EventListener; | |||||
/** | |||||
* | |||||
* @author Apollo | |||||
*/ | |||||
public interface TimerListener extends EventListener | |||||
{ | |||||
public void timerabgelaufen(TimerEvent evt); | |||||
} |
/* | |||||
* To change this license header, choose License Headers in Project Properties. | |||||
* To change this template file, choose Tools | Templates | |||||
* and open the template in the editor. | |||||
*/ | |||||
package logger.MyFormatter; | |||||
import java.util.Date; | |||||
import java.util.logging.LogRecord; | |||||
import java.util.logging.SimpleFormatter; | |||||
/** | |||||
* | |||||
* @author nobody | |||||
*/ | |||||
public class MyFormatter extends SimpleFormatter | |||||
{ | |||||
private String message; | |||||
private final Date dat = new Date(); | |||||
@Override | |||||
public String format(LogRecord record) | |||||
{ | |||||
dat.setTime(record.getMillis()); | |||||
message = "| " + dat + " | " + record.getLevel() + " | " | |||||
+ record.getSourceClassName() + " | " + record.getMessage() + " |\n"; | |||||
return message; | |||||
} | |||||
public MyFormatter() | |||||
{ | |||||
} | |||||
} |
/* | |||||
* To change this license header, choose License Headers in Project Properties. | |||||
* To change this template file, choose Tools | Templates | |||||
* and open the template in the editor. | |||||
*/ | |||||
package logger; | |||||
import java.io.File; | |||||
import java.io.IOException; | |||||
import java.util.logging.ConsoleHandler; | |||||
import java.util.logging.FileHandler; | |||||
import java.util.logging.Level; | |||||
import java.util.logging.Logger; | |||||
import logger.MyFormatter.MyFormatter; | |||||
/** | |||||
* | |||||
* @author nobody | |||||
*/ | |||||
public class OhmLogger | |||||
{ | |||||
private static Logger lg = null; | |||||
public static Logger getLogger() | |||||
{ | |||||
if (lg == null) | |||||
{ | |||||
lg = Logger.getLogger("OhmLogger"); | |||||
initLogger(); | |||||
} | |||||
return lg; | |||||
} | |||||
private static void initLogger() | |||||
{ | |||||
try | |||||
{ | |||||
String datei = System.getProperty("java.io.tmpdir") + File.separator + "log.txt"; | |||||
FileHandler fh = new FileHandler(datei); | |||||
ConsoleHandler ch = new ConsoleHandler(); | |||||
lg.setUseParentHandlers(false); | |||||
lg.addHandler(fh); | |||||
ch.setFormatter(new MyFormatter()); | |||||
lg.addHandler(ch); | |||||
lg.setLevel(Level.ALL); | |||||
} | |||||
catch (IOException ioex) | |||||
{ | |||||
System.err.println(ioex); | |||||
} | |||||
} | |||||
public OhmLogger() | |||||
{ | |||||
} | |||||
} |
/* | |||||
* To change this license header, choose License Headers in Project Properties. | |||||
* To change this template file, choose Tools | Templates | |||||
* and open the template in the editor. | |||||
*/ | |||||
package model; | |||||
import java.util.Observable; | |||||
import java.util.logging.Level; | |||||
import java.util.logging.Logger; | |||||
import javax.swing.JOptionPane; | |||||
/** | |||||
* | |||||
* @author nobody | |||||
*/ | |||||
public class Model extends Observable implements Runnable | |||||
{ | |||||
private int zahl; | |||||
private boolean status; | |||||
private Thread thr; | |||||
private boolean notify; | |||||
private boolean schlafen; | |||||
public Model() | |||||
{ | |||||
zahl = 0; | |||||
status = false; | |||||
thr = null; | |||||
} | |||||
public void start() | |||||
{ | |||||
if (status == true) | |||||
{ | |||||
//1 | |||||
//notify = true; | |||||
synchronized (thr) | |||||
{ | |||||
thr.notify(); | |||||
schlafen = false; | |||||
} | |||||
} | |||||
if (status == false && thr == null) | |||||
{ | |||||
zahl = 0; | |||||
thr = new Thread(this); | |||||
thr.start(); | |||||
status = true; | |||||
notify = true; | |||||
} | |||||
} | |||||
@Override | |||||
public void run() | |||||
{ | |||||
while (status == true) | |||||
{ | |||||
if (schlafen == true) | |||||
{ | |||||
synchronized (thr) | |||||
{ | |||||
try | |||||
{ | |||||
thr.wait(); | |||||
} | |||||
catch (InterruptedException ex) | |||||
{ | |||||
JOptionPane.showMessageDialog(null, "Alles Kaputt"); | |||||
} | |||||
} | |||||
} | |||||
// Zahl incrementieren | |||||
zahl--; | |||||
// Zahl ändern | |||||
if (notify == true) | |||||
{ | |||||
this.setChanged(); | |||||
this.notifyObservers(); | |||||
} | |||||
// Zahl zurücksetzen | |||||
if (zahl == 0) | |||||
{ | |||||
zahl = 10; | |||||
} | |||||
// kurze Wartezeit | |||||
try | |||||
{ | |||||
Thread.sleep(1000); | |||||
} | |||||
catch (InterruptedException ex) | |||||
{ | |||||
Logger.getLogger(Model.class.getName()).log(Level.SEVERE, null, ex); | |||||
} | |||||
} | |||||
} | |||||
/** | |||||
* @return the zahl | |||||
*/ | |||||
public int getZahl() | |||||
{ | |||||
return zahl; | |||||
} | |||||
public void setStartZahl(int zahl) | |||||
{ | |||||
this.zahl = zahl; | |||||
} | |||||
public void isWarten() | |||||
{ | |||||
schlafen = true; | |||||
} | |||||
public void isWeiterlaufen(){ | |||||
schlafen = false; | |||||
} | |||||
} |
<?xml version="1.0" encoding="UTF-8" ?> | |||||
<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JPanelFormInfo"> | |||||
<AuxValues> | |||||
<AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/> | |||||
<AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/> | |||||
<AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/> | |||||
<AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/> | |||||
<AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/> | |||||
<AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/> | |||||
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/> | |||||
<AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/> | |||||
<AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/> | |||||
</AuxValues> | |||||
<Layout> | |||||
<DimensionLayout dim="0"> | |||||
<Group type="103" groupAlignment="0" attributes="0"> | |||||
<Group type="102" alignment="0" attributes="0"> | |||||
<EmptySpace min="-2" pref="23" max="-2" attributes="0"/> | |||||
<Component id="LblCounter" min="-2" pref="51" max="-2" attributes="0"/> | |||||
<EmptySpace pref="26" max="32767" attributes="0"/> | |||||
</Group> | |||||
</Group> | |||||
</DimensionLayout> | |||||
<DimensionLayout dim="1"> | |||||
<Group type="103" groupAlignment="0" attributes="0"> | |||||
<Group type="102" alignment="0" attributes="0"> | |||||
<EmptySpace min="-2" pref="36" max="-2" attributes="0"/> | |||||
<Component id="LblCounter" min="-2" pref="38" max="-2" attributes="0"/> | |||||
<EmptySpace pref="38" max="32767" attributes="0"/> | |||||
</Group> | |||||
</Group> | |||||
</DimensionLayout> | |||||
</Layout> | |||||
<SubComponents> | |||||
<Component class="javax.swing.JLabel" name="LblCounter"> | |||||
<Properties> | |||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> | |||||
<Font name="Lucida Grande" size="36" style="0"/> | |||||
</Property> | |||||
<Property name="text" type="java.lang.String" value="10"/> | |||||
</Properties> | |||||
</Component> | |||||
</SubComponents> | |||||
</Form> |
/* | |||||
* To change this license header, choose License Headers in Project Properties. | |||||
* To change this template file, choose Tools | Templates | |||||
* and open the template in the editor. | |||||
*/ | |||||
package view; | |||||
/** | |||||
* | |||||
* @author Apollo | |||||
*/ | |||||
public class View extends javax.swing.JPanel | |||||
{ | |||||
/** | |||||
* @return the LblCounter | |||||
*/ | |||||
public javax.swing.JLabel getLblCounter() | |||||
{ | |||||
return LblCounter; | |||||
} | |||||
/** | |||||
* @param LblCounter the LblCounter to set | |||||
*/ | |||||
public void setLblCounter(javax.swing.JLabel LblCounter) | |||||
{ | |||||
this.LblCounter = LblCounter; | |||||
} | |||||
/** | |||||
* Creates new form view | |||||
*/ | |||||
public View() | |||||
{ | |||||
initComponents(); | |||||
} | |||||
/** | |||||
* This method is called from within the constructor to initialize the form. | |||||
* WARNING: Do NOT modify this code. The content of this method is always | |||||
* regenerated by the Form Editor. | |||||
*/ | |||||
@SuppressWarnings("unchecked") | |||||
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents | |||||
private void initComponents() | |||||
{ | |||||
LblCounter = new javax.swing.JLabel(); | |||||
LblCounter.setFont(new java.awt.Font("Lucida Grande", 0, 36)); // NOI18N | |||||
LblCounter.setText("10"); | |||||
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); | |||||
this.setLayout(layout); | |||||
layout.setHorizontalGroup( | |||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) | |||||
.addGroup(layout.createSequentialGroup() | |||||
.addGap(23, 23, 23) | |||||
.addComponent(LblCounter, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE) | |||||
.addContainerGap(26, Short.MAX_VALUE)) | |||||
); | |||||
layout.setVerticalGroup( | |||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) | |||||
.addGroup(layout.createSequentialGroup() | |||||
.addGap(36, 36, 36) | |||||
.addComponent(LblCounter, javax.swing.GroupLayout.PREFERRED_SIZE, 38, javax.swing.GroupLayout.PREFERRED_SIZE) | |||||
.addContainerGap(38, Short.MAX_VALUE)) | |||||
); | |||||
}// </editor-fold>//GEN-END:initComponents | |||||
// Variables declaration - do not modify//GEN-BEGIN:variables | |||||
private javax.swing.JLabel LblCounter; | |||||
// End of variables declaration//GEN-END:variables | |||||
} |