From 5024cfac4f453fc4bd1cedae2cc560360f4f1709 Mon Sep 17 00:00:00 2001 From: BakeOrDie Date: Wed, 25 Nov 2020 11:55:16 +0100 Subject: [PATCH] Merge origin/master Conflicts: src/wuerfelthreads/Start.java src/wuerfelthreads/view/WuerfelView.form src/wuerfelthreads/view/WuerfelView.java --- src/bandit/Start.java | 47 ------ src/bandit/controller/BanditAdapter.java | 66 -------- src/bandit/controller/BanditController.java | 59 ------- src/bandit/model/WuerfelModel.java | 88 ----------- src/bandit/view/WuerfelView.form | 86 ----------- src/bandit/view/WuerfelView.java | 161 -------------------- src/grafik/Gerade.java | 109 +++++++++++++ src/grafik/Start.java | 65 ++++++++ src/grafik/Zeichenflaeche.java | 60 ++++++++ src/grafik/grafik.java | 19 +++ 10 files changed, 253 insertions(+), 507 deletions(-) delete mode 100644 src/bandit/Start.java delete mode 100644 src/bandit/controller/BanditAdapter.java delete mode 100644 src/bandit/controller/BanditController.java delete mode 100644 src/bandit/model/WuerfelModel.java delete mode 100644 src/bandit/view/WuerfelView.form delete mode 100644 src/bandit/view/WuerfelView.java create mode 100644 src/grafik/Gerade.java create mode 100644 src/grafik/Start.java create mode 100644 src/grafik/Zeichenflaeche.java create mode 100644 src/grafik/grafik.java diff --git a/src/bandit/Start.java b/src/bandit/Start.java deleted file mode 100644 index 90e7257..0000000 --- a/src/bandit/Start.java +++ /dev/null @@ -1,47 +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 bandit; - -import javax.swing.JOptionPane; -import javax.swing.UIManager; -import bandit.controller.BanditAdapter; -import bandit.controller.BanditController; -import bandit.model.WuerfelModel; -import bandit.view.WuerfelView; - -/** - * - * @author hd, chris - */ -public class Start -{ - public Start() - { - WuerfelView view = new WuerfelView(); - WuerfelModel model = new WuerfelModel(); - BanditAdapter adapter = new BanditAdapter(view, model); - BanditController ctrlCommand = new BanditController(view, model); - ctrlCommand.registerEvents(); - ctrlCommand.registerCommands(); - adapter.einschreiben(); - view.setVisible(true); - } - - public static void main(String[] args) - { - try - { - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } - catch (Exception e) - { - JOptionPane.showMessageDialog(null, e.toString()); - } - new Start(); - } - -} diff --git a/src/bandit/controller/BanditAdapter.java b/src/bandit/controller/BanditAdapter.java deleted file mode 100644 index 9a0ffa0..0000000 --- a/src/bandit/controller/BanditAdapter.java +++ /dev/null @@ -1,66 +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 bandit.controller; - - -import java.util.concurrent.Flow; -import java.util.concurrent.Flow.Subscriber; -import java.util.logging.Logger; - -import bandit.model.WuerfelModel; -import bandit.view.WuerfelView; - -/** - * - * @author hd - */ -public class BanditAdapter implements Subscriber -{ - private WuerfelView view; - private WuerfelModel model; - private Flow.Subscription subscription; - private static Logger lg = Logger.getLogger("Wuerfelthreads"); - - public BanditAdapter(WuerfelView view, WuerfelModel model) - { - this.view = view; - this.model = model; - } - - public void einschreiben() - { - model.addWertSubscription(this); - } - - @Override - public void onSubscribe(Flow.Subscription subscription) - { - this.subscription = subscription; - subscription.request(1); - lg.info("onSubsribe"); - } - - @Override - public void onNext(Integer item) - { - view.getLbZahl().setText(String.valueOf(item)); - subscription.request(1); - lg.info("onNext"); - } - - @Override - public void onError(Throwable throwable) - { - } - - @Override - public void onComplete() - { - } - - -} \ No newline at end of file diff --git a/src/bandit/controller/BanditController.java b/src/bandit/controller/BanditController.java deleted file mode 100644 index 6fae14c..0000000 --- a/src/bandit/controller/BanditController.java +++ /dev/null @@ -1,59 +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 bandit.controller; - -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import bandit.model.WuerfelModel; -import bandit.view.WuerfelView; - -/** - * - * @author chris - */ -public class BanditController implements ActionListener -{ - private WuerfelView view; - private WuerfelModel model; - - public BanditController(WuerfelView view, WuerfelModel model) - { - this.view = view; - this.model = model; - - } - public void registerEvents() - { - view.getBtnStart().addActionListener(this); - view.getBtnStop().addActionListener(this); - } - public void registerCommands() - { -// CommandOpen cmdOpen = new CommandOpen(view, model); -// invoker.addCommand(view.getMnuOpen(), cmdOpen); -// invoker.addCommand(view.getBtnOpen(), cmdOpen); -// //usw. -// -// -// CommandSave cmdSave = new CommandSave(view, model); -// invoker.addCommand(view.getMnuSave(), cmdSave); -// invoker.addCommand(view.getBtnSave(), cmdSave); - } - - @Override - public void actionPerformed(ActionEvent e) - { - if (e.getSource() == view.getBtnStart()) - { - model.start(); - } - else - { - model.stop(); - } - } -} diff --git a/src/bandit/model/WuerfelModel.java b/src/bandit/model/WuerfelModel.java deleted file mode 100644 index f916357..0000000 --- a/src/bandit/model/WuerfelModel.java +++ /dev/null @@ -1,88 +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 bandit.model; - -import java.util.logging.Logger; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.Flow.Subscriber; -import java.util.concurrent.SubmissionPublisher; - -/** - * - * @author chris - */ -public class WuerfelModel implements Runnable -{ - private int wert; - private volatile boolean laufend; - private SubmissionPublisher iPublisher; - private SubmissionPublisher bPublisher; - private ExecutorService eService; - private static Logger lg = Logger.getLogger("Wuerfelthreads"); - - public WuerfelModel() - { - wert = 1; - laufend = false; - iPublisher = new SubmissionPublisher<>(); - bPublisher = new SubmissionPublisher<>(); - eService = Executors.newSingleThreadExecutor(); - } - public void start() - { - laufend = true; - eService.submit(this); - lg.info("start"); - } - - public void stop() - { - laufend = false; - lg.info("stop"); - } - - public void addWertSubscription(Subscriber subscriber) - { - iPublisher.subscribe(subscriber); - } - - public void addZustandSubscription(Subscriber subscriber) - { - bPublisher.subscribe(subscriber); - } - - @Override - public void run() - { - //wert++; - //if(wert >= 7){ - // wert = 1; - //} - while (laufend) - { - - /* - try - { - Thread.sleep(10); - } - catch (Exception e) - { - System.err.println(e); - } - wert++; - if(wert >= 7){ - wert = 1; - } - - iPublisher.submit(wert); - */ - } - } -} - diff --git a/src/bandit/view/WuerfelView.form b/src/bandit/view/WuerfelView.form deleted file mode 100644 index 4df6a39..0000000 --- a/src/bandit/view/WuerfelView.form +++ /dev/null @@ -1,86 +0,0 @@ - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/bandit/view/WuerfelView.java b/src/bandit/view/WuerfelView.java deleted file mode 100644 index fa849c6..0000000 --- a/src/bandit/view/WuerfelView.java +++ /dev/null @@ -1,161 +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 bandit.view; - -/** - * - * @author chris - */ -public class WuerfelView extends javax.swing.JFrame -{ - - /** - * @return the btnStart - */ - public javax.swing.JButton getBtnStart() - { - return btnStart; - } - - /** - * @return the btnStop - */ - public javax.swing.JButton getBtnStop() - { - return btnStop; - } - - /** - * @return the lbZahl - */ - public javax.swing.JLabel getLbZahl() - { - return lbZahl; - } - - /** - * @param lbZahl the lbZahl to set - */ - public void setLbZahl(javax.swing.JLabel lbZahl) - { - this.lbZahl = lbZahl; - } - - /** - * Creates new form WuerfelView - */ - public WuerfelView() - { - 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") - // //GEN-BEGIN:initComponents - private void initComponents() - { - - jPanel1 = new javax.swing.JPanel(); - btnStart = new javax.swing.JButton(); - btnStop = new javax.swing.JButton(); - jPanel2 = new javax.swing.JPanel(); - lbZahl1 = new javax.swing.JLabel(); - lbZahl2 = new javax.swing.JLabel(); - lbZahl3 = new javax.swing.JLabel(); - - setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); - - btnStart.setText("Start"); - jPanel1.add(btnStart); - - btnStop.setText("Stop"); - jPanel1.add(btnStop); - - getContentPane().add(jPanel1, java.awt.BorderLayout.PAGE_END); - - lbZahl1.setFont(new java.awt.Font("Tahoma", 0, 64)); // NOI18N - lbZahl1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); - lbZahl1.setText("0"); - jPanel2.add(lbZahl1); - - lbZahl2.setFont(new java.awt.Font("Tahoma", 0, 64)); // NOI18N - lbZahl2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); - lbZahl2.setText("0"); - jPanel2.add(lbZahl2); - - lbZahl3.setFont(new java.awt.Font("Tahoma", 0, 64)); // NOI18N - lbZahl3.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); - lbZahl3.setText("0"); - jPanel2.add(lbZahl3); - - getContentPane().add(jPanel2, java.awt.BorderLayout.CENTER); - - pack(); - }// //GEN-END:initComponents - - /** - * @param args the command line arguments - */ - public static void main(String args[]) - { - /* Set the Nimbus look and feel */ - // - /* 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(WuerfelView.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); - } - catch (InstantiationException ex) - { - java.util.logging.Logger.getLogger(WuerfelView.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); - } - catch (IllegalAccessException ex) - { - java.util.logging.Logger.getLogger(WuerfelView.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); - } - catch (javax.swing.UnsupportedLookAndFeelException ex) - { - java.util.logging.Logger.getLogger(WuerfelView.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); - } - // - - /* Create and display the form */ - java.awt.EventQueue.invokeLater(new Runnable() - { - public void run() - { - new WuerfelView().setVisible(true); - } - }); - } - - // Variables declaration - do not modify//GEN-BEGIN:variables - private javax.swing.JButton btnStart; - private javax.swing.JButton btnStop; - private javax.swing.JPanel jPanel1; - private javax.swing.JPanel jPanel2; - private javax.swing.JLabel lbZahl1; - private javax.swing.JLabel lbZahl2; - private javax.swing.JLabel lbZahl3; - // End of variables declaration//GEN-END:variables -} diff --git a/src/grafik/Gerade.java b/src/grafik/Gerade.java new file mode 100644 index 0000000..a84e8ec --- /dev/null +++ b/src/grafik/Gerade.java @@ -0,0 +1,109 @@ +/* + * 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 grafik; + +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.awt.geom.Line2D; +import java.util.logging.Logger; +import javax.swing.JComponent; + +/** + * + * @author le + */ +public class Gerade extends JComponent implements Runnable +{ + private Line2D.Double line; + private BasicStroke pinsel; + private float angle; + private float radius; + private Thread thd; + private long sleepTime; + private static final float DICKE = 8f; + private static Logger lg = Logger.getLogger("grafik"); + + public Gerade(long sleepTime) + { + this.sleepTime = sleepTime; + line = new Line2D.Double(); + angle = 0; + radius = 100; + pinsel = new BasicStroke(DICKE); + thd = null; + } + + public void start() + { + if (thd == null) + { + thd = new Thread(this); + thd.start(); + } + } + + + @Override + public void paintComponent(Graphics g) + { + super.paintComponent(g); + Graphics2D g2 = (Graphics2D)g; + + g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, + RenderingHints.VALUE_ANTIALIAS_ON); + + int breite = this.getWidth() - 1; + int hoehe = this.getHeight() - 1; + + float x1 = breite/2f; + float y1 = hoehe/2f; + + float x2 = (float) Math.sin(angle); + float y2 = 2; + + + line.setLine(x1, y1, x2, y2); + + g2.setStroke(pinsel); + g2.setPaint(Color.RED); + g2.fill(line); + g2.setPaint(Color.BLACK); + g2.draw(line); + + } + + @Override + public void run() + { + while (true) + { + if(angle >= 360){ + angle = 0; + } else { + angle += 1; + } + +// if (radius > maxRadius) delta = -1f; +// if (radius < minRadius) delta = +1f; +// radius += delta; + this.repaint(); + try + { + Thread.sleep(sleepTime); + } + catch (InterruptedException iex) + { + lg.warning(iex.toString()); + } + } + } + +} diff --git a/src/grafik/Start.java b/src/grafik/Start.java new file mode 100644 index 0000000..1cee3ad --- /dev/null +++ b/src/grafik/Start.java @@ -0,0 +1,65 @@ +/* + * 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 grafik; + +import java.awt.Color; +import java.awt.Container; +import javax.swing.JFrame; +import javax.swing.JOptionPane; +import javax.swing.OverlayLayout; +import javax.swing.UIManager; +import javax.swing.WindowConstants; + +/** + * Builder Class + * @author chris, hd + */ +public class Start +{ + public Start() + { + JFrame frm = new JFrame(); + Container con = frm.getContentPane(); + con.setLayout(new OverlayLayout(con)); + con.setBackground(Color.WHITE); + frm.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); + + +// for (int i = 0; i < 100; i++) +// { +// double zufall = Math.random(); +// long schlafzeit = (long)(1 + 100*zufall); +// Kreis leinwand = new Kreis(schlafzeit); +// leinwand.setOpaque(false); +// con.add(leinwand); +// leinwand.start(); +// } + + Gerade gerade = new Gerade(1); + con.add(gerade); + frm.setSize(600, 400); + frm.setVisible(true); + + + } + + /** + * @param args the command line arguments + */ + public static void main(String[] args) + { + try + { + UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); + } + catch (Exception e) + { + JOptionPane.showMessageDialog(null, e.toString()); + } + new Start(); + } +} diff --git a/src/grafik/Zeichenflaeche.java b/src/grafik/Zeichenflaeche.java new file mode 100644 index 0000000..9d7f930 --- /dev/null +++ b/src/grafik/Zeichenflaeche.java @@ -0,0 +1,60 @@ +/* + * 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 grafik; + +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.awt.geom.Line2D; +import javax.swing.JComponent; + +/** + * + * @author chris, hd + */ +public class Zeichenflaeche extends JComponent // JPanel +{ + private Line2D.Double line; + private BasicStroke pinsel; + private static final float DICKE = 30f; + + public Zeichenflaeche() + { + line = new Line2D.Double(); + pinsel = new BasicStroke(DICKE); + } + + @Override + public void paintComponent(Graphics g) + { + super.paintComponent(g); + Graphics2D g2 = (Graphics2D)g; + + g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, + RenderingHints.VALUE_ANTIALIAS_ON); + + int breite = this.getWidth() - 1; + int hoehe = this.getHeight() - 1; + line.x1 = breite/2; + line.y1 = hoehe/2; + + line.x2 = 30; + line.y2 = 50; +// line.setFrame(DICKE/2, DICKE/2, breite-DICKE, hoehe-DICKE); + + g2.setStroke(pinsel); + g2.setPaint(Color.RED); + g2.fill(line); + g2.setPaint(Color.BLACK); + g2.draw(line); + + } + +} diff --git a/src/grafik/grafik.java b/src/grafik/grafik.java new file mode 100644 index 0000000..f55b901 --- /dev/null +++ b/src/grafik/grafik.java @@ -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 grafik; + +/** + * + * @author chris + */ +public class grafik +{ + public grafik() + { + + } +}