Skip to content

Latest commit

 

History

History
52 lines (36 loc) · 2.13 KB

File metadata and controls

52 lines (36 loc) · 2.13 KB

Note application

This project is inspired by Microsoft OneNote, it's developed based on java swing-gui

Demo

https://www.youtube.com/watch?v=E0_bHdLtgGk

Prerequisite

This application should be run on Java 9 or above

External Library

Description

  • The outer component is ContentPane, all main component should be reside in here
  • If there is multiple ContentPane, then you can drag the tab to move the order of it
  • There is four main component can be added to this application, which are TextPane, TablePane, ImagePane, CanvasPane
  • Each of them can be dragged around within application, copy, cut, paste, and resized
  • Also resizing behavior will be slightly different depending on what component you're controlling

Components

TextPane

  • Bold, italic and underline
  • Foreground and background color
  • Font size and family

TablePane

TablePane is just a collection of TextPane, but the size of TextPane will be changed depending on it's content
  • The size of TextPane will be changed based on the percentage of max width of column
  • You can multi-select cells to be able to set text attributes at once

ImagePane

  • Corner draggable points can be dragged to resize the image, it will retain current image's ratio
  • North, south, east, west draggable points will break image's ratio, and new ratio will be recalculated

CanvasPane

  • Change line segments' thickness, color and position by multi-selecting or clicking
  • You can also erase them using eraser

ColorPane

  • select predefined colors
  • custom color can be generated by three slider, each represent R, G, B respetively

FileMenu

  • You can save file by clicking or using hotkey, the output file's extension should end with .note
  • File size should be quite small, because we only save important attributes like size, position, text attribute, image data, line segment points, etc