From 2feee0f8e87bbead421be97ee1c922067f6c93c7 Mon Sep 17 00:00:00 2001 From: Josh Ashton Date: Wed, 15 Nov 2023 10:48:03 -0700 Subject: [PATCH] challengee --- src/Week11/Button.java | 33 ++++++++++++--------- src/Week11/Gui.java | 7 ++--- src/Week11/Panel.java | 22 +++++++++++--- src/Week9/Task$SortByTitleComparator.class | Bin 0 -> 1201 bytes src/Week9/Task.class | Bin 0 -> 1321 bytes src/Week9/Week9$1.class | Bin 0 -> 471 bytes src/Week9/Week9$2.class | Bin 0 -> 473 bytes src/Week9/Week9$3.class | Bin 0 -> 476 bytes src/Week9/Week9$4.class | Bin 0 -> 466 bytes src/Week9/Week9.class | Bin 0 -> 5782 bytes src/Week9/Week9Gui.class | Bin 0 -> 4420 bytes 11 files changed, 39 insertions(+), 23 deletions(-) create mode 100644 src/Week9/Task$SortByTitleComparator.class create mode 100644 src/Week9/Task.class create mode 100644 src/Week9/Week9$1.class create mode 100644 src/Week9/Week9$2.class create mode 100644 src/Week9/Week9$3.class create mode 100644 src/Week9/Week9$4.class create mode 100644 src/Week9/Week9.class create mode 100644 src/Week9/Week9Gui.class diff --git a/src/Week11/Button.java b/src/Week11/Button.java index 42a6d78..0ad57e7 100644 --- a/src/Week11/Button.java +++ b/src/Week11/Button.java @@ -1,43 +1,44 @@ -import javax.swing.JButton; -import javax.swing.border.EmptyBorder; +import javax.swing.*; +import javax.swing.border.*; +import java.awt.*; +import java.awt.event.*; import java.awt.Color; -import java.awt.event.MouseEvent; -import java.awt.event.MouseListener; public class Button extends JButton { private boolean selected; private Color bg; private Color fg; + /** + * @param String buttonLabel + * @param Color fg + * @param Color bg + */ public Button(String buttonLabel, Color bg, Color fg) { super(buttonLabel); this.bg = bg; this.fg = fg; + applyCommon(); deselect(); } + // Apply default appearance to the button upon exiting the bounds. public void deselect() { selected = false; - applyDefaultStyle(); - } - - public void select() { - selected = true; - applyFocusedStyle(); - } - - private void applyDefaultStyle() { setBackground(bg); setForeground(fg); } - private void applyFocusedStyle() { + // Apply focused appearance to the button upon hover. + public void select() { + selected = true; setBackground(fg); setForeground(bg); } + // Apply hover functionality to all buttons, as well as removing certain default stylings. private void applyCommon() { addMouseListener( new MouseListener() { @@ -53,11 +54,15 @@ public class Button extends JButton { @Override public void mouseEntered(MouseEvent e) { select(); + repaint(); + revalidate(); } @Override public void mouseExited(MouseEvent e) { deselect(); + repaint(); + revalidate(); } }); diff --git a/src/Week11/Gui.java b/src/Week11/Gui.java index aba1a8b..a30db4f 100644 --- a/src/Week11/Gui.java +++ b/src/Week11/Gui.java @@ -1,9 +1,6 @@ -import javax.swing.JFrame; -import javax.swing.UIManager; +import javax.swing.*; -import java.awt.Color; -import java.awt.BorderLayout; -import java.awt.Dimension; +import java.awt.*; public class Gui extends JFrame { public Gui() { diff --git a/src/Week11/Panel.java b/src/Week11/Panel.java index 6ecb0ee..6c11b78 100644 --- a/src/Week11/Panel.java +++ b/src/Week11/Panel.java @@ -1,7 +1,6 @@ -import javax.swing.JPanel; +import javax.swing.*; -import java.awt.BorderLayout; -import java.awt.Color; +import java.awt.*; public class Panel extends JPanel { private Color bg; @@ -19,6 +18,21 @@ public class Panel extends JPanel { setBackground(bg); setForeground(fg); - add(new Button("Example text", new Color(160, 32, 240), Color.WHITE)); + Button b = new Button("Example text", new Color(160, 32, 240), Color.WHITE); + b.addActionListener( + e -> { + System.out.println("Button action."); + } + ); + + Button b2 = new Button("Example 2 text", new Color(160, 32, 240), Color.WHITE); + b2.addActionListener( + e -> { + System.out.println("Button 2 action."); + } + ); + + add(b); + add(b2); } } diff --git a/src/Week9/Task$SortByTitleComparator.class b/src/Week9/Task$SortByTitleComparator.class new file mode 100644 index 0000000000000000000000000000000000000000..885a74725b4b0ec9172f0cea0ae05e822721b621 GIT binary patch literal 1201 zcmZ`&T~E_c7=F&y^=zd>z9s@Hh#)QBpd!M?gbj3Ypve|5fW(y1jKb(hTZ~3;OuX_R zcxz0!;l{+^;sx>ApJa^qo({5!n6&5pdd_*DKIiR^-`|b_+{2=RMqH1e0o`HrD7b-M z1vk+rynY3@FrYw#E|x)&8{!yN5XA_`D8~fHB!e8cY|EQt2x|H>1}RnEG#M^sE!$k# z-`y~sys=TD3@?;-_Y6nWv~1pRcV?@ro?(dQJfpC)Z0z}1j@t|aT6WubVT_dwyEyh_ zW7{lvv;Stq=19&e+J?6;jvoIPQqAmpR%tBdGcdfe6R-B3n`KaP<$b4ME?I(PL=YPl zjTyo#rt3W_yPk?BG^@CSy9`}gGM-pZ>sm6gzNx?QqfI|b>l{-mi8{@3U&Rb&Rm73t zm{XC&1CDtW3rMMG6O}Ylq?PC<5;2BO;rHdrj<@hCZ+RuNMwTJ=pS+r}ZPQ7W4A(VX zhNkn1F|_%qb6?NUx>hGt&T}lgNK%A6(U_s-qGH|Q)eVGq_ez#`?ygQx(=Y7MSYx-9QN<{DrbCltxoN8?8cSMAUu9^n!7{dI z76m9wv*wxE?__px^69i!UK8dmp5ij?>_O-Rz2F>Cjt2i}=V)gn zO)?PsiBQu#DRJdgiGETdNV}qgL*LObOz#m?LFRAqBy>Flj@AFJ@>@nt`^{%$%C=DSm-3 zK6tAnn)m^JlyUEAp;-E0o9r{$v(7qet+VI%pC7*ftl?z@1DFp(!vdE@E?F*1VLZZe z2#+IJ!DVqG9vuxzz;UNluzZddB*5)oFVl4Sw$Mj*6x{I}Ur;VzG@P@IO#%mUX5Cbq0_*9Uy8fq=ITG+~ zTV*mJLkzARhAG+S zVlzjWqTwE(+4sZ4PU*?RX5E$ix+__xb(|$bV9f1}BSg*LZ55F zqtCbC)fZau>E0InpXsH*1l1G*REG#2qmO79gLGhm{$rFajVkVSC?{wYg!Jp*;Q4g5 zJ>WK3$z)%sw-?G1r}{#Dy-+^-KBlR%r|SazAA1BaXy(fPO2>Yz$9mUw+>IwqL1z$w zPX6bJ;Q?klhaD0FyPY7n{`ZKwp?yF|_fdFX5QqoABgAwbH^fmQ0#*Tn@ zrWD1sFh~+g1d7%{7^uE~(HT%z3zYvg)sTrMW(s7j7Ed}1q!K7qZ+^$HA}t-WCu=^R zM6o`8Y)c&yDoFF=F_~X7#ha~hmE)|;QE<#|y+OQkA~0zIruoE`i#(qOTH$TTnRlfA ikgn}L^93(_g=aBSm^L{6sv>4=r+@{HE-R%u^7;YlyKo?Hp#u$x>0!9-=6O1lg6}aLcbds5Z@t2G)TxneR z0e+P6wl3V*q`i-vb9!$3_5JY)UB|T0)0mX@4=to_@;xKww!%@= zq2s^^xYtDYyIY3BYIW5agmIvHXQc1Ku7gDnOIQ}jHYwI8VXQr5;CNVpBj8x>`nG^~ zsuV@lfsA8{1q#-|K&qa9-tJRJ3zYsf)d*ru%oIplEuM5J10_(b-29GVMOr#yPu6@c z4kLZ^SQ}AIYC;)FemCHEYS55>bEWk9MxNQv literal 0 HcmV?d00001 diff --git a/src/Week9/Week9$3.class b/src/Week9/Week9$3.class new file mode 100644 index 0000000000000000000000000000000000000000..c2ded17088785cfc9fdfcec3e048bddef3b0d5de GIT binary patch literal 476 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 Q&b7hyJ1BD>(|g~)0QY3OI{*Lx literal 0 HcmV?d00001