Conflicts: src/wuerfelthreads/Start.java src/wuerfelthreads/view/WuerfelView.form src/wuerfelthreads/view/WuerfelView.javamaster
@@ -0,0 +1,69 @@ | |||
/* | |||
* 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 EierUhrKomponente; | |||
import java.awt.Graphics; | |||
import java.net.Socket; | |||
import java.util.concurrent.CopyOnWriteArrayList; | |||
import java.util.logging.Logger; | |||
import javax.swing.JComponent; | |||
import javax.swing.JFrame; | |||
import javax.swing.WindowConstants; | |||
import javax.swing.JOptionPane; | |||
import javax.swing.JPanel; | |||
import javax.swing.UIManager; | |||
import ohmlogger.OhmLogger; | |||
/** | |||
* Builder Class | |||
* @author le | |||
*/ | |||
public class EierUhr extends JComponent | |||
{ | |||
private static Logger lg = OhmLogger.getLogger(); | |||
private EierUhrView view; | |||
private EierUhrModel model; | |||
private EierUhrController ctrl; | |||
private CopyOnWriteArrayList<EierUhrListener> listenerListe; | |||
public EierUhr() | |||
{ | |||
this.view = new EierUhrView(this); | |||
this.model = new EierUhrModel(); | |||
this.ctrl = new EierUhrController(view, model, this); | |||
this.listenerListe = new CopyOnWriteArrayList<EierUhrListener>(); | |||
} | |||
public void paintComponent(Graphics g) | |||
{ | |||
view.paintComponent(g); | |||
} | |||
public void Start(int zahl) | |||
{ | |||
ctrl.start(zahl); | |||
} | |||
public int getZahl() | |||
{ | |||
return ctrl.getZahl(); | |||
} | |||
public void fireEierUhrEvent(EierUhrEvent evt) | |||
{ | |||
listenerListe.forEach(listener -> listener.timeIsOver(evt)); | |||
} | |||
public synchronized void addEierUhrListener(EierUhrListener listener) | |||
{ | |||
listenerListe.add(listener); | |||
} | |||
public synchronized void removeEierUhrListener(EierUhrListener listener) | |||
{ | |||
listenerListe.remove(listener); | |||
} | |||
} |
@@ -0,0 +1,297 @@ | |||
/* | |||
* 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 EierUhrKomponente; | |||
import java.beans.*; | |||
/** | |||
* | |||
* @author chris | |||
*/ | |||
public class EierUhrBeanInfo extends SimpleBeanInfo | |||
{ | |||
// Bean descriptor//GEN-FIRST:BeanDescriptor | |||
/*lazy BeanDescriptor*/ | |||
private static BeanDescriptor getBdescriptor(){ | |||
BeanDescriptor beanDescriptor = new BeanDescriptor ( EierUhrKomponente.EierUhr.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", EierUhrKomponente.EierUhr.class, "getZahl", null ); // 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 | |||
private static final int EVENT_eierUhrListener = 0; | |||
private static final int EVENT_propertyChangeListener = 1; | |||
private static final int EVENT_vetoableChangeListener = 2; | |||
// EventSet array | |||
/*lazy EventSetDescriptor*/ | |||
private static EventSetDescriptor[] getEdescriptor(){ | |||
EventSetDescriptor[] eventSets = new EventSetDescriptor[3]; | |||
try { | |||
eventSets[EVENT_eierUhrListener] = new EventSetDescriptor ( EierUhrKomponente.EierUhr.class, "eierUhrListener", EierUhrKomponente.EierUhrListener.class, new String[] {"timeIsOver"}, "addEierUhrListener", "removeEierUhrListener" ); // NOI18N | |||
eventSets[EVENT_propertyChangeListener] = new EventSetDescriptor ( EierUhrKomponente.EierUhr.class, "propertyChangeListener", java.beans.PropertyChangeListener.class, new String[] {"propertyChange"}, "addPropertyChangeListener", "removePropertyChangeListener" ); // NOI18N | |||
eventSets[EVENT_vetoableChangeListener] = new EventSetDescriptor ( EierUhrKomponente.EierUhr.class, "vetoableChangeListener", java.beans.VetoableChangeListener.class, new String[] {"vetoableChange"}, "addVetoableChangeListener", "removeVetoableChangeListener" ); // NOI18N | |||
} | |||
catch(IntrospectionException e) { | |||
e.printStackTrace(); | |||
}//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_fireEierUhrEvent0 = 0; | |||
private static final int METHOD_firePropertyChange1 = 1; | |||
private static final int METHOD_firePropertyChange2 = 2; | |||
private static final int METHOD_firePropertyChange3 = 3; | |||
private static final int METHOD_firePropertyChange4 = 4; | |||
private static final int METHOD_firePropertyChange5 = 5; | |||
private static final int METHOD_firePropertyChange6 = 6; | |||
private static final int METHOD_firePropertyChange7 = 7; | |||
private static final int METHOD_firePropertyChange8 = 8; | |||
private static final int METHOD_Start9 = 9; | |||
// Method array | |||
/*lazy MethodDescriptor*/ | |||
private static MethodDescriptor[] getMdescriptor(){ | |||
MethodDescriptor[] methods = new MethodDescriptor[10]; | |||
try { | |||
methods[METHOD_fireEierUhrEvent0] = new MethodDescriptor(EierUhrKomponente.EierUhr.class.getMethod("fireEierUhrEvent", new Class[] {EierUhrKomponente.EierUhrEvent.class})); // NOI18N | |||
methods[METHOD_fireEierUhrEvent0].setDisplayName ( "" ); | |||
methods[METHOD_firePropertyChange1] = new MethodDescriptor(java.awt.Component.class.getMethod("firePropertyChange", new Class[] {java.lang.String.class, byte.class, byte.class})); // NOI18N | |||
methods[METHOD_firePropertyChange1].setDisplayName ( "" ); | |||
methods[METHOD_firePropertyChange2] = new MethodDescriptor(java.awt.Component.class.getMethod("firePropertyChange", new Class[] {java.lang.String.class, short.class, short.class})); // NOI18N | |||
methods[METHOD_firePropertyChange2].setDisplayName ( "" ); | |||
methods[METHOD_firePropertyChange3] = new MethodDescriptor(java.awt.Component.class.getMethod("firePropertyChange", new Class[] {java.lang.String.class, long.class, long.class})); // NOI18N | |||
methods[METHOD_firePropertyChange3].setDisplayName ( "" ); | |||
methods[METHOD_firePropertyChange4] = new MethodDescriptor(java.awt.Component.class.getMethod("firePropertyChange", new Class[] {java.lang.String.class, float.class, float.class})); // NOI18N | |||
methods[METHOD_firePropertyChange4].setDisplayName ( "" ); | |||
methods[METHOD_firePropertyChange5] = new MethodDescriptor(java.awt.Component.class.getMethod("firePropertyChange", new Class[] {java.lang.String.class, double.class, double.class})); // NOI18N | |||
methods[METHOD_firePropertyChange5].setDisplayName ( "" ); | |||
methods[METHOD_firePropertyChange6] = new MethodDescriptor(javax.swing.JComponent.class.getMethod("firePropertyChange", new Class[] {java.lang.String.class, boolean.class, boolean.class})); // NOI18N | |||
methods[METHOD_firePropertyChange6].setDisplayName ( "" ); | |||
methods[METHOD_firePropertyChange7] = new MethodDescriptor(javax.swing.JComponent.class.getMethod("firePropertyChange", new Class[] {java.lang.String.class, int.class, int.class})); // NOI18N | |||
methods[METHOD_firePropertyChange7].setDisplayName ( "" ); | |||
methods[METHOD_firePropertyChange8] = new MethodDescriptor(javax.swing.JComponent.class.getMethod("firePropertyChange", new Class[] {java.lang.String.class, char.class, char.class})); // NOI18N | |||
methods[METHOD_firePropertyChange8].setDisplayName ( "" ); | |||
methods[METHOD_Start9] = new MethodDescriptor(EierUhrKomponente.EierUhr.class.getMethod("Start", new Class[] {int.class})); // NOI18N | |||
methods[METHOD_Start9].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; | |||
} | |||
} | |||
} |
@@ -0,0 +1,85 @@ | |||
/* | |||
* 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 EierUhrKomponente; | |||
import java.util.concurrent.CopyOnWriteArrayList; | |||
import java.util.concurrent.Flow; | |||
import java.util.concurrent.Flow.Subscriber; | |||
import java.util.logging.Logger; | |||
import ohmlogger.OhmLogger; | |||
/** | |||
* | |||
* @author chris | |||
*/ | |||
public class EierUhrController implements Flow.Subscriber<Integer> | |||
{ | |||
private EierUhrView view; | |||
private EierUhrModel model; | |||
private EierUhr eierUhr; | |||
private Flow.Subscription sub; | |||
private static Logger lg = OhmLogger.getLogger(); | |||
public EierUhrController(EierUhrView view, EierUhrModel model, EierUhr eierUhr) | |||
{ | |||
this.view = view; | |||
this.model = model; | |||
this.eierUhr = eierUhr; | |||
addSubscription(); | |||
} | |||
public void setZahl(int zahl) | |||
{ | |||
view.setZahl(zahl); | |||
} | |||
public int getZahl() | |||
{ | |||
return view.getZahl(); | |||
} | |||
public void start(int zahl) | |||
{ | |||
lg.info("Controller Start"); | |||
model.initZahl(zahl); | |||
} | |||
private void addSubscription() | |||
{ | |||
model.addSubscription(this); | |||
} | |||
@Override | |||
public void onSubscribe(Flow.Subscription subscription) | |||
{ | |||
this.sub = subscription; | |||
sub.request(1); | |||
} | |||
@Override | |||
public void onNext(Integer item) | |||
{ | |||
int zahl = view.getZahl(); | |||
sub.request(1); | |||
view.setZahl(item); | |||
eierUhr.firePropertyChange("zahl", zahl, view.getZahl()); | |||
if(item == 0) | |||
{ | |||
eierUhr.fireEierUhrEvent(new EierUhrEvent(this)); | |||
} | |||
} | |||
@Override | |||
public void onError(Throwable thrwbl) | |||
{ | |||
} | |||
@Override | |||
public void onComplete() | |||
{ | |||
} | |||
} |
@@ -0,0 +1,25 @@ | |||
/* | |||
* 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 EierUhrKomponente; | |||
import java.util.EventObject; | |||
import java.util.logging.Logger; | |||
import ohmlogger.OhmLogger; | |||
/** | |||
* | |||
* @author chris | |||
*/ | |||
public class EierUhrEvent extends EventObject | |||
{ | |||
private static Logger lg = OhmLogger.getLogger(); | |||
public EierUhrEvent(Object source) | |||
{ | |||
super(source); | |||
lg.info("event"); | |||
} | |||
} |
@@ -0,0 +1,19 @@ | |||
/* | |||
* 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 EierUhrKomponente; | |||
import java.util.EventListener; | |||
/** | |||
* | |||
* @author chris | |||
*/ | |||
public interface EierUhrListener extends EventListener | |||
{ | |||
public void timeIsOver(EierUhrEvent evt); | |||
} |
@@ -0,0 +1,92 @@ | |||
/* | |||
* 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 EierUhrKomponente; | |||
import java.util.concurrent.ExecutorService; | |||
import java.util.concurrent.Executors; | |||
import java.util.concurrent.Flow; | |||
import java.util.concurrent.SubmissionPublisher; | |||
import java.util.logging.Level; | |||
import java.util.logging.Logger; | |||
import ohmlogger.OhmLogger; | |||
/** | |||
* | |||
* @author chris | |||
*/ | |||
public class EierUhrModel implements Runnable | |||
{ | |||
private int zahl; | |||
private ExecutorService exe; | |||
private boolean laufend; | |||
private static Logger lg = OhmLogger.getLogger(); | |||
private SubmissionPublisher<Integer> ipublisher; | |||
public EierUhrModel() | |||
{ | |||
zahl = 100; | |||
exe = Executors.newSingleThreadExecutor(); | |||
ipublisher = new SubmissionPublisher<>(); | |||
} | |||
void start() | |||
{ | |||
exe.submit(this); | |||
laufend = true; | |||
lg.info("Start Model"); | |||
} | |||
public void initZahl(int zahl) | |||
{ | |||
this.zahl = zahl; | |||
lg.info("Reset Zahl to: " + Integer.toString(zahl)); | |||
start(); | |||
} | |||
@Override | |||
public void run() | |||
{ | |||
while(laufend) | |||
{ | |||
lg.info(Integer.toString(zahl)); | |||
if(zahl > 0) | |||
{ | |||
try | |||
{ | |||
Thread.sleep(1000); | |||
zahl -= 1; | |||
ipublisher.submit(zahl); | |||
} | |||
catch (InterruptedException ex) | |||
{ | |||
lg.info("error: "); | |||
Logger.getLogger(EierUhrModel.class.getName()).log(Level.SEVERE, null, ex); | |||
} | |||
} | |||
else | |||
{ | |||
lg.info("0 erreicht"); | |||
stop(); | |||
} | |||
} | |||
} | |||
public void addSubscription(Flow.Subscriber<Integer> subscriber) | |||
{ | |||
ipublisher.subscribe(subscriber); | |||
} | |||
public void stop() | |||
{ | |||
laufend = false; | |||
} | |||
} |
@@ -0,0 +1,83 @@ | |||
/* | |||
* 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 EierUhrKomponente; | |||
import java.awt.BasicStroke; | |||
import java.awt.Color; | |||
import java.awt.Graphics; | |||
import java.awt.Graphics2D; | |||
import java.awt.RenderingHints; | |||
import java.awt.geom.Ellipse2D; | |||
import java.util.logging.Logger; | |||
import javax.swing.JComponent; | |||
import ohmlogger.OhmLogger; | |||
/** | |||
* | |||
* @author chris | |||
*/ | |||
public class EierUhrView extends JComponent | |||
{ | |||
private static Logger lg = OhmLogger.getLogger(); | |||
private int zahl; | |||
private Ellipse2D.Float rand; | |||
private int DICKE; | |||
private BasicStroke pinsel; | |||
private EierUhr eierUhr; | |||
public EierUhrView(EierUhr eierUhr) | |||
{ | |||
zahl = 99; | |||
rand = new Ellipse2D.Float(); | |||
DICKE = 4; | |||
pinsel = new BasicStroke(DICKE); | |||
this.eierUhr = eierUhr; | |||
} | |||
@Override | |||
public void paintComponent(Graphics g) | |||
{ | |||
super.paintComponents(g); | |||
Graphics2D g2 = (Graphics2D) g; | |||
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, | |||
RenderingHints.VALUE_ANTIALIAS_ON); | |||
int breite = eierUhr.getWidth() -1; | |||
int hoehe = eierUhr.getHeight() -1; | |||
int radius = -DICKE/2 + Math.min(breite, hoehe) / 2; | |||
float x = breite/2 - radius; | |||
float y = hoehe/2 - radius; | |||
rand.setFrame(x, y, 1.5*radius, 2*radius); | |||
g2.setStroke(pinsel); | |||
// g2.setPaint(eierUhr.getParent().getBackground()); | |||
// g2.fill(rand); | |||
float font = (g2.getFont().getSize()*DICKE); | |||
g2.setPaint(Color.BLACK); | |||
g2.setFont(g2.getFont().deriveFont(font)); | |||
g2.drawString(Integer.toString(zahl), (float) (x+radius*0.75-font/2), y+radius+font/2); | |||
g2.draw(rand); | |||
lg.info("paint" + Integer.toString(zahl)); | |||
} | |||
public int getZahl() | |||
{ | |||
return this.zahl; | |||
} | |||
public void setZahl(int zahl) | |||
{ | |||
this.zahl = zahl; | |||
eierUhr.repaint(); | |||
} | |||
} |
@@ -1,70 +0,0 @@ | |||
/* | |||
* 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 graphicChat; | |||
import javax.swing.JFrame; | |||
import javax.swing.WindowConstants; | |||
import graphicChat.controller.CommandConnect; | |||
import graphicChat.controller.CommandSend; | |||
import graphicChat.controller.GraphicsController; | |||
import graphicChat.controller.ReceiveAdapter; | |||
import graphicChat.view.ChatView; | |||
import graphicChat.model.ChatModel; | |||
import javax.swing.JOptionPane; | |||
import javax.swing.UIManager; | |||
/** | |||
* Builder Class | |||
* @author le | |||
*/ | |||
public class Start | |||
{ | |||
public Start() | |||
{ | |||
JFrame frm = new JFrame(); | |||
frm.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); | |||
ChatView view = new ChatView(); | |||
ChatModel model = new ChatModel(); | |||
view.getGrafikView1().setModel(model); | |||
GraphicsController controller = new GraphicsController(view.getGrafikView1(), model); | |||
controller.registerEvents(); | |||
CommandConnect cmdConnect = new CommandConnect(view, model); | |||
cmdConnect.registerEvents(); | |||
CommandSend cmdSend = new CommandSend(view, model); | |||
cmdSend.registerEvents(); | |||
ReceiveAdapter recAdapter = new ReceiveAdapter(view, model); | |||
recAdapter.subscribe(); | |||
view.setVisible(true); | |||
view.setTitle("Chat"); | |||
view.setSize(800, 600); | |||
view.setVisible(true); | |||
} | |||
/** | |||
* @param args the command line arguments | |||
*/ | |||
public static void main(String[] args) | |||
{ | |||
try | |||
{ | |||
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); | |||
} | |||
catch (Exception ex) | |||
{ | |||
JOptionPane.showMessageDialog(null, ex.toString()); | |||
} | |||
new Start(); | |||
new Start(); | |||
} | |||
} |
@@ -0,0 +1,51 @@ | |||
/* | |||
* 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 test; | |||
import EierUhrKomponente.EierUhr; | |||
import javax.swing.JFrame; | |||
import javax.swing.JOptionPane; | |||
import javax.swing.UIManager; | |||
import javax.swing.WindowConstants; | |||
/** | |||
* | |||
* @author chris | |||
*/ | |||
public class Start | |||
{ | |||
public Start() | |||
{ | |||
JFrame frm = new JFrame(); | |||
frm.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); | |||
View view = new View(); | |||
// Model model = new Model(); | |||
// Controller ctrl = new Controller(view, model); | |||
view.setTitle("Test"); | |||
view.setSize(800, 600); | |||
view.setVisible(true); | |||
} | |||
/** | |||
* @param args the command line arguments | |||
*/ | |||
public static void main(String[] args) | |||
{ | |||
try | |||
{ | |||
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); | |||
} | |||
catch (Exception ex) | |||
{ | |||
JOptionPane.showMessageDialog(null, ex.toString()); | |||
} | |||
new Start(); | |||
} | |||
} |
@@ -0,0 +1,82 @@ | |||
<?xml version="1.0" encoding="UTF-8" ?> | |||
<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JFrameFormInfo"> | |||
<Properties> | |||
<Property name="defaultCloseOperation" type="int" value="3"/> | |||
</Properties> | |||
<SyntheticProperties> | |||
<SyntheticProperty name="formSizePolicy" type="int" value="1"/> | |||
<SyntheticProperty name="generateCenter" type="boolean" value="false"/> | |||
</SyntheticProperties> | |||
<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"/> | |||
<AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,44,0,0,1,-112"/> | |||
</AuxValues> | |||
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/> | |||
<SubComponents> | |||
<Component class="javax.swing.JLabel" name="jLabel1"> | |||
<Properties> | |||
<Property name="text" type="java.lang.String" value="Ich bin nicht abgelaufen"/> | |||
</Properties> | |||
<Constraints> | |||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription"> | |||
<BorderConstraints direction="First"/> | |||
</Constraint> | |||
</Constraints> | |||
</Component> | |||
<Container class="javax.swing.JPanel" name="jPanel1"> | |||
<Constraints> | |||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription"> | |||
<BorderConstraints direction="Center"/> | |||
</Constraint> | |||
</Constraints> | |||
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignBoxLayout"/> | |||
<SubComponents> | |||
<Container class="EierUhrKomponente.EierUhr" name="eierUhr1"> | |||
<Events> | |||
<EventHandler event="timeIsOver" listener="EierUhrKomponente.EierUhrListener" parameters="EierUhrKomponente.EierUhrEvent" handler="eierUhr1TimeIsOver"/> | |||
<EventHandler event="propertyChange" listener="java.beans.PropertyChangeListener" parameters="java.beans.PropertyChangeEvent" handler="eierUhr1PropertyChange,eierUhr1PropertyChange1"/> | |||
</Events> | |||
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"> | |||
<Property name="useNullLayout" type="boolean" value="true"/> | |||
</Layout> | |||
</Container> | |||
</SubComponents> | |||
</Container> | |||
<Component class="javax.swing.JButton" name="jButton1"> | |||
<Properties> | |||
<Property name="text" type="java.lang.String" value="Start"/> | |||
</Properties> | |||
<Events> | |||
<EventHandler event="mousePressed" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="jButton1MousePressed"/> | |||
<EventHandler event="mouseReleased" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="jButton1MouseReleased"/> | |||
</Events> | |||
<Constraints> | |||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription"> | |||
<BorderConstraints direction="After"/> | |||
</Constraint> | |||
</Constraints> | |||
</Component> | |||
<Component class="javax.swing.JProgressBar" name="jProgressBar1"> | |||
<Properties> | |||
<Property name="maximum" type="int" value="3"/> | |||
</Properties> | |||
<Constraints> | |||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription"> | |||
<BorderConstraints direction="Last"/> | |||
</Constraint> | |||
</Constraints> | |||
</Component> | |||
</SubComponents> | |||
</Form> |
@@ -0,0 +1,166 @@ | |||
/* | |||
* 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 test; | |||
/** | |||
* | |||
* @author chris | |||
*/ | |||
public class View extends javax.swing.JFrame | |||
{ | |||
/** | |||
* 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() | |||
{ | |||
jLabel1 = new javax.swing.JLabel(); | |||
jPanel1 = new javax.swing.JPanel(); | |||
eierUhr1 = new EierUhrKomponente.EierUhr(); | |||
jButton1 = new javax.swing.JButton(); | |||
jProgressBar1 = new javax.swing.JProgressBar(); | |||
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); | |||
jLabel1.setText("Ich bin nicht abgelaufen"); | |||
getContentPane().add(jLabel1, java.awt.BorderLayout.PAGE_START); | |||
jPanel1.setLayout(new javax.swing.BoxLayout(jPanel1, javax.swing.BoxLayout.LINE_AXIS)); | |||
eierUhr1.addEierUhrListener(new EierUhrKomponente.EierUhrListener() | |||
{ | |||
public void timeIsOver(EierUhrKomponente.EierUhrEvent evt) | |||
{ | |||
eierUhr1TimeIsOver(evt); | |||
} | |||
}); | |||
eierUhr1.addPropertyChangeListener(new java.beans.PropertyChangeListener() | |||
{ | |||
public void propertyChange(java.beans.PropertyChangeEvent evt) | |||
{ | |||
eierUhr1PropertyChange(evt); | |||
eierUhr1PropertyChange1(evt); | |||
} | |||
}); | |||
jPanel1.add(eierUhr1); | |||
getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER); | |||
jButton1.setText("Start"); | |||
jButton1.addMouseListener(new java.awt.event.MouseAdapter() | |||
{ | |||
public void mousePressed(java.awt.event.MouseEvent evt) | |||
{ | |||
jButton1MousePressed(evt); | |||
} | |||
public void mouseReleased(java.awt.event.MouseEvent evt) | |||
{ | |||
jButton1MouseReleased(evt); | |||
} | |||
}); | |||
getContentPane().add(jButton1, java.awt.BorderLayout.LINE_END); | |||
jProgressBar1.setMaximum(3); | |||
getContentPane().add(jProgressBar1, java.awt.BorderLayout.PAGE_END); | |||
pack(); | |||
}// </editor-fold>//GEN-END:initComponents | |||
private void jButton1MouseReleased(java.awt.event.MouseEvent evt)//GEN-FIRST:event_jButton1MouseReleased | |||
{//GEN-HEADEREND:event_jButton1MouseReleased | |||
}//GEN-LAST:event_jButton1MouseReleased | |||
private void jButton1MousePressed(java.awt.event.MouseEvent evt)//GEN-FIRST:event_jButton1MousePressed | |||
{//GEN-HEADEREND:event_jButton1MousePressed | |||
eierUhr1.Start(3); | |||
}//GEN-LAST:event_jButton1MousePressed | |||
private void eierUhr1PropertyChange(java.beans.PropertyChangeEvent evt)//GEN-FIRST:event_eierUhr1PropertyChange | |||
{//GEN-HEADEREND:event_eierUhr1PropertyChange | |||
}//GEN-LAST:event_eierUhr1PropertyChange | |||
private void eierUhr1TimeIsOver(EierUhrKomponente.EierUhrEvent evt)//GEN-FIRST:event_eierUhr1TimeIsOver | |||
{//GEN-HEADEREND:event_eierUhr1TimeIsOver | |||
jLabel1.setText("Zeit ist abgelaufen"); | |||
}//GEN-LAST:event_eierUhr1TimeIsOver | |||
private void eierUhr1PropertyChange1(java.beans.PropertyChangeEvent evt)//GEN-FIRST:event_eierUhr1PropertyChange1 | |||
{//GEN-HEADEREND:event_eierUhr1PropertyChange1 | |||
jProgressBar1.setValue(eierUhr1.getZahl()); | |||
}//GEN-LAST:event_eierUhr1PropertyChange1 | |||
/** | |||
* @param args the command line arguments | |||
*/ | |||
public static void main(String args[]) | |||
{ | |||
/* Set the Nimbus look and feel */ | |||
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "> | |||
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. | |||
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html | |||
*/ | |||
try | |||
{ | |||
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) | |||
{ | |||
if ("Nimbus".equals(info.getName())) | |||
{ | |||
javax.swing.UIManager.setLookAndFeel(info.getClassName()); | |||
break; | |||
} | |||
} | |||
} | |||
catch (ClassNotFoundException ex) | |||
{ | |||
java.util.logging.Logger.getLogger(View.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); | |||
} | |||
catch (InstantiationException ex) | |||
{ | |||
java.util.logging.Logger.getLogger(View.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); | |||
} | |||
catch (IllegalAccessException ex) | |||
{ | |||
java.util.logging.Logger.getLogger(View.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); | |||
} | |||
catch (javax.swing.UnsupportedLookAndFeelException ex) | |||
{ | |||
java.util.logging.Logger.getLogger(View.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); | |||
} | |||
//</editor-fold> | |||
/* Create and display the form */ | |||
java.awt.EventQueue.invokeLater(new Runnable() | |||
{ | |||
public void run() | |||
{ | |||
new View().setVisible(true); | |||
} | |||
}); | |||
} | |||
// Variables declaration - do not modify//GEN-BEGIN:variables | |||
private EierUhrKomponente.EierUhr eierUhr1; | |||
private javax.swing.JButton jButton1; | |||
private javax.swing.JLabel jLabel1; | |||
private javax.swing.JPanel jPanel1; | |||
private javax.swing.JProgressBar jProgressBar1; | |||
// End of variables declaration//GEN-END:variables | |||
} |