&uE?Em1EExMRcA+Z#Mq`IRFe_R%jvzcIqa?KI&Q
zB~43q=CcDb*KMd$V0!t%1zk9Ie9^xChK{D|2OR(wI>$3B?lx#P--!84FG`_4`xRX=U>y(b$
zA=wp95JiFJ3go3~xMM8theA(SRD|)2;W(1)2+eZPNb#UorZ`u1PiE()>mcftFA9#QM9&zCDA|uS4E3h)<2CEQ&>sECK_Hpg&Ru4
zRi$A|^bFQaVM7tO_j{TG)7Y3Kz^49&&C`faVQVz{9<~;c=w%uRYvFz2_`j&j`|0#1WqU+?#GK;wVp__olmwnBeIzz3EU9
z$9Ved0$w25z9J@hdXl+h=x^Rp8Sw^v&ml(NRR~};4-Cj22u)Ys;~QUTkZz9_y&9
zug5lebKQpx*i8?jELt&wjd+^g))T~i33pLWwqXi!(zgYFM?3yW`Ti+o=ocjU6}F37
zddn<9w^)e>L<~LRR(e<@&?h?4FS@W(JcO)B!x9;-yLivbeL6!G
zjexo$G>Y=6-jXxCV*MB)e4-TV9*_=JAc1O3)3*xm<1a)T2sKF;$OK(ZN9gw3kF)rI
g*4t=(KT-ZW=n>+3e@A^f;nQP2o%HEhq8|d^0GHxgtN;K2
delta 1316
zcmY*ZOK?+F82(Ojo5%G~ZoyHzXrZK(5GrX(8%Tq-5F1+_0*a)?Y7HUK(3sFBX{&-M
zD36N3;?5|}$l$QD4nAPyR=J}tWW~;L;m(zzcHznymyZ8`l9^7=|1bN|Qv
zq4DBc{n399ege>o>v#2L(X;kcaw<6!EKFx|Cxd%-mx{%F&V%&=a?!p~xoj=ony>tL
zTSpT%NYtU;3mvTz8_{Nd?C`t%5}Oe)A3C}{O=y>R7F$i>e5TwXuzKnCXMfGzTbiAF
zd}Y4!=@;zTDX|T00#Bs!+5BW|ET2iGJ?Iv2{rU6F%2zj7vt42bYqUagii|yEeEj`|
z#rX$p+$r%K8|zZpbaK*z=gGP>J6pM=th*$3D_8eKDN}Ug1@o5k=~Xc}+4V(<0SubI
zIDLt|68o^9u2D#5)2U*NFC$>=<5&cf)5V}#iF$DW2i-U%@iMFHSDNV(iGjhx{W@Ye
zEb%Iim``bbI;~x&(}pFE;x%)x)-GN*f35Sa4(S-dD97+kfmXkH$lW40AK}0rlStvX
z`MVZzx^aTV-cB89jJlCgY@3cTW?99$bc{306Kh+Q!zf>1QlfyO+2M+aDOMR_9VIsD
zcw6EfyldWcMa+L(=gdd$e3`O4n9HRnW7%Y(kS?HwWDY6{ogT_8&EPyKq+BSZz$&B|
zDx?4^Jd5`fmNBdFTn#Br#Cg{`xFB$z$U6Ej2*rfi>h+b^tXn|KefR=_@8GkrDZ!{2
zx-nxkTi6n?(KNg!s5Bwggld|QX82cVx|Al&ns7}M){OWHO+;y;tcg}NWkfaO_zF?4
z67{jDueMR2)`0WNqS){P`tKu73V!w^?%^d1udqkF<`Fl}8hV3ch<+9l0byY%pjl|-
zO>K+}2Nv*#g=C;iZ)79Q{3LUFc^hL)PgQBu#yHcrsx)pR$Mm#?2@;2Gl$cJll@6J?
ztK$7W%^zX|&8^TVn>yv;No+zR{Aflywos3DVJkICxr6FEgdud|1T7WNjWY<7^A3E1
z2tG#-zQ#`2)Nv2#d+{6k@CSC`Z*u(?F+uGmB>F`I2E=+C6hRyny*MWJBO^v|O^oA9
zaT<5<0bNCM+QkGe;36?EF5xmnnQH>usYb{MuMM4IdnU2`8r7ow1|EF7ybF2H(H#LN
uuF&kjN4QE@PeoQjj#^`kT8GZ3wN6?aA>@&+0$HnL926BExhf}THU0<1Qx)g{
--
Gitee
From 2a94b3045004e6458dd799be4c643f5249e4637f Mon Sep 17 00:00:00 2001
From: gintoki <2967007834@qq.com>
Date: Wed, 18 May 2022 20:06:20 +0800
Subject: [PATCH 22/57] =?UTF-8?q?git=20add.=20git=20commit=20-m=20?=
=?UTF-8?q?=E2=80=9C=E4=B8=80=E5=BC=80=E5=A7=8B=E6=98=AF=E7=94=A8JPanel?=
=?UTF-8?q?=E6=9D=A5=E5=BD=93=E7=94=BB=E6=9D=BF=E7=9A=84=EF=BC=8C=E5=8F=AF?=
=?UTF-8?q?=E6=98=AF=E5=81=9A=E5=88=B0=E5=90=8E=E9=9D=A2=E5=8F=91=E7=8E=B0?=
=?UTF-8?q?=E4=B8=80=E6=97=A6=E6=94=BE=E5=A4=A7=E6=88=96=E8=80=85=E7=BC=A9?=
=?UTF-8?q?=E5=B0=8F=EF=BC=8C=E4=B9=8B=E5=89=8D=E7=94=BB=E5=A5=BD=E7=9A=84?=
=?UTF-8?q?=E4=B8=9C=E8=A5=BF=E5=B0=B1=E4=BC=9A=E6=B6=88=E5=A4=B1=EF=BC=8C?=
=?UTF-8?q?=E8=80=8C=E4=B8=94=E5=8F=91=E7=8E=B0=E5=85=B6=E4=BB=96=E4=BA=BA?=
=?UTF-8?q?=E5=BC=80=E5=8F=91=E5=A5=BD=E5=83=8F=E9=83=BD=E6=98=AF=E7=94=A8?=
=?UTF-8?q?Canvas=E5=B1=85=E5=A4=9A..=E4=BA=8E=E6=98=AF=E6=89=93=E7=AE=97?=
=?UTF-8?q?=E9=87=8D=E6=96=B0=E5=BC=80=E5=A7=8B=EF=BC=8C=E8=BF=99=E6=AC=A1?=
=?UTF-8?q?=E7=94=A8Canvas=EF=BC=8C=E5=B9=B6=E6=89=93=E7=AE=97=E5=85=88?=
=?UTF-8?q?=E5=AD=A6=E6=B7=B1=E5=85=A5=E4=B8=80=E7=82=B9=E5=86=8D=E5=BC=80?=
=?UTF-8?q?=E5=A7=8B=E5=81=9A=E2=80=9D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/PaintingBoard/PaintingBoardDemo2.java | 7 +++++++
.../PaintingBoardDemo$1MyCanvas.class | Bin 0 -> 925 bytes
.../PaintingBoard/PaintingBoardDemo$6.class | Bin 0 -> 1720 bytes
.../PaintingBoard/PaintingBoardDemo$7.class | Bin 0 -> 2494 bytes
4 files changed, 7 insertions(+)
create mode 100644 PaintingBoard/src/PaintingBoard/PaintingBoardDemo2.java
create mode 100644 out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo$1MyCanvas.class
create mode 100644 out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo$6.class
create mode 100644 out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo$7.class
diff --git a/PaintingBoard/src/PaintingBoard/PaintingBoardDemo2.java b/PaintingBoard/src/PaintingBoard/PaintingBoardDemo2.java
new file mode 100644
index 0000000..8c544e2
--- /dev/null
+++ b/PaintingBoard/src/PaintingBoard/PaintingBoardDemo2.java
@@ -0,0 +1,7 @@
+package PaintingBoard;
+
+public class PaintingBoardDemo2 {
+ public static void main(String[] args) {
+
+ }
+}
diff --git a/out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo$1MyCanvas.class b/out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo$1MyCanvas.class
new file mode 100644
index 0000000000000000000000000000000000000000..d0b25c6fdce4ece591f77753a13299d404aa2afe
GIT binary patch
literal 925
zcmah{U2hUW6g?Lx3+p1ZRs3$PQia8c#z#yaz^Wvasx_GSHoz3dz-}|U(D<`VtR_DA
z1N>3OJKMq*`_PBIcjnC9bI+YQfBydZ4PXau76~LRq#UduO{lyR$_te@Z1_SCYD>FU
za^jbs?|p3wZzcjlIvlB>^o+38UaGtJSKV~UILN{#WM^VrQWG(hgpKwWF%va$9M&SF
z)|eh1N-YO1b6&UMAZOvKgFFg^{Gxav;id9axI;*mD_t9FShsM^!F3b~tBdM4S{#j3
zpCxApS{z5*gcs$w`DwdWD@IP`MEHI$ka{L{z4DpRC|^44|0K&ZRl0;!(;x8k`L^<8
zXFBOg{ZaJBjI6c&z8H6fR%U+&rp!GPs+Tp6-=@x!9;l%w!l`D~l_T@0gyOl0=XX*!
zdT2;kk7X~;2=;+L)qVL|8Fj^_XEt_tYVMc^+4cHkKVaMJ$#CQkEIcA?E>&MN1tHUs
zLHO1WSen!FJgJ*w5d@NF&CFef`|KQtt(qtljC}yk>{NsBm&XmxH+j|MoHU4AJps8-
zPGGq|aphZ7c#C5i#Ib|h9E)c^-@#qp85%=LxX0@R3cT9DCPzcO%V(xluIhe=l}yqP
xtbU4V?db45Yy5DII)^!Rjwje+suUhXv`VBxMFK@g14PqOTa4liOt;CMc450)cel_!
z_#=FBobf?@P|@*0r-T_F9H0FK{u;(}?JC^ifn#t|JE6N4BcjH+&O#^_xY!0CF~g!Z=k?HfpEC&isyJfw__JZdAMEU
zm@qMkHwmdgbmN8#F9sGH67{T!5?BW<+};p`p(skVcPaE)#BvH#gtX5ox#x~Ba2^+Q
zOq+NY7x%~!#j_mZ^G(Z9MfRXYVwH=ZNrIP5lyR8}wtVaHq7qRr)c99y=wKnUaSwV_
ztJ^^+T){=>3kOb3vB5P}ycXAVq;9)nesg_A_;;)oM^))HEvI4mwzNA=O^zgC{2=K3
zbeUkT%Q>nzcJrZV5ypDD+rwDRSy@sc&U#{3fqgMu#06gjfkYfo2^LvuOWBF7bA-e;
zzceWYPtYz}cYda3nc2WnXf+?sSsR_QBBoV06u!jmSGd(JJCv5Obukm^w8g4VL0eX&mL^^-UgoU`u|J396o<_Y)
kkB<(9c=o>#8Wx#X0!z5V{~BLxvI^-riblj($;``t0r)Ft^8f$<
literal 0
HcmV?d00001
diff --git a/out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo$7.class b/out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo$7.class
new file mode 100644
index 0000000000000000000000000000000000000000..0a075d6ccd732c6b79fbba2417ef8150a4e2f6fc
GIT binary patch
literal 2494
zcma)7TXR!Y6#jOb<|K#H5())UXrWTEDM(PEV1mWofRx^BYisewX|kIfNY07poRESd
zsQBPG(_zLJ2gYZgd|;-w40WuR@iORm8-IfS2w&8-_es;lKGe+QT=rS(TWf#oTWdf3
z`@!b`y76uhHKNVyqV4X5yo2h(d6%#`z=M9bF1-ASC*@GN>5*gX9c
zVx><*zg)Sh(%Ts!)3dbejs*Q8QzCvs!ywKxZ1+k!K{syp>3O$c6D!9mgti{5BpN}3
ztZB5jFgM3-o|1xy2QW-bIEhR#`1-6A@w9cwF!@L!
zH_PowkpO9A$V%$jDcv^2duh=pW);JM&7j*)#0gWEDUES^&a!hnMJ-lQjmoSC#13fB
zBt6Ny*CSq=Rm-1X>x!QE{TZorTCjz>X}oyF6grW5C)@hjl2jxtL+iSUr-o`NG1PDp
zbCYLPT~tEbweDS64*KGolLM}y>?p?@!!{YEa_TU69Q=>@L|sL7*t;HdBW2WFNpG5y
z;G|)BDv1nAlU|UPq<$uj>L*-1d3jjR%YrI+eNCu>wGH?Rt}|$B3Kxh9ZZI4aE1PeC
zPLT<#U?;h7q)AdWU&ZNnMBtE42FzsEa_9sZ=5EF!odia>WFT)3bt(
zS$YFhiAIzoiIj)M9#E_;^zH5n>Sva*b@(uA3@xFtyX6kvJG_LQF&~T7g?;zY9INYG
z1Y5-ZB^-?T!~P{4Ug%Q9{mF%{zzU9&|A|;I99+T48DYAF*dn^iPrXe_sP$q~fG*1z
zSi-rO8de*J!gcpCGW{|3#QZCmoC*7vF|}Ixe2=!#f*W`n45o;X7u+o!XF}mA5g%Lg!3CA{e)Zi84LIYxA80P;CD&b
zEjrqdViX*6MC3`FMH)R&$p17l^b{bJE*Q9kAYrMvj4WMm(LV>1JZ{S;i=LWs6M4J_
zALVi#HXNd!NG_M+E?hz&72pG0L6LSC!uyz~7`3=cmIqM#52fi>P@~|Qf_kRl4Fzw4
l?&Ieb%=|@F^HC6?jkm}W^wvgcy(3rJC@E2IYIeHQ?_UhBm+$}p
literal 0
HcmV?d00001
--
Gitee
From dc0fea37b80a99735a523a32d6c2cd1fc1affe72 Mon Sep 17 00:00:00 2001
From: NeKoToKi 0321 <9813705+moonshark@user.noreply.gitee.com>
Date: Thu, 19 May 2022 06:07:17 +0000
Subject: [PATCH 23/57] add LICENSE.
---
LICENSE | 43 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)
create mode 100644 LICENSE
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..d8e161d
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,43 @@
+Academic Free License (鈥淎FL鈥) v. 3.0
+
+This Academic Free License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following licensing notice adjacent to the copyright notice for the Original Work:
+
+Licensed under the Academic Free License version 3.0
+
+1) Grant of Copyright License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, for the duration of the copyright, to do the following:
+
+ a) to reproduce the Original Work in copies, either alone or as part of a collective work;
+ b) to translate, adapt, alter, transform, modify, or arrange the Original Work, thereby creating derivative works ("Derivative Works") based upon the Original Work;
+ c) to distribute or communicate copies of the Original Work and Derivative Works to the public, under any license of your choice that does not contradict the terms and conditions, including Licensor鈥檚 reserved rights and remedies, in this Academic Free License;
+ d) to perform the Original Work publicly; and
+ e) to display the Original Work publicly.
+
+2) Grant of Patent License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, for the duration of the patents, to make, use, sell, offer for sale, have made, and import the Original Work and Derivative Works.
+
+3) Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work.
+
+4) Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior permission of the Licensor. Except as expressly stated herein, nothing in this License grants any license to Licensor鈥檚 trademarks, copyrights, patents, trade secrets or any other intellectual property. No patent license is granted to make, use, sell, offer for sale, have made, or import embodiments of any patent claims other than the licensed claims defined in Section 2. No license is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under terms different from this License any Original Work that Licensor otherwise would have a right to license.
+
+5) External Deployment. The term "External Deployment" means the use, distribution, or communication of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be used by anyone other than You, whether those works are distributed or communicated to those persons or made available as an application intended for use over a network. As an express condition for the grants of license hereunder, You must treat any External Deployment by You of the Original Work or a Derivative Work as a distribution under section 1(c).
+
+6) Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent, or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work.
+
+7) Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately preceding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of non-infringement, merchantability or fitness for a particular purpose. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to the Original Work is granted by this License except under this disclaimer.
+
+8) Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to anyone for any indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to the extent applicable law prohibits such limitation.
+
+9) Acceptance and Termination. If, at any time, You expressly assented to this License, that assent indicates your clear and irrevocable acceptance of this License and all of its terms and conditions. If You distribute or communicate copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. This License conditions your rights to undertake the activities listed in Section 1, including your right to create Derivative Works based upon the Original Work, and doing so without honoring these terms and conditions is prohibited by copyright law and international treaty. Nothing in this License is intended to affect copyright exceptions and limitations (including 鈥渇air use鈥 or 鈥渇air dealing鈥). This License shall terminate immediately and You may no longer exercise any of the rights granted to You by this License upon your failure to honor the conditions in Section 1(c).
+
+10) Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware.
+
+11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of copyright or patent law in the appropriate jurisdiction. This section shall survive the termination of this License.
+
+12) Attorneys鈥 Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License.
+
+13) Miscellaneous. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable.
+
+14) Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
+
+15) Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You.
+
+16) Modification of This License. This License is Copyright 漏 2005 Lawrence Rosen. Permission is granted to copy, distribute, or communicate this License without modification. Nothing in this License permits You to modify this License as applied to the Original Work or to Derivative Works. However, You may modify the text of this License and copy, distribute or communicate your modified version (the "Modified License") and apply it to other original works of authorship subject to the following conditions: (i) You may not indicate in any way that your Modified License is the "Academic Free License" or "AFL" and you may not use those names in the name of your Modified License; (ii) You must replace the notice specified in the first paragraph above with the notice "Licensed under " or with a notice of your own that is not confusingly similar to the notice in this License; and (iii) You may not claim that your original works are open source software unless your Modified License has been approved by Open Source Initiative (OSI) and You comply with its license review and certification process.
--
Gitee
From 4ff3d266fa57d1aa3ffa7560685b23b82cd35bb8 Mon Sep 17 00:00:00 2001
From: gintoki <2967007834@qq.com>
Date: Thu, 19 May 2022 21:29:50 +0800
Subject: [PATCH 24/57] =?UTF-8?q?git=20add.=20git=20commit=20-m=20?=
=?UTF-8?q?=E2=80=9C=E9=87=8D=E5=BC=80=E4=BA=86PaintingBoardDemo2,?=
=?UTF-8?q?=E9=A6=96=E5=85=88=E8=A7=A3=E5=86=B3=E7=9A=84=E7=94=BB=E5=9B=BE?=
=?UTF-8?q?=E6=9D=BF=E6=9C=80=E5=9F=BA=E6=9C=AC=E7=9A=84=E9=97=AE=E9=A2=98?=
=?UTF-8?q?=E5=85=88=EF=BC=8C=E5=81=9A=E4=BA=86=E7=94=BB=E5=9B=BE=E5=8C=BA?=
=?UTF-8?q?=E5=9F=9F=EF=BC=8C=E5=B9=B6=E4=B8=94=E8=83=BD=E7=94=A8=E9=BC=A0?=
=?UTF-8?q?=E6=A0=87=E7=9B=B4=E6=8E=A5=E7=94=BB=E7=BA=BF=EF=BC=8C=E8=80=8C?=
=?UTF-8?q?=E4=B8=94=E5=8F=B3=E9=94=AE=E5=8F=AF=E4=BB=A5=E5=94=A4=E5=87=BA?=
=?UTF-8?q?=E4=B8=80=E4=B8=AA=E7=AE=80=E5=8D=95=E7=9A=84=E9=A2=9C=E8=89=B2?=
=?UTF-8?q?=E9=80=89=E6=8B=A9=E8=8F=9C=E5=8D=95=EF=BC=8C=E6=A0=B9=E6=8D=AE?=
=?UTF-8?q?=E5=90=8E=E7=BB=AD=E9=9C=80=E8=A6=81=E5=8F=AF=E4=BB=A5=E5=8A=A0?=
=?UTF-8?q?=E5=85=A5=E6=9B=B4=E5=A4=9A=E9=A2=9C=E8=89=B2=E2=80=9D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/PaintingBoard/PaintingBoardDemo2.java | 106 +++++++++++++++++-
.../src/PaintingBoard/startPaintingBoard.java | 2 +-
2 files changed, 106 insertions(+), 2 deletions(-)
diff --git a/PaintingBoard/src/PaintingBoard/PaintingBoardDemo2.java b/PaintingBoard/src/PaintingBoard/PaintingBoardDemo2.java
index 8c544e2..6473edf 100644
--- a/PaintingBoard/src/PaintingBoard/PaintingBoardDemo2.java
+++ b/PaintingBoard/src/PaintingBoard/PaintingBoardDemo2.java
@@ -1,7 +1,111 @@
package PaintingBoard;
+import javax.imageio.ImageIO;
+import javax.imageio.stream.ImageOutputStream;
+import javax.swing.*;
+import java.awt.*;
+import java.awt.event.*;
+import java.awt.image.BufferedImage;
+import java.io.File;
+import java.io.IOException;
+
public class PaintingBoardDemo2 {
- public static void main(String[] args) {
+ //定义画图板大小和名字
+ JFrame frame = new JFrame("画图板");
+ final int area_Width = 600;
+ final int area_Height = 600;
+ //右键跳出颜色菜单
+ PopupMenu penColorMenu = new PopupMenu();
+ MenuItem red = new MenuItem("红色");
+ MenuItem green = new MenuItem("绿色");
+ MenuItem blue = new MenuItem("蓝色");
+ //定义画笔默认颜色
+ Color penColorNow = Color.BLACK;
+ //创建图片缓冲区,缓冲区画布
+ BufferedImage image = new BufferedImage(area_Width,area_Height,BufferedImage.TYPE_INT_RGB);
+ Graphics graphics = image.getGraphics();
+ //定义XY记录鼠标拖动过程上一次的坐标
+ int preX = -1;
+ int preY = -1;
+ //定义好我们的画板
+
+ PaintingBoardDemo2() {
+
+
+ class myCanvas extends Canvas {
+ @Override
+ public void paint(Graphics g) {
+ g.drawImage(image, 0, 0, null);
+ }
+ }
+
+ myCanvas drawArea = new myCanvas();
+ //设置画图区域
+ drawArea.setPreferredSize(new Dimension(area_Width,area_Height));
+ frame.add(drawArea);
+ frame.setLocation(500,150);
+ frame.setVisible(true);
+ frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+ frame.setSize(600,630);
+
+ graphics.setColor(Color.white);
+ graphics.fillRect(0,0,area_Width,area_Height);
+
+
+ //监听右键
+ ActionListener listener = new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {//单击执行的操作
+ String actionCommand = e.getActionCommand();
+ switch(actionCommand){
+ case "红色":
+ penColorNow = Color.red;
+ break;
+ case "绿色":
+ penColorNow = Color.green;
+ break;
+ case "蓝色":
+ penColorNow = Color.blue;
+ break;
+ }
+ }
+ };
+
+ red.addActionListener(listener);
+ green.addActionListener(listener);
+ blue.addActionListener(listener);
+
+ penColorMenu.add(red);
+ penColorMenu.add(green);
+ penColorMenu.add(blue);
+
+ drawArea.add(penColorMenu);
+
+ drawArea.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mouseReleased(MouseEvent e) {
+ boolean isPopup = e.isPopupTrigger();
+ if(isPopup){
+ penColorMenu.show(drawArea,e.getX(),e.getY());
+ }
+
+ preX = -1;
+ preY = -1;
+ }
+ });
+ drawArea.addMouseMotionListener(new MouseMotionAdapter() {
+ @Override
+ public void mouseDragged(MouseEvent e) {
+ if(preX > 0 && preY > 0){
+ graphics.setColor(penColorNow);
+ graphics.drawLine(preX,preY,e.getX(),e.getY());
+ }
+ //记录新的目前坐标
+ preX = e.getX();
+ preY = e.getY();
+ drawArea.repaint();
+ }
+ });
}
}
diff --git a/PaintingBoard/src/PaintingBoard/startPaintingBoard.java b/PaintingBoard/src/PaintingBoard/startPaintingBoard.java
index 99a7824..80fe292 100644
--- a/PaintingBoard/src/PaintingBoard/startPaintingBoard.java
+++ b/PaintingBoard/src/PaintingBoard/startPaintingBoard.java
@@ -4,6 +4,6 @@ import java.awt.*;
public class startPaintingBoard {
public static void main(String[] args) {
- new PaintingBoardDemo();
+ new PaintingBoardDemo2();
}
}
--
Gitee
From 39504700144e2943e9b7a8d0b398b3b0d803160d Mon Sep 17 00:00:00 2001
From: gintoki <2967007834@qq.com>
Date: Thu, 19 May 2022 21:30:46 +0800
Subject: [PATCH 25/57] =?UTF-8?q?git=20add.=20git=20commit=20-m=20?=
=?UTF-8?q?=E2=80=9C=E9=87=8D=E5=BC=80=E4=BA=86PaintingBoardDemo2,?=
=?UTF-8?q?=E9=A6=96=E5=85=88=E8=A7=A3=E5=86=B3=E7=9A=84=E7=94=BB=E5=9B=BE?=
=?UTF-8?q?=E6=9D=BF=E6=9C=80=E5=9F=BA=E6=9C=AC=E7=9A=84=E9=97=AE=E9=A2=98?=
=?UTF-8?q?=E5=85=88=EF=BC=8C=E5=81=9A=E4=BA=86=E7=94=BB=E5=9B=BE=E5=8C=BA?=
=?UTF-8?q?=E5=9F=9F=EF=BC=8C=E5=B9=B6=E4=B8=94=E8=83=BD=E7=94=A8=E9=BC=A0?=
=?UTF-8?q?=E6=A0=87=E7=9B=B4=E6=8E=A5=E7=94=BB=E7=BA=BF=EF=BC=8C=E8=80=8C?=
=?UTF-8?q?=E4=B8=94=E5=8F=B3=E9=94=AE=E5=8F=AF=E4=BB=A5=E5=94=A4=E5=87=BA?=
=?UTF-8?q?=E4=B8=80=E4=B8=AA=E7=AE=80=E5=8D=95=E7=9A=84=E9=A2=9C=E8=89=B2?=
=?UTF-8?q?=E9=80=89=E6=8B=A9=E8=8F=9C=E5=8D=95=EF=BC=8C=E6=A0=B9=E6=8D=AE?=
=?UTF-8?q?=E5=90=8E=E7=BB=AD=E9=9C=80=E8=A6=81=E5=8F=AF=E4=BB=A5=E5=8A=A0?=
=?UTF-8?q?=E5=85=A5=E6=9B=B4=E5=A4=9A=E9=A2=9C=E8=89=B2=E2=80=9D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../PaintingBoard/PaintingBoardDemo2$1.class | Bin 0 -> 1337 bytes
.../PaintingBoardDemo2$1myCanvas.class | Bin 0 -> 867 bytes
.../PaintingBoard/PaintingBoardDemo2$2.class | Bin 0 -> 1281 bytes
.../PaintingBoard/PaintingBoardDemo2$3.class | Bin 0 -> 1369 bytes
.../PaintingBoard/PaintingBoardDemo2.class | Bin 0 -> 2815 bytes
.../PaintingBoard/startPaintingBoard.class | Bin 479 -> 480 bytes
6 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo2$1.class
create mode 100644 out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo2$1myCanvas.class
create mode 100644 out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo2$2.class
create mode 100644 out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo2$3.class
create mode 100644 out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo2.class
diff --git a/out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo2$1.class b/out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo2$1.class
new file mode 100644
index 0000000000000000000000000000000000000000..87ea162cebabbb1cef885d9fe1fe9efbd9533bb1
GIT binary patch
literal 1337
zcmah}&rcIU6#k~&vfHxIS}7=kAQo*4rGQe=A_xV4Bn3$@9K0=MgvE9jcNg$%;=z-N
zUL=u=7ZN>51QSg3?qA^DgZv9#h;L>IKN1rNJ2UUi_uhQpn>YQrzxy4)Fz$yDKv0FE
zBZL};j%mZRJkwejvkhlHcfuOyRl7gg$57)fnr^a}(4`ZA|G*0oXb7u_=%|Ix5L+@<
zjaH800kx#i_X%bsal6Jkxd
z7P#j-igvYXSn~`GsdVY+gc;8vB}AbC2^EbxnsDv}1s}kmEgJ4((Vpj$!~+e@MC;G)
zhrL%@BDh6ID=w0YKU*;>E<+-9>=a)|A^liGy9oRCgTgd)(0cFf2Cc(LqEp2c9aoWJ
zs6W(Hv@5nlM>?FS$NZE+tMnJb$e>F_w~nj`Yd@{j47JPLlCe|vnm9D4qgRB6797qk
z;px|LO?Z^K$_iI8z|eZg=6Homrt5Kw6S>aR>35u-rHp?0q9xPfQ!CXu?mRN)Dpb&T
z$u1j}S;H}fec)6?2Qeg1&7JHkFhmV`?bF^n3LJBY25X
zyv7*bU>xspPfBkmJc&A#zCqX#k{rT2qA^OM$7nwRZ6CcV8t9+Z*Vne{`d@^hph%km
XN;g5XLhmk&yV8@P^rDW8cIDqc_JKB2
literal 0
HcmV?d00001
diff --git a/out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo2$1myCanvas.class b/out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo2$1myCanvas.class
new file mode 100644
index 0000000000000000000000000000000000000000..2462b89553c4b8a701ef3616346743f06f9c7151
GIT binary patch
literal 867
zcmaiy*>2N76o&tkxN+>7#%&>GEp16lk|M%#8Pto0rIA8G0;LjnlX#jKC3a;ysdy};
z0umQI01t&YGof}PA?3o${B!0z%lyCp{QL#r05uCaHEk4OnXnx!!y%MDi>YXc^Q4i&Uig8Z
z91!x=TGzq~N+w(ft5_p!Ey5F){IM8F!e%EWYo&2GIX#t;^xA5l%eamkCdv*raFei_
z2EU2K+0gHESC$uva~(~1Ud?bbK)anOvjkdy*NbH|l~J?yiLhH;JdawJV6;MyOD=W%
zKps!VJsEuzy%8&Gov<%PT@m?e{ZBO1v5{@?6f;g%ZkFI=Sq%sfwThVLj_9
z-6Pl^!b#MZuYFb0#@rQXD?C=irN9v6#fPZ3w60zk-Jc_N-s!Dy}N*x0p<6>hM-O@#=C-+Md!}7k
zliVpM+fM7ED$|iPL$7yax{(xF=i3afFgFx`pN@V68T1CXB4vjkXB@#97CL%Ima3n#
z+-`8!2tvnzhCv-e7-pFI$QwM#kG-U52-`~*WZe~+GOu~Up#Yan+w@i$x}&jT5Fy;q
zFrwooMj0lq^4w4)41=b-Eo=4Ku47gziirFV`Z10P4U;;iFwGF|lrrU66LwZw(kTeL
z&M=byFX^)@l=2B-M#n6|41tR9_I$CNg6DMHX~FwJ+{HZ&^E#r4F@!Etk-vK+k14b0
zxlmSCYtp8qj9e~OR4F8MEZ{yF*Bn7&ET_Pvj#LZWXLud$cqK+hiwl<)E0SJTmIcF5
z-n7M5y?Q8|U4Cd063WXGw~E{`)wu}yg
z8Y&n@x>M&>x@5zkHCupe4@h9gv#sBsNWzz*t)+_|vhdu7{G{uuGP7
zX^aZOJCYPx-({r{hoUFxNSGXG18RBh3S4`1)Nr|a75(v|1=`_V%!^3L6
z0NQDY6+&wWOJGRTS5}Rk(%Jz20?@oNiU0rr
literal 0
HcmV?d00001
diff --git a/out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo2$3.class b/out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo2$3.class
new file mode 100644
index 0000000000000000000000000000000000000000..5af4617316eca132a50bc864288510ed9097e295
GIT binary patch
literal 1369
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
Date: Fri, 20 May 2022 16:23:22 +0800
Subject: [PATCH 26/57] =?UTF-8?q?git=20add.=20git=20commit=20-m=20?=
=?UTF-8?q?=E2=80=9C=E9=87=8D=E5=BC=80=E4=BA=86PaintingBoardDemo3,Demo2?=
=?UTF-8?q?=E8=99=BD=E7=84=B6=E8=A7=A3=E5=86=B3=E7=9A=84=E4=BA=86=E7=94=BB?=
=?UTF-8?q?=E5=9B=BE=E6=9D=BF=E6=9C=80=E5=9F=BA=E7=A1=80=E7=9A=84=E5=8A=9F?=
=?UTF-8?q?=E8=83=BD=EF=BC=8C=E4=BD=86=E6=98=AF=E5=88=9B=E5=BB=BA=E7=BC=93?=
=?UTF-8?q?=E5=86=B2=E5=8C=BA=E7=9A=84=E6=96=B9=E5=BC=8F=E4=BC=9A=E6=9C=89?=
=?UTF-8?q?=E5=B1=8F=E9=97=AA=EF=BC=8C=E8=80=8C=E4=B8=94=E5=90=8E=E6=9D=A5?=
=?UTF-8?q?=E6=83=B3=E4=BA=86=E6=83=B3=E5=8F=B3=E9=94=AE=E5=94=A4=E5=87=BA?=
=?UTF-8?q?=E9=A2=9C=E8=89=B2=E9=80=89=E6=8B=A9=E5=99=A8=E7=9A=84=E6=96=B9?=
=?UTF-8?q?=E5=BC=8F=E5=AF=B9=E7=94=A8=E6=88=B7=E4=B8=8D=E6=98=AF=E9=82=A3?=
=?UTF-8?q?=E4=B9=88=E5=8F=8B=E5=A5=BD=EF=BC=8C=E6=AF=95=E7=AB=9F=E5=A6=82?=
=?UTF-8?q?=E6=9E=9C=E6=B2=A1=E6=9C=89=E6=8F=90=E7=A4=BA=E8=B0=81=E4=BC=9A?=
=?UTF-8?q?=E9=A2=84=E5=85=88=E6=83=B3=E5=88=B0=E7=82=B9=E7=82=B9=E5=8F=B3?=
=?UTF-8?q?=E9=94=AE=E5=8E=BB=E6=8D=A2=E9=A2=9C=E8=89=B2=E3=80=82=E6=9C=80?=
=?UTF-8?q?=E9=BA=BB=E7=83=A6=E7=9A=84=E6=98=AFDemo1=E6=B2=BF=E7=94=A8?=
=?UTF-8?q?=E8=BF=87=E6=9D=A5=E7=9A=84=E4=BF=9D=E5=AD=98=E6=8C=89=E9=92=AE?=
=?UTF-8?q?=EF=BC=8C=E5=BE=88=E6=AD=BB=E6=9D=BF=EF=BC=8C=E6=88=AA=E5=9B=BE?=
=?UTF-8?q?=E5=8F=AA=E8=83=BD=E5=9C=A8=E7=94=BB=E5=9B=BE=E6=9D=BF=E4=B8=8D?=
=?UTF-8?q?=E8=A2=AB=E7=A7=BB=E5=8A=A8=E7=9A=84=E6=9D=A1=E4=BB=B6=E4=B8=8B?=
=?UTF-8?q?=E6=89=8D=E8=83=BD=E6=AD=A3=E5=B8=B8=E6=88=AA=E5=88=B0=E6=83=B3?=
=?UTF-8?q?=E8=A6=81=E7=9A=84=E5=86=85=E5=AE=B9=EF=BC=8C=E6=89=93=E7=AE=97?=
=?UTF-8?q?=E9=87=8D=E6=96=B0=E5=BC=80=E5=A7=8B=EF=BC=8C=E5=8E=BB=E6=89=BE?=
=?UTF-8?q?=E5=88=AB=E7=9A=84=E5=8A=9E=E6=B3=95=E2=80=9D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/PaintingBoard/PaintingBoardDemo2.java | 48 ++++++++++++++++--
.../PaintingBoard/PaintingBoardDemo2$1.class | Bin 1337 -> 2536 bytes
.../PaintingBoardDemo2$1myCanvas.class | Bin 867 -> 867 bytes
.../PaintingBoard/PaintingBoardDemo2$2.class | Bin 1281 -> 1337 bytes
.../PaintingBoard/PaintingBoardDemo2$3.class | Bin 1369 -> 1281 bytes
.../PaintingBoard/PaintingBoardDemo2.class | Bin 2815 -> 3296 bytes
6 files changed, 45 insertions(+), 3 deletions(-)
diff --git a/PaintingBoard/src/PaintingBoard/PaintingBoardDemo2.java b/PaintingBoard/src/PaintingBoard/PaintingBoardDemo2.java
index 6473edf..fbbc861 100644
--- a/PaintingBoard/src/PaintingBoard/PaintingBoardDemo2.java
+++ b/PaintingBoard/src/PaintingBoard/PaintingBoardDemo2.java
@@ -9,7 +9,7 @@ import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
-public class PaintingBoardDemo2 {
+public class PaintingBoardDemo2 extends JFrame {
//定义画图板大小和名字
JFrame frame = new JFrame("画图板");
final int area_Width = 600;
@@ -27,8 +27,13 @@ public class PaintingBoardDemo2 {
//定义XY记录鼠标拖动过程上一次的坐标
int preX = -1;
int preY = -1;
+
+ //创建保存按钮
+ JButton save;
+ JPanel panel;
//定义好我们的画板
+
PaintingBoardDemo2() {
@@ -43,14 +48,51 @@ public class PaintingBoardDemo2 {
//设置画图区域
drawArea.setPreferredSize(new Dimension(area_Width,area_Height));
frame.add(drawArea);
- frame.setLocation(500,150);
+ frame.setLocation(350,100);
+ frame.setSize(900,700);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- frame.setSize(600,630);
+ frame.setLayout(new FlowLayout());
+ frame.setResizable(true);
graphics.setColor(Color.white);
graphics.fillRect(0,0,area_Width,area_Height);
+ JPanel panel = new JPanel();
+ panel.setBounds(200,200,200,200);
+ frame.add(panel);
+ JButton save = new JButton("保存");
+ panel.add(save);
+ save.setBounds(10,100,20,20);
+
+
+ save.addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ JFileChooser chooser = new JFileChooser();
+ int count = chooser.showDialog(null,"保存");
+ if(count == 0){
+ File file = chooser.getSelectedFile();
+ ImageOutputStream imageOutputStream = null;
+ try {
+ imageOutputStream = ImageIO.createImageOutputStream(file);
+ Dimension imageSize = drawArea.getSize();
+ int width = (int)imageSize.getWidth();
+ int height = (int)imageSize.getHeight();
+ //为了使用new Rectangle方法
+ Robot robot = new Robot();
+ BufferedImage bufferedimage = robot.createScreenCapture(new Rectangle(350,100,350 + width,100 + height));
+ ImageIO.write(bufferedimage,"png",imageOutputStream);
+
+ } catch (IOException ex) {
+ throw new RuntimeException(ex);
+ } catch (AWTException ex) {
+ throw new RuntimeException(ex);
+ }
+ }
+ }
+ });
+
//监听右键
ActionListener listener = new ActionListener() {
diff --git a/out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo2$1.class b/out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo2$1.class
index 87ea162cebabbb1cef885d9fe1fe9efbd9533bb1..d088a55d2ea121df61b635bc5a0e8744a59fd917 100644
GIT binary patch
literal 2536
zcma)7T~iZR7=8|fY!ZV+6g4RIi`s;uDOPPwlokUN6hwhS!PdGYhh#O`rMnwIJB~A*
z-qZ`PJDururx(3&rUj?W)cgL9_DA%l?Q_mT2%|HwGkebNIq&E5KJPhy{`>nM0Q&KD
z6isM05Q?J(VS&@PP0RKzyL8<#-C}0P-=M5I7rOfd;>%{GyXcxL1Fkd$ddGH%y-}(9
zC~w-!rk9H$f~bL59QzO#NIWo?%}m9#OPPs<2eRM`gs)n*<@XCTr_wV9_6rhwW3|keMFFTGW-56RCjo<*4{(AM}-@kmX77oU72ps}3uk5T0T4u#538YhF+LO8B
zXYx*U$+4yF=Ylouead%fJ(nI;CXU2$6iI=$lJuu!g<;8}a?5yA=|IVHGHQkS9K&$~
zU2(jH69OGUs8-c1Ns5fBd2~YHNP$rKQvXlX{H2;thtjMHT-}VU0fSuNV>Pp7#?!Ka
zwMK1vKZVl<&cxA;w*`9kUI+n0C1*WmQir#aQs@j?RcU*cW7GIMNEt}S(Svsd+Uo$;
zMFb)=GHVt6vM$%4QaKmLc_km^)`+x9W#7Pi0{iRglg@(U$B9XsrmYLF`GV06+W~b}=
z25t&;)vFZYg6ZTmFVuPw|#m>Ae48C1hs9bwRq*
zDq1pN%qf_a8Pm1Y|K?)IFI%2K_a40D*#Anpn>0JUt30KnQ&!0~1J<;eI`!MqU3A>4
zEDD@xsCpwhLkcNkOMOj-pm`1jB-q(Hib6qG2-YE7)@{H=S5cp*$hMAd28PtSut`g8
zTHvj1k$`zSX)DkqS6SgeYA1nc?Z~!vW9hjQTGZ#*{<@+*#RLv$FO7$bK!C#@*eoDe
z#^c*gUx$s2TnG+rl3NSD=|E?IEd_^!Cm>V4S$H^ZE@?g(u(z5*A^n
zWPmh2t5$YTfS1LTQ*#SaDH6RM$Ed#c&MQOY?vP!mI390`ap{+xqJb5GlRL!UaQ*R^
zyd^z<#POI{eAH%#Yf28xV??+|XHljwADx0{)tW5$=5^EGBW%xsIy)5cv|
znuUkY@C0*sig|p8FEmcy@~S^aFSFbWQ}YV<=V4I4k6QEeGmI2Ir*xFIVz`GdIeL8W
z!=%Pj{k6caPBh-tk7&rm{{h)3`ZEIeR_2|UI_`e>#+a0bo)G0d=m
yCIeLit-^p~aE0^0O#>tUut*`gRt5A?;~c^=!&=oV%Xq}OoqLKf>N&;tG4Manwxb;Y
literal 1337
zcmah}&rcIU6#k~&vfHxIS}7=kAQo*4rGQe=A_xV4Bn3$@9K0=MgvE9jcNg$%;=z-N
zUL=u=7ZN>51QSg3?qA^DgZv9#h;L>IKN1rNJ2UUi_uhQpn>YQrzxy4)Fz$yDKv0FE
zBZL};j%mZRJkwejvkhlHcfuOyRl7gg$57)fnr^a}(4`ZA|G*0oXb7u_=%|Ix5L+@<
zjaH800kx#i_X%bsal6Jkxd
z7P#j-igvYXSn~`GsdVY+gc;8vB}AbC2^EbxnsDv}1s}kmEgJ4((Vpj$!~+e@MC;G)
zhrL%@BDh6ID=w0YKU*;>E<+-9>=a)|A^liGy9oRCgTgd)(0cFf2Cc(LqEp2c9aoWJ
zs6W(Hv@5nlM>?FS$NZE+tMnJb$e>F_w~nj`Yd@{j47JPLlCe|vnm9D4qgRB6797qk
z;px|LO?Z^K$_iI8z|eZg=6Homrt5Kw6S>aR>35u-rHp?0q9xPfQ!CXu?mRN)Dpb&T
z$u1j}S;H}fec)6?2Qeg1&7JHkFhmV`?bF^n3LJBY25X
zyv7*bU>xspPfBkmJc&A#zCqX#k{rT2qA^OM$7nwRZ6CcV8t9+Z*Vne{`d@^hph%km
XN;g5XLhmk&yV8@P^rDW8cIDqc_JKB2
diff --git a/out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo2$1myCanvas.class b/out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo2$1myCanvas.class
index 2462b89553c4b8a701ef3616346743f06f9c7151..f2264cc357808fb07575dbd3c00297eec0ecc1e7 100644
GIT binary patch
delta 23
fcmaFN_LyzM5hg~B$w!$2S+yDX8FVH~GkX94VEhJw
delta 23
fcmaFN_LyzM5hh0E$w!$2S=AW$8Pq3BGkX94U~2|)
diff --git a/out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo2$2.class b/out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo2$2.class
index 79a8516ea65830898802551d2584a81df3808a23..5671590d181d96e42f190b1a3099bedfe613973a 100644
GIT binary patch
literal 1337
zcmah}%}*0i5dXb)%eG~qwNgJ25V2}otOb<%QADAll9Xyv!@=9OJm~6nS9cfiY~sO_
ziC!d;ix(0-Ndyy3^zL8a-GlxMUWoJFk^%_{P2b1No0<3f&CJ`MTVKBe7{}cR0tl*5
zG=$K`FmPWtEYGkOCT-oB%kPnH@uoeJ8ewSj8it!1BJ1)VgMG}4QG^ju5!KKRjUoO>
zU()lYZY|{R)gJM>N72R%%kah-g6Yg`6rG5vh-)~61Vgtp*O$FKU*eXRpQw9=ZB2vdm#7*4B>|EHcIv!mmsFY=q6Zy
zzP|taa$Pw0Xy`>Bsrb`H-E0P(@Jc^lzVe|{PZ$HQ_i~-vJeX~mY2vRts;;e>q
zNHcV{IF)SEcIZln6ZE(rQgD^}Vgy+XsyMG9C*1lEN;O0K6K+Z0ioGl@&1)DEuAv2o
zb4zGOG+Y!KrDiU26{8HjEi}6`TsB;fTb#h1NgrI}%q&Ip(-$in7OyNeYutID*Gx)i
zqHNc7b5?f@A#W=c(LoHU17oK~iVQJbmi<0==541bl67*s0Q+`EQQ%>8b?-PZ>yS~^)9a6C^e5ZMqg8v+sq@>0;C6IRP2~HyAo59&r>weZyVQO&
z+-ukbIb7kcch`2QakXiSa$7QW*X1ty=>>+ta0x6P7q5^WW`IUJ3Z%U(pJ_m9qS?U>
zu+>Ly;sPDx*;@Fox@XES4af5S^_KZlYu6d?ip&a+^5(
zQP`Jh1QGicr*#0a-&IDkO~%*HT2~YC#9HFgc!>uPD!yXR8W%2
z2XYWTa`xHu&^|+>ko^p{j?){+tfAW%E=Zxn7lug?^nwud1}HTEC&=@7h6bL)zzaOa
zE0}l<3-9n$Qtu~wBGsb4O5e5{L^*`F1Y?3oPtti3;VlfQ=%PRC>}>DVw10>|L5U6n
ZxP>WN6?%6O+?JXw?$8>gK%ye_`w!d~H_re7
literal 1281
zcmah}>rN9v6#fPZ3w60zk-Jc_N-s!Dy}N*x0p<6>hM-O@#=C-+Md!}7k
zliVpM+fM7ED$|iPL$7yax{(xF=i3afFgFx`pN@V68T1CXB4vjkXB@#97CL%Ima3n#
z+-`8!2tvnzhCv-e7-pFI$QwM#kG-U52-`~*WZe~+GOu~Up#Yan+w@i$x}&jT5Fy;q
zFrwooMj0lq^4w4)41=b-Eo=4Ku47gziirFV`Z10P4U;;iFwGF|lrrU66LwZw(kTeL
z&M=byFX^)@l=2B-M#n6|41tR9_I$CNg6DMHX~FwJ+{HZ&^E#r4F@!Etk-vK+k14b0
zxlmSCYtp8qj9e~OR4F8MEZ{yF*Bn7&ET_Pvj#LZWXLud$cqK+hiwl<)E0SJTmIcF5
z-n7M5y?Q8|U4Cd063WXGw~E{`)wu}yg
z8Y&n@x>M&>x@5zkHCupe4@h9gv#sBsNWzz*t)+_|vhdu7{G{uuGP7
zX^aZOJCYPx-({r{hoUFxNSGXG18RBh3S4`1)Nr|a75(v|1=`_V%!^3L6
z0NQDY6+&wWOJGRTS5}Rk(%Jz20?@oNiU0rr
diff --git a/out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo2$3.class b/out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo2$3.class
index 5af4617316eca132a50bc864288510ed9097e295..9058f5c069fa656c21d8213e28e40bcab12b495c 100644
GIT binary patch
delta 651
zcmZva+fEZv7=^#xX**$@YN%K#AQVsZpthdTQWPqhCXx_ih;TR2Nv)wXlODh;E10NP
zCT6aD3=Lx9g%98x_yoR$G5)(8Ze)_Z*UZ|p*82Z{=9jf;SwH`N{{hT$|D*M-H~PX^
zcZ$wNr|7P`UZ=R|ciZmVGbiY{Ek%5$;Waw53L~3awn%c^WXR?ODMk7)<$^X*9Bs6h
z{Gb~=ZZ+z4Z6x~D0ftGNjM$7arpPQg4KIwV@tz&HUe#aoTZ^vORSZ2maPFIEwyeX)
zZ6?SlqII|Pr0-eN^l6(j`}B&%InJ9**<{HnlK)$YzWv3jf1|j7a__guBCC!KlnB!CapiW?nEUXSywY
IRb?%}KgS1rp8x;=
literal 1369
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
Date: Sat, 21 May 2022 10:55:57 +0800
Subject: [PATCH 27/57] =?UTF-8?q?git=20add.=20git=20commit=20-m=20?=
=?UTF-8?q?=E2=80=9C=E9=87=8D=E5=86=99=E4=BA=86PaintingBoardDemo3=E2=80=9D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
PaintingBoard/src/PaintingBoard/PaintingBoardDemo.java | 7 +++++--
PaintingBoard/src/PaintingBoard/PaintingBoardDemo2.java | 3 ++-
PaintingBoard/src/PaintingBoard/startPaintingBoard.java | 3 ++-
3 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/PaintingBoard/src/PaintingBoard/PaintingBoardDemo.java b/PaintingBoard/src/PaintingBoard/PaintingBoardDemo.java
index a9f5484..f369aa4 100644
--- a/PaintingBoard/src/PaintingBoard/PaintingBoardDemo.java
+++ b/PaintingBoard/src/PaintingBoard/PaintingBoardDemo.java
@@ -11,7 +11,7 @@ import java.awt.event.MouseListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
-
+/*
public class PaintingBoardDemo extends JFrame {
//绘制矩形
@@ -226,4 +226,7 @@ public class PaintingBoardDemo extends JFrame {
}
-//5.17使用截图方式保存图片
\ No newline at end of file
+//5.17使用截图方式保存图片
+
+
+ */
\ No newline at end of file
diff --git a/PaintingBoard/src/PaintingBoard/PaintingBoardDemo2.java b/PaintingBoard/src/PaintingBoard/PaintingBoardDemo2.java
index fbbc861..6de3ac0 100644
--- a/PaintingBoard/src/PaintingBoard/PaintingBoardDemo2.java
+++ b/PaintingBoard/src/PaintingBoard/PaintingBoardDemo2.java
@@ -8,7 +8,7 @@ import java.awt.event.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
-
+/*
public class PaintingBoardDemo2 extends JFrame {
//定义画图板大小和名字
JFrame frame = new JFrame("画图板");
@@ -151,3 +151,4 @@ public class PaintingBoardDemo2 extends JFrame {
});
}
}
+*/
\ No newline at end of file
diff --git a/PaintingBoard/src/PaintingBoard/startPaintingBoard.java b/PaintingBoard/src/PaintingBoard/startPaintingBoard.java
index 80fe292..4fff6e0 100644
--- a/PaintingBoard/src/PaintingBoard/startPaintingBoard.java
+++ b/PaintingBoard/src/PaintingBoard/startPaintingBoard.java
@@ -4,6 +4,7 @@ import java.awt.*;
public class startPaintingBoard {
public static void main(String[] args) {
- new PaintingBoardDemo2();
+ new PaintingBoardDemo3();
}
}
+
--
Gitee
From 8bd7e18ded2f671249b013abdbefa9dc7bd8f0e8 Mon Sep 17 00:00:00 2001
From: NeKoToKi 0321 <9813705+moonshark@user.noreply.gitee.com>
Date: Sat, 21 May 2022 15:48:09 +0000
Subject: [PATCH 28/57] add README.md.
---
README.md | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)
create mode 100644 README.md
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..af719d0
--- /dev/null
+++ b/README.md
@@ -0,0 +1,38 @@
+# 0321_luozhen_paintingBoard
+
+#### 浠嬬粛
+2022鏄ワ紝銆奐ava闈㈠悜瀵硅薄绋嬪簭璁捐瀹為獙銆嬭璁℃у疄楠
+鍙槸涓涓绋嬩綔涓
+
+#### 杞欢鏋舵瀯
+杞欢鏋舵瀯璇存槑
+
+
+#### 瀹夎鏁欑▼
+
+1. xxxx
+2. xxxx
+3. xxxx
+
+#### 浣跨敤璇存槑
+
+1. xxxx
+2. xxxx
+3. xxxx
+
+#### 鍙備笌璐$尞
+
+1. Fork 鏈粨搴
+2. 鏂板缓 Feat_xxx 鍒嗘敮
+3. 鎻愪氦浠g爜
+4. 鏂板缓 Pull Request
+
+
+#### 鐗规妧
+
+1. 浣跨敤 Readme\_XXX.md 鏉ユ敮鎸佷笉鍚岀殑璇█锛屼緥濡 Readme\_en.md, Readme\_zh.md
+2. Gitee 瀹樻柟鍗氬 [blog.gitee.com](https://blog.gitee.com)
+3. 浣犲彲浠 [https://gitee.com/explore](https://gitee.com/explore) 杩欎釜鍦板潃鏉ヤ簡瑙 Gitee 涓婄殑浼樼寮婧愰」鐩
+4. [GVP](https://gitee.com/gvp) 鍏ㄧО鏄 Gitee 鏈鏈変环鍊煎紑婧愰」鐩紝鏄患鍚堣瘎瀹氬嚭鐨勪紭绉寮婧愰」鐩
+5. Gitee 瀹樻柟鎻愪緵鐨勪娇鐢ㄦ墜鍐 [https://gitee.com/help](https://gitee.com/help)
+6. Gitee 灏侀潰浜虹墿鏄竴妗g敤鏉ュ睍绀 Gitee 浼氬憳椋庨噰鐨勬爮鐩 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
--
Gitee
From 8c96def52efe79d6e5e90cff799c6dfeeefd964d Mon Sep 17 00:00:00 2001
From: gintoki <2967007834@qq.com>
Date: Sun, 22 May 2022 11:10:11 +0800
Subject: [PATCH 29/57] =?UTF-8?q?git=20add.=20git=20commit=20-m=20?=
=?UTF-8?q?=E2=80=9C=E5=AD=A6=E5=A4=96=E9=9D=A2=E7=9A=84=E4=BA=BA=E9=87=8D?=
=?UTF-8?q?=E5=86=99=E4=BA=86update=E6=96=B9=E6=B3=95=E4=B9=8B=E5=90=8E?=
=?UTF-8?q?=EF=BC=8C=E6=9E=9C=E7=84=B6=E6=B2=A1=E6=9C=89=E5=B1=8F=E9=97=AA?=
=?UTF-8?q?=E7=9A=84=E7=8E=B0=E8=B1=A1=E4=BA=86=EF=BC=8C=E8=80=8C=E4=B8=94?=
=?UTF-8?q?=E6=8A=8APaintingBoardDemo3=E6=8B=86=E5=BC=80=E6=88=90=E4=BA=86?=
=?UTF-8?q?=E4=B8=A4=E4=B8=AA=E6=96=87=E4=BB=B6=EF=BC=8C=E4=B8=80=E4=B8=AA?=
=?UTF-8?q?=E5=86=99canvas=E4=B8=80=E4=B8=AA=E5=86=99Jframe=EF=BC=8C?=
=?UTF-8?q?=E6=96=B9=E4=BE=BF=E6=97=A5=E5=90=8E=E4=BF=AE=E6=94=B9=E4=B9=9F?=
=?UTF-8?q?=E5=A5=BD=E7=9C=8B=E2=80=9D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../PaintingBoard/PaintingBoardCanvas.java | 19 +++++
.../src/PaintingBoard/PaintingBoardDemo3.java | 4 +
.../PaintingBoardPictureFrame.java | 73 +++++++++++++++++++
.../src/PaintingBoard/startPaintingBoard.java | 3 +-
4 files changed, 98 insertions(+), 1 deletion(-)
create mode 100644 PaintingBoard/src/PaintingBoard/PaintingBoardCanvas.java
create mode 100644 PaintingBoard/src/PaintingBoard/PaintingBoardDemo3.java
create mode 100644 PaintingBoard/src/PaintingBoard/PaintingBoardPictureFrame.java
diff --git a/PaintingBoard/src/PaintingBoard/PaintingBoardCanvas.java b/PaintingBoard/src/PaintingBoard/PaintingBoardCanvas.java
new file mode 100644
index 0000000..3d30a96
--- /dev/null
+++ b/PaintingBoard/src/PaintingBoard/PaintingBoardCanvas.java
@@ -0,0 +1,19 @@
+package PaintingBoard;
+
+import java.awt.*;
+
+public class PaintingBoardCanvas extends Canvas {
+ private Image image = null;
+ public void setImage(Image image){
+ this.image = image;
+ }
+ public void paint(Graphics g){
+ g.drawImage(image,0,0,null);
+ }
+
+ //重写update方法可以解决屏幕闪烁,这是学外面的。
+ public void update(Graphics g){
+ paint(g);
+ }
+
+}
diff --git a/PaintingBoard/src/PaintingBoard/PaintingBoardDemo3.java b/PaintingBoard/src/PaintingBoard/PaintingBoardDemo3.java
new file mode 100644
index 0000000..f807a77
--- /dev/null
+++ b/PaintingBoard/src/PaintingBoard/PaintingBoardDemo3.java
@@ -0,0 +1,4 @@
+package PaintingBoard;
+
+
+
diff --git a/PaintingBoard/src/PaintingBoard/PaintingBoardPictureFrame.java b/PaintingBoard/src/PaintingBoard/PaintingBoardPictureFrame.java
new file mode 100644
index 0000000..2240dff
--- /dev/null
+++ b/PaintingBoard/src/PaintingBoard/PaintingBoardPictureFrame.java
@@ -0,0 +1,73 @@
+package PaintingBoard;
+
+import javax.swing.*;
+import java.awt.*;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseMotionListener;
+import java.awt.image.BufferedImage;
+
+public class PaintingBoardPictureFrame extends JFrame {
+ BufferedImage image1 = new BufferedImage(570,390,BufferedImage.TYPE_3BYTE_BGR);
+ Graphics gs = image1.getGraphics();
+ Graphics2D g = (Graphics2D)gs;
+ PaintingBoardCanvas canvas1 = new PaintingBoardCanvas();
+ //设置前景色和背景色,外面学的,前景色可以当笔的颜色
+ Color forecolor = Color.BLACK;
+ Color backgroundColor = Color.WHITE;
+
+ int x = -1;
+ int y = -1;
+ boolean isrubber = false;
+ public PaintingBoardPictureFrame(){
+ ImageIcon imageIcon = new ImageIcon("D:\\javawork2022\\java2022spring\\PaintingBoard\\src");
+ Image image = imageIcon.getImage();
+ setIconImage(image);
+ setResizable(false);
+ setTitle("画图板");
+ setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+ setBounds(500, 100, 574, 460);
+ init();
+ addListener();
+ }
+
+ public void addListener(){
+ canvas1.addMouseMotionListener(new MouseMotionListener() {
+ @Override
+ public void mouseDragged(final MouseEvent e) {
+ if(x > 0 && y > 0){
+ if(isrubber){
+ g.setColor(backgroundColor);
+ g.fillRect(x,y,10,10);
+ }else{
+ g.drawLine(x,y,e.getX(),e.getY());
+ }
+ }
+ x = e.getX();
+ y = e.getY();
+ canvas1.repaint();
+ }
+
+ @Override
+ public void mouseMoved(MouseEvent e) {
+
+ }
+ });
+ canvas1.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mouseReleased(MouseEvent e) {
+ x = -1;
+ y = -1;
+ }
+ });
+
+ }
+ public void init(){
+ g.setColor(backgroundColor);
+ g.fillRect(0, 0, 570, 390);
+ g.setColor(forecolor);
+ canvas1.setImage(image1);
+ getContentPane().add(canvas1);
+ }
+
+}
diff --git a/PaintingBoard/src/PaintingBoard/startPaintingBoard.java b/PaintingBoard/src/PaintingBoard/startPaintingBoard.java
index 4fff6e0..063bf4c 100644
--- a/PaintingBoard/src/PaintingBoard/startPaintingBoard.java
+++ b/PaintingBoard/src/PaintingBoard/startPaintingBoard.java
@@ -4,7 +4,8 @@ import java.awt.*;
public class startPaintingBoard {
public static void main(String[] args) {
- new PaintingBoardDemo3();
+ PaintingBoardPictureFrame frame = new PaintingBoardPictureFrame();
+ frame.setVisible(true);
}
}
--
Gitee
From 6ff07e8c4f8114655d1feffd145def6c454d59df Mon Sep 17 00:00:00 2001
From: gintoki <2967007834@qq.com>
Date: Sun, 22 May 2022 11:10:49 +0800
Subject: [PATCH 30/57] =?UTF-8?q?git=20add.=20git=20commit=20-m=20?=
=?UTF-8?q?=E2=80=9C=E5=AD=A6=E5=A4=96=E9=9D=A2=E7=9A=84=E4=BA=BA=E9=87=8D?=
=?UTF-8?q?=E5=86=99=E4=BA=86update=E6=96=B9=E6=B3=95=E4=B9=8B=E5=90=8E?=
=?UTF-8?q?=EF=BC=8C=E6=9E=9C=E7=84=B6=E6=B2=A1=E6=9C=89=E5=B1=8F=E9=97=AA?=
=?UTF-8?q?=E7=9A=84=E7=8E=B0=E8=B1=A1=E4=BA=86=EF=BC=8C=E8=80=8C=E4=B8=94?=
=?UTF-8?q?=E6=8A=8APaintingBoardDemo3=E6=8B=86=E5=BC=80=E6=88=90=E4=BA=86?=
=?UTF-8?q?=E4=B8=A4=E4=B8=AA=E6=96=87=E4=BB=B6=EF=BC=8C=E4=B8=80=E4=B8=AA?=
=?UTF-8?q?=E5=86=99canvas=E4=B8=80=E4=B8=AA=E5=86=99Jframe=EF=BC=8C?=
=?UTF-8?q?=E6=96=B9=E4=BE=BF=E6=97=A5=E5=90=8E=E4=BF=AE=E6=94=B9=E4=B9=9F?=
=?UTF-8?q?=E5=A5=BD=E7=9C=8B=E2=80=9D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../PaintingBoard/PaintingBoardDemo$1.class | Bin 1331 -> 0 bytes
.../PaintingBoardDemo$1MyCanvas.class | Bin 925 -> 0 bytes
.../PaintingBoard/PaintingBoardDemo$2.class | Bin 762 -> 0 bytes
.../PaintingBoard/PaintingBoardDemo$3.class | Bin 1126 -> 0 bytes
.../PaintingBoard/PaintingBoardDemo$4.class | Bin 797 -> 0 bytes
.../PaintingBoard/PaintingBoardDemo$5.class | Bin 762 -> 0 bytes
.../PaintingBoard/PaintingBoardDemo$6.class | Bin 1720 -> 0 bytes
.../PaintingBoard/PaintingBoardDemo$7.class | Bin 2494 -> 0 bytes
.../PaintingBoard/PaintingBoardDemo.class | Bin 3257 -> 0 bytes
.../PaintingBoard/PaintingBoardDemo2$1.class | Bin 2536 -> 0 bytes
.../PaintingBoardDemo2$1myCanvas.class | Bin 867 -> 0 bytes
.../PaintingBoard/PaintingBoardDemo2$2.class | Bin 1337 -> 0 bytes
.../PaintingBoard/PaintingBoardDemo2$3.class | Bin 1281 -> 0 bytes
.../PaintingBoard/PaintingBoardDemo2.class | Bin 3296 -> 0 bytes
.../PaintingBoard/startPaintingBoard.class | Bin 480 -> 588 bytes
15 files changed, 0 insertions(+), 0 deletions(-)
delete mode 100644 out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo$1.class
delete mode 100644 out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo$1MyCanvas.class
delete mode 100644 out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo$2.class
delete mode 100644 out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo$3.class
delete mode 100644 out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo$4.class
delete mode 100644 out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo$5.class
delete mode 100644 out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo$6.class
delete mode 100644 out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo$7.class
delete mode 100644 out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo.class
delete mode 100644 out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo2$1.class
delete mode 100644 out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo2$1myCanvas.class
delete mode 100644 out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo2$2.class
delete mode 100644 out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo2$3.class
delete mode 100644 out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo2.class
diff --git a/out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo$1.class b/out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo$1.class
deleted file mode 100644
index d370ed964272b537591caafea47aa20b360ebc20..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1331
zcmah}OHUI~6#i~IW!f^(S}7`mysEZ^Qt(k9MHCANNkI|}3r#e)Y8JrowwTTN?
zCc4o?Hf~6CB@s+C(Y?RGy$ksZZiwg35FXKlruT8qJ?Gr-JNKOVvHj&6fFX>B;DcX<
zq9K4fhR$iO8;)*NZkpVh%N~$MM9oYLFw{Box}E4JZ@C+D&^W2^
z-PZGU>D;QJ4W~#Y9xw5#%@9xSyT#*?Pu&foL%MzaPHsVT(SGaID(yo^;IxV}8qOlg
z(74N~U{+0wuCxR}k9r{`S6818A&njty&5vot^JTpGt@5%!*!i9SLB^p4gJzHP_cwC
zq~@H4^HQUfs!Kw}MTWLrF#8i+)NMx?g0Ll$hrV!XmI8XoixhQ3OfA()!n(stRZ3^9
zXqI_(mRq`%ca(}OABOJ3LMI0D3=!_W`LwVenpRC_s(mN>|1FEWgv03O*1df0r{>lU
zg>CS{?p980-;3_l4H?Ziy!>dAFYW*j&zMVAS&ZqDTJwPik*(1ulSzn2jdInrsq`j=
zGj9^&;FPePanq)v)g}x|Y@y0+TiEEJ-V1`^0$4OE`;S`EN24A&(q3{K)aPo#>7EU+
z^k=9aU7O1^*O3iy4_9bz_N;Ifd6Iyz8;w$dL0t1I$g0YkW=Ey
zdvcII?(DH?rG1JVa(N}af{Y41(Gj9zrUBlHe3Jz
diff --git a/out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo$1MyCanvas.class b/out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo$1MyCanvas.class
deleted file mode 100644
index d0b25c6fdce4ece591f77753a13299d404aa2afe..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 925
zcmah{U2hUW6g?Lx3+p1ZRs3$PQia8c#z#yaz^Wvasx_GSHoz3dz-}|U(D<`VtR_DA
z1N>3OJKMq*`_PBIcjnC9bI+YQfBydZ4PXau76~LRq#UduO{lyR$_te@Z1_SCYD>FU
za^jbs?|p3wZzcjlIvlB>^o+38UaGtJSKV~UILN{#WM^VrQWG(hgpKwWF%va$9M&SF
z)|eh1N-YO1b6&UMAZOvKgFFg^{Gxav;id9axI;*mD_t9FShsM^!F3b~tBdM4S{#j3
zpCxApS{z5*gcs$w`DwdWD@IP`MEHI$ka{L{z4DpRC|^44|0K&ZRl0;!(;x8k`L^<8
zXFBOg{ZaJBjI6c&z8H6fR%U+&rp!GPs+Tp6-=@x!9;l%w!l`D~l_T@0gyOl0=XX*!
zdT2;kk7X~;2=;+L)qVL|8Fj^_XEt_tYVMc^+4cHkKVaMJ$#CQkEIcA?E>&MN1tHUs
zLHO1WSen!FJgJ*w5d@NF&CFef`|KQtt(qtljC}yk>{NsBm&XmxH+j|MoHU4AJps8-
zPGGq|aphZ7c#C5i#Ib|h9E)c^-@#qp85%=LxX0@R3cT9DCPzcO%V(xluIhe=l}yqP
xtbU4V?db45Yy5DII)^!Rjwje+suUhXZX5f
zamTk?)h<}(!v8=5(UCnXGPSFHOS83s_*t&|3{1XbvfP%O`Mz=|b{JxX`D^Ig;}e)T
zP^J55Oa8vjp5fHDb6J+E#4;wiCgkPLH2Agfkk$-uuc<4~+7-lQ_56skO*b&cW6If^
zkSDzP)523c;i+CSF#a
NWvo(1#7t82{019KvabLD
diff --git a/out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo$3.class b/out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo$3.class
deleted file mode 100644
index 4e9ad40c4c0dd5f205c0e93d1dfa114cfe2fc9aa..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1126
zcmah|TTc@~7(G)8OUnYaT$G!DRBa2gC|(|FNTguU6ePj)eObnKal2!7r{I(E!VB@;
z2g8Hm&BVlLK#Yn00Dp%d{0ZYX+XmY3z;5<3-<=xvW<)eZb+kZdh^?Ayrs0@w
z!FaU1$}LIB?%J*`rx+TNseCiq82S!B?;X9|Jb3%@&(9D0@3sy;ZU240akRa4xcN1L
z7|v;k>*zoy!{8bG3@tu)h$kx?;Sql>5MZuLBZ!c`Zk*R}K}QdI8G6+8bHiV!0vHbi
zNVX`1&uMMcFN*aU+jK;MVJ=ylsq{>^+?AP1EU>pEJ<3syobaV;myx85GSshQ02fKC
zrBo83ZE=RK0D3HDx-6w|N$?PcHC)m$f&@cHo!|oE0mixIJgPe4$)g=H6p-*`Y{0CoI#+
zo1U%4)nHh)55ve=sS}eK%4r6Y7PQrQILq{1@6l^;Zpzmr0LyVL17eQGy2IFhHPiZ?114PkjS4g
zk&yV{5Aa7B?+hfQ8to=KlY8&UIrrSTKYxAy0bm2mAu5;%P>pd1HHL*R`tRXj@08NHDpXQ%!CQgO2
z+3Va&t-7+bLJ7l=w#FJ->5uu+t++uMm9on8$S12m_qs37ySr6rN(1A|Uc?d^w=_?B
z!ASH`40L0ipNaT^)_kp%+i5Kj&w2*Ju0yo
zKIwYLR?xO~7-e4gABn;Hs?U;0e3I5>b);$b%~ov&O1`6_Sf}*1yTY7kO78B7)O^+{
zJ%j&6QIED`o~9zjG7W_bsu-+Nv4cUglA~`DGlag(CMTC6UhCa8SnC$fRmQ2(S|AQ^
ziCJ2!_bj}^97TYasZmv!$Lpci2imQ=+xh`^gQv`VBxMFK@g14PqOTa4liOt;CMc450)cel_!
z_#=FBobf?@P|@*0r-T_F9H0FK{u;(}?JC^ifn#t|JE6N4BcjH+&O#^_xY!0CF~g!Z=k?HfpEC&isyJfw__JZdAMEU
zm@qMkHwmdgbmN8#F9sGH67{T!5?BW<+};p`p(skVcPaE)#BvH#gtX5ox#x~Ba2^+Q
zOq+NY7x%~!#j_mZ^G(Z9MfRXYVwH=ZNrIP5lyR8}wtVaHq7qRr)c99y=wKnUaSwV_
ztJ^^+T){=>3kOb3vB5P}ycXAVq;9)nesg_A_;;)oM^))HEvI4mwzNA=O^zgC{2=K3
zbeUkT%Q>nzcJrZV5ypDD+rwDRSy@sc&U#{3fqgMu#06gjfkYfo2^LvuOWBF7bA-e;
zzceWYPtYz}cYda3nc2WnXf+?sSsR_QBBoV06u!jmSGd(JJCv5Obukm^w8g4VL0eX&mL^^-UgoU`u|J396o<_Y)
kkB<(9c=o>#8Wx#X0!z5V{~BLxvI^-riblj($;``t0r)Ft^8f$<
diff --git a/out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo$7.class b/out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo$7.class
deleted file mode 100644
index 0a075d6ccd732c6b79fbba2417ef8150a4e2f6fc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 2494
zcma)7TXR!Y6#jOb<|K#H5())UXrWTEDM(PEV1mWofRx^BYisewX|kIfNY07poRESd
zsQBPG(_zLJ2gYZgd|;-w40WuR@iORm8-IfS2w&8-_es;lKGe+QT=rS(TWf#oTWdf3
z`@!b`y76uhHKNVyqV4X5yo2h(d6%#`z=M9bF1-ASC*@GN>5*gX9c
zVx><*zg)Sh(%Ts!)3dbejs*Q8QzCvs!ywKxZ1+k!K{syp>3O$c6D!9mgti{5BpN}3
ztZB5jFgM3-o|1xy2QW-bIEhR#`1-6A@w9cwF!@L!
zH_PowkpO9A$V%$jDcv^2duh=pW);JM&7j*)#0gWEDUES^&a!hnMJ-lQjmoSC#13fB
zBt6Ny*CSq=Rm-1X>x!QE{TZorTCjz>X}oyF6grW5C)@hjl2jxtL+iSUr-o`NG1PDp
zbCYLPT~tEbweDS64*KGolLM}y>?p?@!!{YEa_TU69Q=>@L|sL7*t;HdBW2WFNpG5y
z;G|)BDv1nAlU|UPq<$uj>L*-1d3jjR%YrI+eNCu>wGH?Rt}|$B3Kxh9ZZI4aE1PeC
zPLT<#U?;h7q)AdWU&ZNnMBtE42FzsEa_9sZ=5EF!odia>WFT)3bt(
zS$YFhiAIzoiIj)M9#E_;^zH5n>Sva*b@(uA3@xFtyX6kvJG_LQF&~T7g?;zY9INYG
z1Y5-ZB^-?T!~P{4Ug%Q9{mF%{zzU9&|A|;I99+T48DYAF*dn^iPrXe_sP$q~fG*1z
zSi-rO8de*J!gcpCGW{|3#QZCmoC*7vF|}Ixe2=!#f*W`n45o;X7u+o!XF}mA5g%Lg!3CA{e)Zi84LIYxA80P;CD&b
zEjrqdViX*6MC3`FMH)R&$p17l^b{bJE*Q9kAYrMvj4WMm(LV>1JZ{S;i=LWs6M4J_
zALVi#HXNd!NG_M+E?hz&72pG0L6LSC!uyz~7`3=cmIqM#52fi>P@~|Qf_kRl4Fzw4
l?&Ieb%=|@F^HC6?jkm}W^wvgcy(3rJC@E2IYIeHQ?_UhBm+$}p
diff --git a/out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo.class b/out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo.class
deleted file mode 100644
index 4d42d80de11841f6e51077fcae830a105559821b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 3257
zcma)8U365{75+{#$xJR+m_)!|eqvLd449E0MGcB%AUZIKXkvauT5e_z$<>*A!`wRw
z5yfb=K(T0ATG2plsaC1lDw>I96rcLi)yKZHt83}94akejEgnXJs+
z=bZiRefHUZ=lt#Kv*!TZiE|pNP#r`-M-6HP8Xh)AjD0a@)U*a;+uCzRRtnT^G%eG;
zQ=mH1+!I1bpzgx4;>_f^^Cv&jpkYA}x{k}RP+-Ll!?auyZnKSCI#w~;BD1zY$dPWh
z>1Igpl1P%bi)9Sjtjo=jSZi|+YYgkCM}t6+z+L8}gsq7r63sn9EEc$?+{RwhO53Ax
z+j3mPavc_4s^bb=DR3nTZ;^Y9e8!DuY)9TZEOUly+Lk~dLdqC>wT^3Wt$;?@9@8-g
z*seh2LEdV)?~a%;>c)21!};M3Y2`I6LvrUw)*yZ;
zP_GWk4AzlwWmZFzrzfJL8Bua>PNoGeFR7SCw(@SPb==6Pn!%iu7O%u~+{7z^flOZ3
zVJ+4Lv0lf`xJ6*$+;+ZYHEqew@$CZPl6u8ax^LBS8%r&iJxQlM8bqtWwR39BtT8BK
zZTUTWB$=7unTFeO2d51sMlD50h376hL3wz#wdGycwnAtV&@U8^&m1aTc=`0qho>}b
z!WNcZ$Y*KSaX0RvyvoTG#c@z&hcb087d=I-9JFmZwj)U%Gt%U-sGmjb+_;?`wk>J7
ztJ7?#XvkY2)=Iv&O&q-&U$XR~h3Q3|Z$
zn$=;cxH>XJepLbIL>bnxm)C20?@4rTWxb9L7kPop*eOQpk-;2$hGJRaTROU`Pl-+r
z!#*8jc+~S`(ipSzF4bn4fVb9RSd=U*7{p@&jTJ57yA7ggjfVX=z?t!cKvN|7J$PkM
z6Q0!Z6n;W=Mk%p5#YLVp9ambCs`9!ro8$;3N30T|R4l_YoK-&+h?K$SO0X=Q=GKBZ
zG>`MF)o>68IP;zi;@No!tkZA=2ZDHR9@zC7jxzQa^T6J$VS=&0ng{k44aeAMiQ_t6
z#7opT$gv%E-jOB0HkLWc^J@h_Mf}7(Hrt?Kk~h=vvX0;4cXTmO8Yb&uE?Em1EExMRcA+Z#Mq`IRFe_R%jvzcIqa?KI&Q
zB~43q=CcDb*KMd$V0!t%1zk9Ie9^xChK{D|2OR(wI>$3B?lx#P--!84FG`_4`xRX=U>y(b$
zA=wp95JiFJ3go3~xMM8theA(SRD|)2;W(1)2+eZPNb#UorZ`u1PiE()>mcftFA9#QM9&zCDA|uS4E3h)<2CEQ&>sECK_Hpg&Ru4
zRi$A|^bFQaVM7tO_j{TG)7Y3Kz^49&&C`faVQVz{9<~;c=w%uRYvFz2_`j&j`|0#1WqU+?#GK;wVp__olmwnBeIzz3EU9
z$9Ved0$w25z9J@hdXl+h=x^Rp8Sw^v&ml(NRR~};4-Cj22u)Ys;~QUTkZz9_y&9
zug5lebKQpx*i8?jELt&wjd+^g))T~i33pLWwqXi!(zgYFM?3yW`Ti+o=ocjU6}F37
zddn<9w^)e>L<~LRR(e<@&?h?4FS@W(JcO)B!x9;-yLivbeL6!G
zjexo$G>Y=6-jXxCV*MB)e4-TV9*_=JAc1O3)3*xm<1a)T2sKF;$OK(ZN9gw3kF)rI
g*4t=(KT-ZW=n>+3e@A^f;nQP2o%HEhq8|d^0GHxgtN;K2
diff --git a/out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo2$1.class b/out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo2$1.class
deleted file mode 100644
index d088a55d2ea121df61b635bc5a0e8744a59fd917..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 2536
zcma)7T~iZR7=8|fY!ZV+6g4RIi`s;uDOPPwlokUN6hwhS!PdGYhh#O`rMnwIJB~A*
z-qZ`PJDururx(3&rUj?W)cgL9_DA%l?Q_mT2%|HwGkebNIq&E5KJPhy{`>nM0Q&KD
z6isM05Q?J(VS&@PP0RKzyL8<#-C}0P-=M5I7rOfd;>%{GyXcxL1Fkd$ddGH%y-}(9
zC~w-!rk9H$f~bL59QzO#NIWo?%}m9#OPPs<2eRM`gs)n*<@XCTr_wV9_6rhwW3|keMFFTGW-56RCjo<*4{(AM}-@kmX77oU72ps}3uk5T0T4u#538YhF+LO8B
zXYx*U$+4yF=Ylouead%fJ(nI;CXU2$6iI=$lJuu!g<;8}a?5yA=|IVHGHQkS9K&$~
zU2(jH69OGUs8-c1Ns5fBd2~YHNP$rKQvXlX{H2;thtjMHT-}VU0fSuNV>Pp7#?!Ka
zwMK1vKZVl<&cxA;w*`9kUI+n0C1*WmQir#aQs@j?RcU*cW7GIMNEt}S(Svsd+Uo$;
zMFb)=GHVt6vM$%4QaKmLc_km^)`+x9W#7Pi0{iRglg@(U$B9XsrmYLF`GV06+W~b}=
z25t&;)vFZYg6ZTmFVuPw|#m>Ae48C1hs9bwRq*
zDq1pN%qf_a8Pm1Y|K?)IFI%2K_a40D*#Anpn>0JUt30KnQ&!0~1J<;eI`!MqU3A>4
zEDD@xsCpwhLkcNkOMOj-pm`1jB-q(Hib6qG2-YE7)@{H=S5cp*$hMAd28PtSut`g8
zTHvj1k$`zSX)DkqS6SgeYA1nc?Z~!vW9hjQTGZ#*{<@+*#RLv$FO7$bK!C#@*eoDe
z#^c*gUx$s2TnG+rl3NSD=|E?IEd_^!Cm>V4S$H^ZE@?g(u(z5*A^n
zWPmh2t5$YTfS1LTQ*#SaDH6RM$Ed#c&MQOY?vP!mI390`ap{+xqJb5GlRL!UaQ*R^
zyd^z<#POI{eAH%#Yf28xV??+|XHljwADx0{)tW5$=5^EGBW%xsIy)5cv|
znuUkY@C0*sig|p8FEmcy@~S^aFSFbWQ}YV<=V4I4k6QEeGmI2Ir*xFIVz`GdIeL8W
z!=%Pj{k6caPBh-tk7&rm{{h)3`ZEIeR_2|UI_`e>#+a0bo)G0d=m
yCIeLit-^p~aE0^0O#>tUut*`gRt5A?;~c^=!&=oV%Xq}OoqLKf>N&;tG4Manwxb;Y
diff --git a/out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo2$1myCanvas.class b/out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo2$1myCanvas.class
deleted file mode 100644
index f2264cc357808fb07575dbd3c00297eec0ecc1e7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 867
zcmaiy%Wl&^6o&tkxN+>7#%&?xT1rX5Nh-o+8Pr9?rIA8G0tJcPB%UUN61%dUR6G_^
z0f_|j1)O&dj6CTs_*a0sQ(Vk#QqENNu0=PFRi
z0U_^IyB5|^GT}N{#|B|%8J@7B#$q4|+ntP@DviU*$%%}l-`3|`##LN1QFgF}>xA_z
z_;n;shpNwAS$-tW(rCgnZ;qP*+U>bAOOWbsd$EkBGHO;o5%#?0^Qd+SMl1BW@XVjab>}gncpUib(1GKheZ5YxQrS+7Fmt)0kVl7B~j*aGTfiEDCq9
z%{#zOY1|g>a*i46h&4@j>$P*xIj-dM^c|ZY=R`X_ucL(hOH?
zU()lYZY|{R)gJM>N72R%%kah-g6Yg`6rG5vh-)~61Vgtp*O$FKU*eXRpQw9=ZB2vdm#7*4B>|EHcIv!mmsFY=q6Zy
zzP|taa$Pw0Xy`>Bsrb`H-E0P(@Jc^lzVe|{PZ$HQ_i~-vJeX~mY2vRts;;e>q
zNHcV{IF)SEcIZln6ZE(rQgD^}Vgy+XsyMG9C*1lEN;O0K6K+Z0ioGl@&1)DEuAv2o
zb4zGOG+Y!KrDiU26{8HjEi}6`TsB;fTb#h1NgrI}%q&Ip(-$in7OyNeYutID*Gx)i
zqHNc7b5?f@A#W=c(LoHU17oK~iVQJbmi<0==541bl67*s0Q+`EQQ%>8b?-PZ>yS~^)9a6C^e5ZMqg8v+sq@>0;C6IRP2~HyAo59&r>weZyVQO&
z+-ukbIb7kcch`2QakXiSa$7QW*X1ty=>>+ta0x6P7q5^WW`IUJ3Z%U(pJ_m9qS?U>
zu+>Ly;sPDx*;@Fox@XES4af5S^_KZlYu6d?ip&a+^5(
zQP`Jh1QGicr*#0a-&IDkO~%*HT2~YC#9HFgc!>uPD!yXR8W%2
z2XYWTa`xHu&^|+>ko^p{j?){+tfAW%E=Zxn7lug?^nwud1}HTEC&=@7h6bL)zzaOa
zE0}l<3-9n$Qtu~wBGsb4O5e5{L^*`F1Y?3oPtti3;VlfQ=%PRC>}>DVw10>|L5U6n
ZxP>WN6?%6O+?JXw?$8>gK%ye_`w!d~H_re7
diff --git a/out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo2$3.class b/out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo2$3.class
deleted file mode 100644
index 9058f5c069fa656c21d8213e28e40bcab12b495c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1281
zcmah}TTc@~6#fPZ3w60zk-Jc_N-szYcrO>BKy1
zhE-mZ+$klSPV1r~=OYUYo!+70Mp9&*YcjaRJgxYg#BEPF6yTy^8QwBOdo)%E
zB7|!i26SA5F9*Jf-7S1KtbbHtuMc))7UFA#{<7{M|!&
zM43g;gfg;XON)|9XS1<_N+F?R26xHWb_9vBtOAodQVnpA;d!*>m84r*oV&DGf%G!6
zBpCW~h9$PDl>_1I@&l8QP)-)PS>TSL&UG-LT8kmlT4f>4&{I*@{z907yQ0J}ajpXA
z`oh26v!H>^-!`K
zR?(C$jZt2Bhms=e+7hn!OuE!$de*XplQFsL3RlBAL%fOTk|{bXDKRxh0%000ou;_0
zzhBK4KsybwLTL424h-}3l~E(Eka*$*EIxArE&d%>zWIg=^zI}>;4SXad$8_&9}noH
zXcQ$?0}t`2PWS}@pD>j;#nq+puNa9RgB@dtHjS_wv~HdvqR_Sz#OwR4Qf!A(9QDI|
zN8Ilz^ba%!A2E$jNaC{}Mfe{-8d0S17*9yO0|}(DNHH!E3&r&tlhk7LN2Zcq!Bg4;
Y)Ym;&^^sw$(H^4TR7up6p|t`01#Rs!vH$=8
diff --git a/out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo2.class b/out/production/PaintingBoard/PaintingBoard/PaintingBoardDemo2.class
deleted file mode 100644
index fd6c60d6d7e40a7521d5ac487d94822db594e112..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 3296
zcma)8{dXKy8Gi2WrkhTOHc3-TX@Ryjl5A48Uw}5Xm~1F4Y(m;#l0^k3*-0|EJG1W2
zCT&EtihLBoDqss3tyNL06k6F??IQJC1pfhl^c)e+@jvhfkIy^%kzG#DN%!o`d+&Yk
z`#H~h-}~{5x-9aV2(MAt(47$RXxgCgn46=H{+{vGxCU#(Sf`^6?Fw5*
z4a;`P8gz_YD%vy~GBeH|g_fC$-A-R!vp4;sZoQ69Y*5gQoM}8XVWr$T1r-<8Mjh7)
zYmLvk+q7oq+%T@MMiw;|+~}y2Eo6sHyP#ncf+BQ-jvH~4f}S<)n3HyL!d0l)ZL*eMb%vpLhWTM;Gq!{?W(+}%3%2sbp9E|{ya54VPKn~vM@35B(Fm;4B*VlXif
zyH}xY*{sj;Gq_(zzeugAMLgmxgz+hbEp;_k#+WsugN2zHlkUf5rr`kYkdOUoy44+z
z$17iVP)7_ywCIZ{+_-G<3QGD#%OM?i;cnWWHQl>%Mt07c&I^EgmPKpJzQ6bAxEBe9
z*4g^zhIBS<9no>0ARv^@nUj*!!#a-C7LsAyuMlZM-4!snV|V6Q%&_N;yoNE1OUM%n
zUEPV51c~=Bl8tB^vNEQfw;Wr;Bt9#eKF3Tkc|GHz`#~KK;bDHIyy=eSOy-)&9@4Uwieo%k#3!Gnu(=_u%G$7D6Nb5J627G4
zQSnWu%n>thEgJMr%HlB{UlDY-EX-Lh!#Iwwh4FPAkK-GSwOfM?VMPtqvRU6?v{Ek;
z>Tx`&<0(ANtut0SeZ-t*Kw&8XKe}f=dUB2$wwcy&LV`Pi=X88aWF@#kr(mb@VSKxq
zkoxg9Sa4m3CI38Y>tC0b-hb`1hLg}leo98qg>hP8`$`Dhv0K9_yevR_Md9#OKz2n?
zFIR(~_>)-D@qPS&sU-RarUgC;EAN`NNhoY@$e%e+97daW_!aWQs|jR}hBIL9w_-_7
z>YoVYUsdRCFi<;v8?jzrlk)nR2>radmg?uf@5(Q(#+AJq&f#TIcwWcrc!TxI(1)Eu
z-dv7+TZ3bj$eT9!)-GO+wS5{cRIC+scql1cTeCLoG-vzfE8A?|M#~D<#2h>C8n!!b
zuz3W5z$A+^Z_KlvH~6RSN08Xh`pF86YmKnZ_rXneDCVRny)I$d=13tkW#;ae3S=$F
zsgfQya+b`iiy?Q;;u*hvMYvIOYbs|f46wN?^sTtR0iKjh*O7SBaxb|e5P7JLIfdM`
zdB_r{H#Sw4e-*h!PAs02BWB(mHYGp?pvP?jJ(f1|d6U!DTBpD^_L=~1Rcrb1s^h|4xr)={+Ws~+P`>Rjc1bxa5=TkN|pI$=Qr*Gl6
zq>2x(bELfG1zzQ-g^O=QN>Gt90?CeW39F0HBkh67B04JMTCz4JOW0h*77n*2JGPgw
zqlm7`q{pB1RwlRjlU!I+RiyLzxK<-zpF!N=PJZ+V!LNyx(&gs$@72rVN|cMBfo
ztK3D>_(go#!&hY#3|4&d@I)CWxb>UEeeHOs{`c^#2=rBYitPyg0G5
zO>0ZFb+&bS`0ma!P9-C~CA{R}du5!FAkOX&QMPLnefkjxy|uxv+F*;YJ^WZgk}<=p
zk9WzqR~R0C%4D4Lwg1w?Yn)v0C%^LW<^_Jm050==4iUb)5F)nPv5qKeBW^mlx}KN6
zPGVyN4r3!P7@OF^uSWq}u!tMj1fy(PyYUjQjc2hJ=h+*}xD|iIZFrB8{~)^liT(Hw
zFN6Q(?Jt0XssneZ&Ai}sVLcW3mFHwlE(96VMt4
zAj!zU%D@IB1t!Naiq#7O#Xvj;pr{a#kfh0&8D9FGEBzd50eg**`kCQ==K?o=U
w(rgYk3@Emnfjx3N17|qG0Elhu3>-iRHbe|;3MYdwg9uP3BZDZAWMU8l0DT)15&!@I
--
Gitee
From 3a811fc57a9d01b27e5eed929181a8f80403301d Mon Sep 17 00:00:00 2001
From: gintoki <2967007834@qq.com>
Date: Sun, 22 May 2022 11:11:23 +0800
Subject: [PATCH 31/57] =?UTF-8?q?git=20add.=20git=20commit=20-m=20?=
=?UTF-8?q?=E2=80=9C=E5=AD=A6=E5=A4=96=E9=9D=A2=E7=9A=84=E4=BA=BA=E9=87=8D?=
=?UTF-8?q?=E5=86=99=E4=BA=86update=E6=96=B9=E6=B3=95=E4=B9=8B=E5=90=8E?=
=?UTF-8?q?=EF=BC=8C=E6=9E=9C=E7=84=B6=E6=B2=A1=E6=9C=89=E5=B1=8F=E9=97=AA?=
=?UTF-8?q?=E7=9A=84=E7=8E=B0=E8=B1=A1=E4=BA=86=EF=BC=8C=E8=80=8C=E4=B8=94?=
=?UTF-8?q?=E6=8A=8APaintingBoardDemo3=E6=8B=86=E5=BC=80=E6=88=90=E4=BA=86?=
=?UTF-8?q?=E4=B8=A4=E4=B8=AA=E6=96=87=E4=BB=B6=EF=BC=8C=E4=B8=80=E4=B8=AA?=
=?UTF-8?q?=E5=86=99canvas=E4=B8=80=E4=B8=AA=E5=86=99Jframe=EF=BC=8C?=
=?UTF-8?q?=E6=96=B9=E4=BE=BF=E6=97=A5=E5=90=8E=E4=BF=AE=E6=94=B9=E4=B9=9F?=
=?UTF-8?q?=E5=A5=BD=E7=9C=8B=E2=80=9D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
PaintingBoard/src/imageIcon.jpg | Bin 0 -> 47175 bytes
.../PaintingBoard/PaintingBoardCanvas.class | Bin 0 -> 808 bytes
.../PaintingBoardPictureFrame$1.class | Bin 0 -> 1530 bytes
.../PaintingBoardPictureFrame$2.class | Bin 0 -> 824 bytes
.../PaintingBoardPictureFrame.class | Bin 0 -> 2445 bytes
5 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 PaintingBoard/src/imageIcon.jpg
create mode 100644 out/production/PaintingBoard/PaintingBoard/PaintingBoardCanvas.class
create mode 100644 out/production/PaintingBoard/PaintingBoard/PaintingBoardPictureFrame$1.class
create mode 100644 out/production/PaintingBoard/PaintingBoard/PaintingBoardPictureFrame$2.class
create mode 100644 out/production/PaintingBoard/PaintingBoard/PaintingBoardPictureFrame.class
diff --git a/PaintingBoard/src/imageIcon.jpg b/PaintingBoard/src/imageIcon.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..c9f8c237c198264ea9a15d6acd912109fa4d2af0
GIT binary patch
literal 47175
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