Skip to content
This repository was archived by the owner on Apr 11, 2025. It is now read-only.

Commit bb38d9b

Browse files
author
codewithJosh
committed
feat: add mode button
1 parent bb9f9b4 commit bb38d9b

File tree

1 file changed

+95
-0
lines changed

1 file changed

+95
-0
lines changed

src/main/java/com/codewithjosh/ExpenseTracker2k19/BudgetScreen.java

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ public class BudgetScreen extends JFrame
5050
static int currentYPosition = 0;
5151
Preferences pref;
5252
int user_id = 0;
53+
boolean isNightMode = false;
5354

5455
public BudgetScreen()
5556
{
@@ -109,6 +110,11 @@ private void initComponents()
109110
HeadPanel.add(lblProjectTitle, new AbsoluteConstraints(40, 0, 290, 30));
110111

111112
btnMode.setContentAreaFilled(false);
113+
btnMode.addActionListener((ActionEvent evt)
114+
->
115+
{
116+
btnModeActionPerformed(evt);
117+
});
112118
HeadPanel.add(btnMode, new AbsoluteConstraints(0, 0, 30, 30));
113119

114120
btnMinimize.setContentAreaFilled(false);
@@ -381,6 +387,15 @@ private void lblHeadMouseDragged(MouseEvent evt)
381387

382388
}
383389

390+
private void btnModeActionPerformed(ActionEvent evt)
391+
{
392+
393+
isNightMode = !isNightMode;
394+
onMode();
395+
pref.putBoolean("isNightMode", isNightMode);
396+
397+
}
398+
384399
public static void main(String args[])
385400
{
386401

@@ -424,6 +439,7 @@ private void initInstances()
424439
expenseTracker = new ExpenseTracker();
425440
pref = Preferences.userNodeForPackage(Class.class);
426441
user_id = pref.getInt("user_id", 0);
442+
isNightMode = pref.getBoolean("isNightMode", false);
427443

428444
}
429445

@@ -433,6 +449,8 @@ private void initIcons()
433449
setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource(expenseTracker.getString("logo"))));
434450
lblHead.setIcon(new ImageIcon(getClass().getResource(expenseTracker.getString("head"))));
435451

452+
onMode();
453+
436454
}
437455

438456
private void initTable()
@@ -460,4 +478,81 @@ private void initTable()
460478

461479
}
462480

481+
private void onMode()
482+
{
483+
484+
final Color colorBodyPanel = isNightMode
485+
? new Color(41, 41, 41)
486+
: new Color(240, 240, 240);
487+
488+
final Color colorPrimary = isNightMode
489+
? new Color(62, 62, 62)
490+
: new Color(225, 225, 225);
491+
492+
final Color colorTitle = isNightMode
493+
? new Color(51, 153, 255)
494+
: new Color(0, 0, 0);
495+
496+
final Color colorLbl = isNightMode
497+
? new Color(204, 204, 204)
498+
: new Color(0, 0, 0);
499+
500+
final String mode = isNightMode
501+
? "sun"
502+
: "moon";
503+
504+
final String back = isNightMode
505+
? "nightback"
506+
: "dayback";
507+
508+
final String calculator = isNightMode
509+
? "nightcalculator"
510+
: "daycalculator";
511+
512+
final String clear = isNightMode
513+
? "nightclear"
514+
: "dayclear";
515+
516+
final String add = isNightMode
517+
? "nightadd"
518+
: "dayadd";
519+
520+
final String graph = isNightMode
521+
? "nightgraph"
522+
: "daygraph";
523+
524+
final String delete = isNightMode
525+
? "nightdelete"
526+
: "daydelete";
527+
528+
final String deleteAll = isNightMode
529+
? "nightdeleteAll"
530+
: "daydeleteAll";
531+
532+
BodyPanel.setBackground(colorBodyPanel);
533+
DataPanel.setBackground(colorPrimary);
534+
535+
lblTitle.setForeground(colorTitle);
536+
lblCategory.setForeground(colorLbl);
537+
lblAmount.setForeground(colorLbl);
538+
lblDate.setForeground(colorLbl);
539+
lblFrom.setForeground(colorLbl);
540+
lblTo.setForeground(colorLbl);
541+
lblBalance.setForeground(colorLbl);
542+
lblTotal.setForeground(colorLbl);
543+
544+
btnMode.setIcon(new ImageIcon(getClass().getResource(expenseTracker.getString(mode))));
545+
btnBack.setIcon(new ImageIcon(getClass().getResource(expenseTracker.getString(back))));
546+
btnCalculator.setIcon(new ImageIcon(getClass().getResource(expenseTracker.getString(calculator))));
547+
btnClear.setIcon(new ImageIcon(getClass().getResource(expenseTracker.getString(clear))));
548+
btnAdd.setIcon(new ImageIcon(getClass().getResource(expenseTracker.getString(add))));
549+
550+
btnGraph.setIcon(new ImageIcon(getClass().getResource(expenseTracker.getString(graph))));
551+
btnDelete.setIcon(new ImageIcon(getClass().getResource(expenseTracker.getString(delete))));
552+
btnDeleteAll.setIcon(new ImageIcon(getClass().getResource(expenseTracker.getString(deleteAll))));
553+
554+
tfAmount.setBackground(colorPrimary);
555+
556+
}
557+
463558
}

0 commit comments

Comments
 (0)