├── Component.PNG
├── FlatSwing.jar
├── src
└── com
│ └── mommoo
│ ├── resource
│ ├── img
│ │ ├── cat.png
│ │ ├── dog.png
│ │ ├── pig.png
│ │ ├── check.png
│ │ ├── frog.png
│ │ ├── girin.png
│ │ ├── left.png
│ │ ├── lion.png
│ │ ├── panda.png
│ │ ├── right.png
│ │ ├── sheep.png
│ │ ├── test.png
│ │ ├── tiger.png
│ │ ├── write.png
│ │ └── big_image.jpg
│ └── font
│ │ ├── NanumGothic.ttf
│ │ └── NanumGothicBold.ttf
│ ├── flat
│ ├── image
│ │ ├── ImageAlignment.java
│ │ ├── ImageOption.java
│ │ └── FlatImagePanel.java
│ ├── layout
│ │ ├── linear
│ │ │ ├── Orientation.java
│ │ │ ├── Alignment.java
│ │ │ ├── constraints
│ │ │ │ ├── LinearSpace.java
│ │ │ │ └── LinearConstraints.java
│ │ │ ├── LinearLayoutProperty.java
│ │ │ ├── ConstraintsFinder.java
│ │ │ └── Example.java
│ │ └── exception
│ │ │ └── MismatchException.java
│ ├── frame
│ │ ├── listener
│ │ │ ├── OnExitListener.java
│ │ │ ├── OnMinimizeListener.java
│ │ │ └── OnSizeChangeListener.java
│ │ ├── popup
│ │ │ └── OnItemClickListener.java
│ │ ├── FrameLocation.java
│ │ ├── titlebar
│ │ │ ├── navigation
│ │ │ │ ├── listener
│ │ │ │ │ ├── FocusLostListener.java
│ │ │ │ │ ├── FocusGainListener.java
│ │ │ │ │ ├── NavigationControlListener.java
│ │ │ │ │ └── MouseFocusAnimationListener.java
│ │ │ │ ├── button
│ │ │ │ │ ├── ViewModel.java
│ │ │ │ │ ├── NavigationButtonType.java
│ │ │ │ │ ├── SizeNavigationButton.java
│ │ │ │ │ ├── MiniMumNavigationButton.java
│ │ │ │ │ ├── ExitNavigationButton.java
│ │ │ │ │ ├── NavigationButtonFactory.java
│ │ │ │ │ ├── NavigationButton.java
│ │ │ │ │ └── NavigationButtonModel.java
│ │ │ │ └── controller
│ │ │ │ │ └── NavigationControlPanel.java
│ │ │ └── TitleLabel.java
│ │ ├── colorpicker
│ │ │ ├── GuideView.java
│ │ │ ├── HSB.java
│ │ │ ├── ColorConfirmView.java
│ │ │ ├── ColorApplyView.java
│ │ │ ├── HSB_View.java
│ │ │ └── ColorInfoView.java
│ │ ├── dialog
│ │ │ ├── DialogComponentInfo.java
│ │ │ └── DialogButtonInfo.java
│ │ ├── FlatColorPicker.java
│ │ ├── CommonJFrame.java
│ │ ├── CommonTitleBar.java
│ │ ├── ShadowPaintHandler.java
│ │ └── FlatPopUpList.java
│ ├── list
│ │ ├── model
│ │ │ ├── onComputeScroll.java
│ │ │ └── SelectionModel.java
│ │ ├── listener
│ │ │ ├── FlatScrollListener.java
│ │ │ ├── OnDragListener.java
│ │ │ └── OnSelectionListener.java
│ │ ├── MouseEventFactory.java
│ │ ├── CompIndexList.java
│ │ └── SelectionRange.java
│ ├── component
│ │ ├── pager
│ │ │ ├── FlatTabAlignment.java
│ │ │ ├── OnPageEventListener.java
│ │ │ ├── OnPageSelectedListener.java
│ │ │ ├── FlatAnimator.java
│ │ │ ├── FlatPageColor.java
│ │ │ ├── FlatTabIndicator.java
│ │ │ ├── FlatPageSlider.java
│ │ │ ├── FlatTabPanel.java
│ │ │ └── FlatPage.java
│ │ ├── OnLayoutListener.java
│ │ ├── OnClickListener.java
│ │ ├── OnPaintListener.java
│ │ ├── OnPositionClickListener.java
│ │ ├── MouseClickAdapter.java
│ │ ├── seekbar
│ │ │ ├── FlatSeekBarColor.java
│ │ │ └── FlatSeekBarHandle.java
│ │ ├── FlatMouseAdapter.java
│ │ └── PaddingWrapPanel.java
│ ├── text
│ │ ├── textarea
│ │ │ ├── alignment
│ │ │ │ ├── FlatVerticalAlignment.java
│ │ │ │ └── FlatHorizontalAlignment.java
│ │ │ ├── AutoResizeModel.java
│ │ │ ├── EditorListener.java
│ │ │ ├── ContentsBounds.java
│ │ │ ├── FlatCaret.java
│ │ │ └── FlatWrapEditorKit.java
│ │ ├── textfield
│ │ │ ├── format
│ │ │ │ ├── FlatTextFormat.java
│ │ │ │ └── FormattedDocument.java
│ │ │ ├── NormalTextField.java
│ │ │ ├── PasswordTextField.java
│ │ │ ├── TextFieldProxy.java
│ │ │ └── FlatGuideTextPanel.java
│ │ └── label
│ │ │ └── FlatLabel.java
│ ├── button
│ │ ├── ButtonViewModel.java
│ │ ├── ripple
│ │ │ ├── RippleModel.java
│ │ │ └── RippleEffect.java
│ │ ├── ButtonEventRepository.java
│ │ └── FlatAreaMouseLocation.java
│ ├── border
│ │ └── FlatEmptyBorder.java
│ ├── select
│ │ ├── HoverColorChangeListener.java
│ │ ├── CheckBox.java
│ │ └── FlatCheckBox.java
│ └── utils
│ │ └── FlatColor.java
│ ├── animation
│ ├── timeInterpolator
│ │ ├── LinearTimeInterpolator.java
│ │ ├── AccelerateInterpolator.java
│ │ ├── AnticipateInterpolator.java
│ │ ├── OvershootInterpolator.java
│ │ └── TimeInterpolator.java
│ ├── AnimationListener.java
│ └── AnimationAdapter.java
│ ├── util
│ ├── ComponentUtils.java
│ ├── CursorType.java
│ ├── ColorManager.java
│ ├── ImageUtils.java
│ ├── KeyManager.java
│ ├── FontManager.java
│ ├── ScreenManager.java
│ ├── ImageManager.java
│ ├── FastGaussianBlur.java
│ ├── StringUtils.java
│ └── RXTextUtilities.java
│ └── helper
│ └── ClassUtils.java
├── .idea
├── encodings.xml
├── libraries
│ └── src.xml
├── vcs.xml
├── modules.xml
├── misc.xml
└── artifacts
│ └── FlatSwing_jar.xml
├── FlatSwing.iml
├── LICENSE
└── README.md
/Component.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mommoo/FlatSwing/HEAD/Component.PNG
--------------------------------------------------------------------------------
/FlatSwing.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mommoo/FlatSwing/HEAD/FlatSwing.jar
--------------------------------------------------------------------------------
/src/com/mommoo/resource/img/cat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mommoo/FlatSwing/HEAD/src/com/mommoo/resource/img/cat.png
--------------------------------------------------------------------------------
/src/com/mommoo/resource/img/dog.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mommoo/FlatSwing/HEAD/src/com/mommoo/resource/img/dog.png
--------------------------------------------------------------------------------
/src/com/mommoo/resource/img/pig.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mommoo/FlatSwing/HEAD/src/com/mommoo/resource/img/pig.png
--------------------------------------------------------------------------------
/src/com/mommoo/resource/img/check.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mommoo/FlatSwing/HEAD/src/com/mommoo/resource/img/check.png
--------------------------------------------------------------------------------
/src/com/mommoo/resource/img/frog.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mommoo/FlatSwing/HEAD/src/com/mommoo/resource/img/frog.png
--------------------------------------------------------------------------------
/src/com/mommoo/resource/img/girin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mommoo/FlatSwing/HEAD/src/com/mommoo/resource/img/girin.png
--------------------------------------------------------------------------------
/src/com/mommoo/resource/img/left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mommoo/FlatSwing/HEAD/src/com/mommoo/resource/img/left.png
--------------------------------------------------------------------------------
/src/com/mommoo/resource/img/lion.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mommoo/FlatSwing/HEAD/src/com/mommoo/resource/img/lion.png
--------------------------------------------------------------------------------
/src/com/mommoo/resource/img/panda.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mommoo/FlatSwing/HEAD/src/com/mommoo/resource/img/panda.png
--------------------------------------------------------------------------------
/src/com/mommoo/resource/img/right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mommoo/FlatSwing/HEAD/src/com/mommoo/resource/img/right.png
--------------------------------------------------------------------------------
/src/com/mommoo/resource/img/sheep.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mommoo/FlatSwing/HEAD/src/com/mommoo/resource/img/sheep.png
--------------------------------------------------------------------------------
/src/com/mommoo/resource/img/test.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mommoo/FlatSwing/HEAD/src/com/mommoo/resource/img/test.png
--------------------------------------------------------------------------------
/src/com/mommoo/resource/img/tiger.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mommoo/FlatSwing/HEAD/src/com/mommoo/resource/img/tiger.png
--------------------------------------------------------------------------------
/src/com/mommoo/resource/img/write.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mommoo/FlatSwing/HEAD/src/com/mommoo/resource/img/write.png
--------------------------------------------------------------------------------
/src/com/mommoo/resource/img/big_image.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mommoo/FlatSwing/HEAD/src/com/mommoo/resource/img/big_image.jpg
--------------------------------------------------------------------------------
/src/com/mommoo/resource/font/NanumGothic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mommoo/FlatSwing/HEAD/src/com/mommoo/resource/font/NanumGothic.ttf
--------------------------------------------------------------------------------
/src/com/mommoo/resource/font/NanumGothicBold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mommoo/FlatSwing/HEAD/src/com/mommoo/resource/font/NanumGothicBold.ttf
--------------------------------------------------------------------------------
/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/image/ImageAlignment.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.image;
2 |
3 | public enum ImageAlignment {
4 | START,
5 | CENTER,
6 | END
7 | }
8 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/layout/linear/Orientation.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.layout.linear;
2 |
3 | public enum Orientation {
4 | VERTICAL,
5 | HORIZONTAL;
6 | }
7 |
--------------------------------------------------------------------------------
/.idea/libraries/src.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/frame/listener/OnExitListener.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.frame.listener;
2 |
3 | public interface OnExitListener {
4 | public void onExit();
5 | }
6 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/layout/linear/Alignment.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.layout.linear;
2 |
3 | public enum Alignment {
4 | START,
5 | CENTER,
6 | END;
7 | }
8 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/list/model/onComputeScroll.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.list.model;
2 |
3 | public interface onComputeScroll {
4 | public void onScrollWhenPainting();
5 | }
6 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/component/pager/FlatTabAlignment.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.component.pager;
2 |
3 | public enum FlatTabAlignment {
4 | START,
5 | CENTER,
6 | END;
7 | }
8 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/component/pager/OnPageEventListener.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.component.pager;
2 |
3 | public interface OnPageEventListener {
4 | public void onSelected();
5 | }
6 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/frame/listener/OnMinimizeListener.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.frame.listener;
2 |
3 | public interface OnMinimizeListener {
4 | public void onMinimize();
5 | }
6 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/list/listener/FlatScrollListener.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.list.listener;
2 |
3 | public interface FlatScrollListener {
4 | public void onDrag(int scrollSensitivity);
5 | }
6 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/component/OnLayoutListener.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.component;
2 |
3 | public interface OnLayoutListener {
4 | public void onLayout(int availableWidth, int availableHeight);
5 | }
6 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/component/OnClickListener.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.component;
2 |
3 | import java.awt.*;
4 |
5 | public interface OnClickListener {
6 | public void onClick(Component component);
7 | }
8 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/frame/popup/OnItemClickListener.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.frame.popup;
2 |
3 | public interface OnItemClickListener {
4 | public void onItemClick(int position, String message);
5 | }
6 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/text/textarea/alignment/FlatVerticalAlignment.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.text.textarea.alignment;
2 |
3 | public enum FlatVerticalAlignment {
4 | TOP,
5 | CENTER,
6 | BOTTOM
7 | }
8 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/component/OnPaintListener.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.component;
2 |
3 | import java.awt.*;
4 |
5 | public interface OnPaintListener {
6 | public void onPaint(Graphics2D graphics2D);
7 | }
8 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/frame/FrameLocation.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.frame;
2 |
3 | public enum FrameLocation{
4 | NONE,
5 | CENTER_AT_SCREEN,
6 | CENTER_AT_COMPONENT,
7 | RELATIVE_AT_COMPONENT;
8 | }
9 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/frame/titlebar/navigation/listener/FocusLostListener.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.frame.titlebar.navigation.listener;
2 |
3 | public interface FocusLostListener {
4 | public void lost();
5 | }
6 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/list/model/SelectionModel.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.list.model;
2 |
3 | public interface SelectionModel {
4 | public int getItemSize();
5 | public boolean isSingleSelectionMode();
6 | }
7 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/button/ButtonViewModel.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.button;
2 |
3 | public interface ButtonViewModel {
4 | public void repaint();
5 | public int getWidth();
6 | public int getHeight();
7 | }
8 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/image/ImageOption.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.image;
2 |
3 | public enum ImageOption{
4 | MATCH_PARENT,
5 | MATCH_WIDTH_KEEP_RATIO,
6 | MATCH_HEIGHT_KEEP_RATIO,
7 | BASIC_IMAGE_SIZE
8 | }
9 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/component/pager/OnPageSelectedListener.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.component.pager;
2 |
3 | @FunctionalInterface
4 | public interface OnPageSelectedListener {
5 | public void onPageSelected(int index);
6 | }
7 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/frame/titlebar/navigation/button/ViewModel.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.frame.titlebar.navigation.button;
2 |
3 | public interface ViewModel {
4 | public int getWidth();
5 | public int getHeight();
6 | }
7 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/component/OnPositionClickListener.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.component;
2 |
3 | import java.awt.*;
4 |
5 | public interface OnPositionClickListener {
6 | public void onClick(int position, Component target);
7 | }
8 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/text/textfield/format/FlatTextFormat.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.text.textfield.format;
2 |
3 | public enum FlatTextFormat {
4 | NUMBER_DECIMAL,
5 | TEXT,
6 | HEX_COLOR,
7 | SPECIAL_CHARACTER;
8 | }
9 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/frame/listener/OnSizeChangeListener.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.frame.listener;
2 |
3 | import java.awt.*;
4 |
5 | public interface OnSizeChangeListener {
6 | public void onSizeChanged(Dimension size, Point location);
7 | }
8 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/frame/titlebar/navigation/listener/FocusGainListener.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.frame.titlebar.navigation.listener;
2 |
3 | /**
4 | * Created by mommoo on 2017-07-13.
5 | */
6 | public interface FocusGainListener {
7 | public void gain();
8 | }
9 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/layout/linear/constraints/LinearSpace.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.layout.linear.constraints;
2 |
3 | public enum LinearSpace implements Cloneable{
4 | WRAP_CONTENT,
5 | WRAP_CENTER_CONTENT,
6 | WRAP_END_CONTENT,
7 | MATCH_PARENT;
8 | }
9 |
--------------------------------------------------------------------------------
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/src/com/mommoo/animation/timeInterpolator/LinearTimeInterpolator.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.animation.timeInterpolator;
2 |
3 | public class LinearTimeInterpolator extends TimeInterpolator{
4 | @Override
5 | public double getFactor(double percent) {
6 | return percent;
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/frame/titlebar/navigation/button/NavigationButtonType.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.frame.titlebar.navigation.button;
2 |
3 | /**
4 | * Created by mommoo on 2017-07-13.
5 | */
6 | public enum NavigationButtonType {
7 | MINI,
8 | SIZE,
9 | EXIT;
10 | }
11 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/layout/exception/MismatchException.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.layout.exception;
2 |
3 | public class MismatchException extends Exception{
4 | public MismatchException() {
5 | super("Sum of component's weight isn't bigger than layout weightSum");
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/layout/linear/LinearLayoutProperty.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.layout.linear;
2 |
3 | interface LinearLayoutProperty {
4 | public Orientation getOrientation();
5 | public Alignment getAlignment();
6 | public int getGap();
7 | public int getWeightSum();
8 | }
9 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/list/listener/OnDragListener.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.list.listener;
2 |
3 | import java.awt.*;
4 | import java.util.List;
5 |
6 | public interface OnDragListener {
7 | public void onDrag(int beginIndex, int endIndex, List selectionList);
8 | }
9 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/text/textarea/AutoResizeModel.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.text.textarea;
2 |
3 | import java.awt.*;
4 |
5 | public interface AutoResizeModel {
6 | public String getText();
7 | public FontMetrics getFontMetrics();
8 | public float getLineSpacing();
9 | }
10 |
--------------------------------------------------------------------------------
/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/com/mommoo/animation/timeInterpolator/AccelerateInterpolator.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.animation.timeInterpolator;
2 |
3 | public class AccelerateInterpolator extends TimeInterpolator{
4 | @Override
5 | public double getFactor(double percent) {
6 | return Math.pow(percent, 3);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/src/com/mommoo/animation/AnimationListener.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.animation;
2 |
3 | import java.util.List;
4 |
5 | public interface AnimationListener {
6 | public void onStart();
7 | public void onAnimation(List resultList);
8 | public void onStop();
9 | public void onEnd();
10 | }
11 |
--------------------------------------------------------------------------------
/.idea/artifacts/FlatSwing_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | $PROJECT_DIR$/out/artifacts/FlatSwing_jar
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/list/listener/OnSelectionListener.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.list.listener;
2 |
3 | import java.awt.*;
4 | import java.util.List;
5 |
6 | @FunctionalInterface
7 | public interface OnSelectionListener{
8 | public void onSelection(int beginIndex, int endIndex, List selectionList);
9 | }
10 |
--------------------------------------------------------------------------------
/src/com/mommoo/animation/timeInterpolator/AnticipateInterpolator.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.animation.timeInterpolator;
2 |
3 | public class AnticipateInterpolator extends TimeInterpolator{
4 | private static final float TENSION = 2.0f;
5 |
6 | @Override
7 | public double getFactor(double percent) {
8 | return percent * percent * ((TENSION + 1) * percent - TENSION);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/component/pager/FlatAnimator.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.component.pager;
2 |
3 | import com.mommoo.animation.Animator;
4 | import com.mommoo.animation.timeInterpolator.AccelerateInterpolator;
5 |
6 | abstract class FlatAnimator extends Animator {
7 | FlatAnimator(){
8 | setTimeInterpolator(new AccelerateInterpolator());
9 | setDuration(150);
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/frame/titlebar/navigation/listener/NavigationControlListener.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.frame.titlebar.navigation.listener;
2 |
3 |
4 | import com.mommoo.flat.frame.titlebar.navigation.button.NavigationButtonType;
5 |
6 | /**
7 | * Created by mommoo on 2017-07-13.
8 | */
9 | public interface NavigationControlListener {
10 | public void onNavigationClick(NavigationButtonType buttonType);
11 | }
12 |
--------------------------------------------------------------------------------
/src/com/mommoo/animation/timeInterpolator/OvershootInterpolator.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.animation.timeInterpolator;
2 |
3 | public class OvershootInterpolator extends TimeInterpolator{
4 | private static final float TENSION = 2.0f;
5 | @Override
6 | public double getFactor(double percent) {
7 | percent -= 1.0f;
8 | return percent * percent * ((TENSION + 1) * percent + TENSION) + 1.0f;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/button/ripple/RippleModel.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.button.ripple;
2 |
3 | import java.awt.*;
4 | import java.awt.event.ActionEvent;
5 | import java.util.List;
6 | import java.util.function.Consumer;
7 |
8 | public interface RippleModel {
9 | public boolean isOnEventLaterEffect();
10 | public int getRippleDuration();
11 | public int getRippleHoldDuration();
12 | public Color getRippleColor();
13 | public float getRippleColorOpacity();
14 | }
15 |
--------------------------------------------------------------------------------
/src/com/mommoo/animation/AnimationAdapter.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.animation;
2 |
3 | import java.util.List;
4 |
5 | public class AnimationAdapter implements AnimationListener{
6 | @Override
7 | public void onStart() {
8 |
9 | }
10 |
11 | @Override
12 | public void onAnimation(List resultList) {
13 |
14 | }
15 |
16 | @Override
17 | public void onStop() {
18 |
19 | }
20 |
21 | @Override
22 | public void onEnd() {
23 |
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/com/mommoo/util/ComponentUtils.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.util;
2 |
3 | import java.awt.*;
4 |
5 | public class ComponentUtils {
6 | private ComponentUtils(){
7 |
8 | }
9 |
10 | public static Dimension getAvailableSize(Container comp){
11 | Insets insets = comp.getInsets();
12 | return new ComputableDimension(comp.getSize())
13 | .subDimension(insets.left, insets.top)
14 | .subDimension(insets.right, insets.bottom);
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/text/textarea/EditorListener.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.text.textarea;
2 |
3 | import com.mommoo.flat.text.textarea.alignment.FlatVerticalAlignment;
4 |
5 | import java.awt.*;
6 | import java.util.function.IntConsumer;
7 |
8 | public interface EditorListener {
9 | public FlatVerticalAlignment getVerticalAlignment();
10 | public boolean isLineWrap();
11 | public boolean isWrapStyleWord();
12 | public int getViewHeight();
13 | public int getContentsHeight();
14 | }
15 |
--------------------------------------------------------------------------------
/FlatSwing.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/border/FlatEmptyBorder.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.border;
2 |
3 | import javax.swing.border.EmptyBorder;
4 | import java.awt.*;
5 |
6 | public class FlatEmptyBorder extends EmptyBorder{
7 | public FlatEmptyBorder(int top, int left, int bottom, int right) {
8 | super(top, left, bottom, right);
9 | }
10 |
11 | public FlatEmptyBorder(Insets borderInsets) {
12 | super(borderInsets);
13 | }
14 |
15 | public FlatEmptyBorder(int padding){
16 | super(padding, padding, padding, padding);
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/src/com/mommoo/util/CursorType.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.util;
2 |
3 | import java.awt.*;
4 |
5 | public enum CursorType {
6 | DEFAULT,
7 | HAND;
8 |
9 | private static final Cursor DEFAULT_CURSOR = new Cursor(Cursor.DEFAULT_CURSOR);
10 | private static final Cursor HAND_CURSOR = new Cursor(Cursor.HAND_CURSOR);
11 |
12 | public Cursor getCursor(){
13 |
14 | switch(this) {
15 | case DEFAULT : return DEFAULT_CURSOR;
16 | case HAND : return HAND_CURSOR;
17 | }
18 |
19 | return DEFAULT_CURSOR;
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/com/mommoo/animation/timeInterpolator/TimeInterpolator.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.animation.timeInterpolator;
2 |
3 | public abstract class TimeInterpolator {
4 | private double targetDelta;
5 |
6 | public abstract double getFactor(double percent);
7 |
8 | public double getTargetDelta() {
9 | return targetDelta;
10 | }
11 |
12 | public void setTargetDelta(double targetDelta) {
13 | this.targetDelta = targetDelta;
14 | }
15 |
16 | public double getValue(double percent){
17 | return targetDelta * getFactor(percent);
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/com/mommoo/flat/button/ButtonEventRepository.java:
--------------------------------------------------------------------------------
1 | package com.mommoo.flat.button;
2 |
3 | import java.awt.event.ActionEvent;
4 | import java.util.*;
5 | import java.util.function.Consumer;
6 |
7 | class ButtonEventRepository {
8 | private Map