From aae7ec1f25c73bd23010abb44535fad704873ca9 Mon Sep 17 00:00:00 2001 From: WickedJack99 Date: Thu, 10 Mar 2022 23:40:02 +0100 Subject: [PATCH] Implemented dark theme menu --- .../PIC_SIMULATOR_GUI_JAVA/GUIMainFrame.class | Bin 1341 -> 1410 bytes .../PIC_SIMULATOR_GUI_JAVA/GUIMenuBar.class | Bin 6170 -> 7689 bytes .../PIC_SIMULATOR_GUI_JAVA/GUIMainFrame.java | 2 +- .../PIC_SIMULATOR_GUI_JAVA/GUIMenuBar.java | 98 +++++++++++++++++- 4 files changed, 98 insertions(+), 2 deletions(-) diff --git a/bin/Frontend/PIC_SIMULATOR_GUI_JAVA/GUIMainFrame.class b/bin/Frontend/PIC_SIMULATOR_GUI_JAVA/GUIMainFrame.class index 583e9042ffc3d338d03f97ab75ff63e5ab3ff1ae..ee6e564e2a6c75d5ad44a8d819415faa7bce5078 100644 GIT binary patch delta 398 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 a(q2<-NlGx-s#P%hmzt^*na*>TtiJ(Coa^`i diff --git a/src/Frontend/PIC_SIMULATOR_GUI_JAVA/GUIMainFrame.java b/src/Frontend/PIC_SIMULATOR_GUI_JAVA/GUIMainFrame.java index 4ee760d..2c01813 100755 --- a/src/Frontend/PIC_SIMULATOR_GUI_JAVA/GUIMainFrame.java +++ b/src/Frontend/PIC_SIMULATOR_GUI_JAVA/GUIMainFrame.java @@ -32,7 +32,7 @@ public class GUIMainFrame extends JFrame { this.setJMenuBar(new GUIMenuBar(this)); this.setVisible(true); //make frame visible - + this.setBackground(new Color(76, 78, 82)); ImageIcon guiLogo = new ImageIcon("./images/gui_logo.png"); // create an ImageIcon this.setIconImage(guiLogo.getImage()); // change icon of frame diff --git a/src/Frontend/PIC_SIMULATOR_GUI_JAVA/GUIMenuBar.java b/src/Frontend/PIC_SIMULATOR_GUI_JAVA/GUIMenuBar.java index 98cfe10..58edffe 100644 --- a/src/Frontend/PIC_SIMULATOR_GUI_JAVA/GUIMenuBar.java +++ b/src/Frontend/PIC_SIMULATOR_GUI_JAVA/GUIMenuBar.java @@ -1,12 +1,14 @@ package Frontend.PIC_SIMULATOR_GUI_JAVA; +import java.awt.Color; import java.awt.event.*; +import javax.swing.BorderFactory; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; -public class GUIMenuBar extends JMenuBar implements ActionListener{ +public class GUIMenuBar extends JMenuBar implements ActionListener { GUIMainFrame oMainFrame; //File @@ -154,8 +156,10 @@ public class GUIMenuBar extends JMenuBar implements ActionListener{ private void buildMenubar() { //File oFileMenu.add(oLoadTestFile); + oFileMenu.addSeparator(); oFileMenu.add(oLoadProgStateItem); oFileMenu.add(oSaveProgStateItem); + oFileMenu.addSeparator(); oFileMenu.add(oExitItem); //View @@ -168,6 +172,7 @@ public class GUIMenuBar extends JMenuBar implements ActionListener{ oMicrocontroller.add(oPauseProg); oMicrocontroller.add(oResetProg); oMicrocontroller.add(oStepProg); + oMicrocontroller.addSeparator(); oChangeWorkInterval.add(oIntervalASAP); oChangeWorkInterval.add(oInterval1Sec); oChangeWorkInterval.add(oInterval2Sec); @@ -177,6 +182,7 @@ public class GUIMenuBar extends JMenuBar implements ActionListener{ oChangeLanguageMenu.add(oGerLangItem); oChangeLanguageMenu.add(oEngLangItem); oHelpMenu.add(oChangeLanguageMenu); + oHelpMenu.addSeparator(); oHelpMenu.add(oManual); oHelpMenu.add(oAbout); @@ -247,6 +253,7 @@ public class GUIMenuBar extends JMenuBar implements ActionListener{ //Change to dark theme if (e.getSource() == oDarkTheme) { System.out.println("It's gettin dark brooo"); //TODO + setDarkTheme(); } //Change to light theme if (e.getSource() == oLightTheme) { @@ -295,4 +302,93 @@ public class GUIMenuBar extends JMenuBar implements ActionListener{ //TODO } } + + private void setDarkTheme() { + Color oWhite = new Color(255, 253, 250); + Color oDarkGray = new Color(76, 78, 82); + this.setBackground(oDarkGray); + this.setOpaque(true); + + //File + oFileMenu.setForeground(oWhite); + oLoadTestFile.setForeground(oWhite); + oLoadProgStateItem.setForeground(oWhite); + oSaveProgStateItem.setForeground(oWhite); + oExitItem.setForeground(oWhite); + + //View + oViewMenu.setForeground(oWhite); + oChangeColors.setForeground(oWhite); + oDarkTheme.setForeground(oWhite); + oLightTheme.setForeground(oWhite); + + //Microcontroller + oMicrocontroller.setForeground(oWhite); + oStartProg.setForeground(oWhite); + oPauseProg.setForeground(oWhite); + oResetProg.setForeground(oWhite); + oStepProg.setForeground(oWhite); + oChangeWorkInterval.setForeground(oWhite); + oIntervalASAP.setForeground(oWhite); + oInterval1Sec.setForeground(oWhite); + oInterval2Sec.setForeground(oWhite); + + //Help + oHelpMenu.setForeground(oWhite); + oChangeLanguageMenu.setForeground(oWhite); + oGerLangItem.setForeground(oWhite); + oEngLangItem.setForeground(oWhite); + oManual.setForeground(oWhite); + oAbout.setForeground(oWhite); + + //File + oFileMenu.setBackground(oDarkGray); + oLoadTestFile.setBackground(oDarkGray); + oLoadProgStateItem.setBackground(oDarkGray); + oSaveProgStateItem.setBackground(oDarkGray); + oExitItem.setBackground(oDarkGray); + + //View + oViewMenu.setBackground(oDarkGray); + oChangeColors.setBackground(oDarkGray); + oDarkTheme.setBackground(oDarkGray); + oLightTheme.setBackground(oDarkGray); + + //Microcontroller + oMicrocontroller.setBackground(oDarkGray); + oStartProg.setBackground(oDarkGray); + oPauseProg.setBackground(oDarkGray); + oResetProg.setBackground(oDarkGray); + oStepProg.setBackground(oDarkGray); + oChangeWorkInterval.setBackground(oDarkGray); + oIntervalASAP.setBackground(oDarkGray); + oInterval1Sec.setBackground(oDarkGray); + oInterval2Sec.setBackground(oDarkGray); + + //Help + oHelpMenu.setBackground(oDarkGray); + oChangeLanguageMenu.setBackground(oDarkGray); + oGerLangItem.setBackground(oDarkGray); + oEngLangItem.setBackground(oDarkGray); + oManual.setBackground(oDarkGray); + oAbout.setBackground(oDarkGray); + + //File + oFileMenu.getPopupMenu().setBorder(BorderFactory.createLineBorder(oDarkGray)); //TODO white lines at menus + oFileMenu.getPopupMenu().setOpaque(true); + //View + oViewMenu.getPopupMenu().setBorder(BorderFactory.createLineBorder(oDarkGray)); + oChangeColors.getPopupMenu().setBorder(BorderFactory.createLineBorder(oDarkGray)); + oChangeColors.setOpaque(true); + //Microcontroller + oMicrocontroller.getPopupMenu().setBorder(BorderFactory.createLineBorder(oDarkGray)); + oChangeWorkInterval.getPopupMenu().setBorder(BorderFactory.createLineBorder(oDarkGray)); + oChangeWorkInterval.setOpaque(true); + //Help + oHelpMenu.getPopupMenu().setBorder(BorderFactory.createLineBorder(oDarkGray)); + oChangeLanguageMenu.getPopupMenu().setBorder(BorderFactory.createLineBorder(oDarkGray)); + oChangeLanguageMenu.setOpaque(true); + + this.setBorder(BorderFactory.createLineBorder(oDarkGray, 2)); + } } \ No newline at end of file