From bec648cad5141f7fb628d190f2daa7ab65b375bb Mon Sep 17 00:00:00 2001 From: piquerez <corentin.piquerez1@etu.univ-lorraine.fr> Date: Thu, 11 May 2023 20:24:42 +0200 Subject: [PATCH] rajout boutons dans barre outils --- data/2223_S2/version.txt | 4 +-- data/images/parameter.png | Bin 15855 -> 2301 bytes .../data/2223_S2/version.txt | 4 +-- shukan/Shukan.java | 17 +++++++----- shukan/ShukanViewBar.java | 25 ++++++++++++++---- 5 files changed, 34 insertions(+), 16 deletions(-) diff --git a/data/2223_S2/version.txt b/data/2223_S2/version.txt index 2680280..a28b2af 100644 --- a/data/2223_S2/version.txt +++ b/data/2223_S2/version.txt @@ -1,2 +1,2 @@ -3 -230411 +4 +230511 diff --git a/data/images/parameter.png b/data/images/parameter.png index 43c815296461d5c81fa40f9107c0001eae83baa8..94ad75f5e0aa6627ce0b4ce5ea03c0c980a4ebdc 100644 GIT binary patch literal 2301 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 KxvX<aXaWG=|5DTd literal 15855 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 diff --git a/out/production/sae2.01-developpement-application/data/2223_S2/version.txt b/out/production/sae2.01-developpement-application/data/2223_S2/version.txt index 2680280..a28b2af 100644 --- a/out/production/sae2.01-developpement-application/data/2223_S2/version.txt +++ b/out/production/sae2.01-developpement-application/data/2223_S2/version.txt @@ -1,2 +1,2 @@ -3 -230411 +4 +230511 diff --git a/shukan/Shukan.java b/shukan/Shukan.java index 81ccce3..f92c6e2 100644 --- a/shukan/Shukan.java +++ b/shukan/Shukan.java @@ -1,5 +1,5 @@ package shukan; -import javax.swing.JFrame; +import javax.swing.*; import java.awt.*; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; @@ -35,8 +35,9 @@ public class Shukan // Creating Shukan viewer JFrame frame = new JFrame ("SHUKAN 1.6"); + JPanel global = new JPanel(new BorderLayout()); ShukanView canvas = new ShukanView (data, io); - ShukanViewBar barre = new ShukanViewBar(io, data); + ShukanViewBar barre = new ShukanViewBar(io, data, 90); // Getting the display size GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment (); @@ -44,13 +45,14 @@ public class Shukan GraphicsConfiguration[] gc = gd.getConfigurations (); Rectangle gcBounds = gc[0].getBounds (); canvas.restrictSize ((int) (gcBounds.getWidth ()) - LEFT_MARGIN, - (int) (gcBounds.getHeight ()) - TOP_MARGIN); + (int) (gcBounds.getHeight ()) - TOP_MARGIN - barre.getHeight()); + barre.setSize(new Dimension((int) (gcBounds.getWidth ()) - LEFT_MARGIN, barre.getHeight())); // Adding a openGL input handler (controller) ShukanController myController = new ShukanController (canvas, data); canvas.addKeyListener (myController); canvas.addMouseListener (myController); - // canvas.addMouseMotionListener (myController); + //canvas.addMouseMotionListener (myController); // Preparing the window closing button frame.addWindowListener ( @@ -65,11 +67,12 @@ public class Shukan // Setting the window geometry - frame.add(barre, BorderLayout.NORTH); - frame.add (canvas, BorderLayout.CENTER); + global.add(barre, BorderLayout.NORTH); + global.add (canvas, BorderLayout.CENTER); + frame.add(global); Insets ins = frame.getInsets (); frame.setSize (canvas.displayWidth () + ins.left + ins.right, - canvas.displayHeight ()+ ins.top + ins.bottom); + canvas.displayHeight ()+ barre.getHeight()+ ins.top + ins.bottom); frame.setLocation (LEFT_MARGIN, 0); frame.setBackground (Color.white); frame.setVisible (true); diff --git a/shukan/ShukanViewBar.java b/shukan/ShukanViewBar.java index 9b8ca20..01605ab 100644 --- a/shukan/ShukanViewBar.java +++ b/shukan/ShukanViewBar.java @@ -10,15 +10,27 @@ public class ShukanViewBar extends JPanel { private ShukanIO myIO = null; /** Displayed data */ private ShukanData data = null; + /** Name of the images files for the buttons of the toolbar */ private String[] imagesName = {"save", "back", "plus", "delete", "left", "right", "export", "parameter"}; + private JButton buttons[] = new JButton[8]; + /** type of the images */ private String imagesExtension = ".png"; + /** height in pixel of the toolbar */ + private int height; - public ShukanViewBar(ShukanIO myIO, ShukanData data){ + public ShukanViewBar(ShukanIO myIO, ShukanData data, int height){ this.myIO = myIO; this.data = data; + this.height = height; + + for(int i = 0; i<imagesName.length;i++){ + buttons[i] = new JButton("", new ImageIcon("data/images/"+imagesName[i]+imagesExtension)); + buttons[i].setPreferredSize(new Dimension(80,80)); + add(buttons[i]); + } } - @Override +/* @Override public void paintComponent(Graphics g) { super.paintComponents(g); // load images @@ -29,7 +41,10 @@ public class ShukanViewBar extends JPanel { } } catch(Exception e){System.out.println("Image manquante");} - } + }*/ + + + public int getHeight(){return height;} public static void main(String args[]){ ShukanData data = new ShukanData (); @@ -37,8 +52,8 @@ public class ShukanViewBar extends JPanel { EventQueue.invokeLater(new Runnable() { public void run() { JFrame f = new JFrame("esssai"); - ShukanViewBar s = new ShukanViewBar (io,data); - f.setSize(1000, 80); + ShukanViewBar s = new ShukanViewBar (io,data, 90); + f.setSize(1000, s.getHeight()); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.add(s); -- GitLab