๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿš— Major Study (Bachelor)/๐ŸŸ  JAVA Programming40

setLineWrap, setEditable, setText Numberformat (JAVA 13.5) TEXT IO for GUI JFrame์„ extends ํ•ด์„œ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ ๋‹ค. ActionListener๋ฅผ implements ํ•œ๋‹ค. JTextArea๋Š” ์—ฌ๋Ÿฌ ์ค„ ์งœ๋ฆฌ!! getContentPane์„ ํ†ตํ•ด ํ™•๋ณดํ•˜๊ณ  BorderLayout์œผ๋กœ ์ •๋ ฌ์„ ํ•œ๋‹ค. Line wrapping Text Area true์ด๋ฉด ๋” ๊ธด ๋ผ์ธ์„ ์ž…๋ ฅํ•˜๋ฉด ๋‚ด๋ ค์˜ค๊ฒŒ ํ•ด์ค€๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์˜†์œผ๋กœ ๋„“์–ด์ง„๋‹ค. ๋ชจ์–‘์„ ์œ ์ง€ํ•˜๊ณ  ์‹ถ์œผ๋ฉด true๋กœ ์„ค์ •ํ•ด์•ผ width๋ฅผ ๋„˜์–ด๊ฐ”์„ ๋•Œ๋„ ์•„๋ž˜๋กœ ์ž๋™์œผ๋กœ ๋‚ด๋ ค์˜ค๊ฒŒ ํ•ด์ค€๋‹ค. ReadOnly Text Component setEditable(false)๋กœ ํ•˜๋ฉด ๊ฐ’์ด ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๊ณ  true๋กœ ํ•˜๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค. JFrame์„ extendsํ•˜๊ณ  ActionListener๋ฅผ implemen.. 2021. 12. 16.
Container Class, JFrame(JAVA 13.4) Container Classes Container๋ž€ Component๋ฅผ ๋‹ด๋Š” ๊ทธ๋ฆ‡์ด๋‹ค. add๋ฅผ ํ†ตํ•ด์„œ Component๋ฅผ Container์— ๋‹ด๊ฒŒ ๋œ๋‹ค. JPanel Container ContentPane๋„ ๋ชจ๋‘ Container์ด๋‹ค. Class Container JComponent์˜ Child ํด๋ž˜์Šค์ด๋‹ค. Frame์ด Container์˜ ์†์„ฑ์„ ๋ฐ›์•„์„œ ์กด์žฌํ•œ๋‹ค. JComponent์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒƒ๋“ค์ด ์žˆ๊ณ  ์•„๊นŒ ๋งํ•œ Container์— ๋“ค์–ด๊ฐ€๊ฒŒ ๋œ๋‹ค. JPanel์€ Component์˜ ํŠน์ง•๋„ ์žˆ๊ณ  Container์˜ ํŠน์ง•๋„ ์žˆ๋‹ค(********) JFrame์„ extends ํ•ด์„œ ๋งŒ๋“ ๋‹ค. getContentpane์„ ๋„์ง‘์–ด๋‚ด์„œ contentPane ๋ณ€์ˆ˜์— ๋„ฃ๋Š”๋‹ค. ํƒ€์ž…์€ Content๊ฐ€ ๋œ๋‹ค. se.. 2021. 12. 16.
BorderLayout, FlowLayout, GridLayout(JAVA 13.3) ์ฃผ์–ด์ง„ container์—์„œ ๋ฌด์—‡์ธ๊ฐ€(component)๋ฅผ ์˜ฌ๋ ค๋†“์„ ๋•Œ(add) ๊ทธ๊ฒƒ๋“ค์„ ๋ฐฐ์น˜ํ•˜๋Š” ์ „๋žต์— ๋Œ€ํ•œ ๊ฒƒ์„ ๋‹ค๋ฃฌ๋‹ค. Container๋งˆ๋‹ค ์ƒˆ๋กœ์šด ๊ฒƒ์„ ์ง€์ •ํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค. BorderLayout์€ ๋™์„œ๋‚จ๋ถ์„ ์„ค์ •ํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค. Container content = getContentPane();์œผ๋กœ ์„ค์ •ํ•ด์คŒ. content.setLayout(new BorderLayout()) ์œผ๋กœ ํ•˜๊ณ  NORTH CENTER SOUTH๋กœ ํ•œ๋‹ค. FlowLayout์€ ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ํ๋ฅผ ์ˆ˜ ์žˆ๋„๋ก ์„ค์ • content.setLayout(new FlowLayout())์„ ํ•ด์„œ label์„ ๊ณ„์† add ํ•œ๋‹ค. GridLayout์€ row์™€ column๋“ค์„ ๋งŒ๋“ค์–ด์ค€๋‹ค. ๋นˆ ๊ณต๊ฐ„๋„ ์ ์ ˆํžˆ ๋„ฃ์–ด์ฃผ๋ฉด ์›ํ•˜๋Š” ๊ณณ์— ์ ์ ˆํžˆ ๋ฐฐ.. 2021. 12. 16.
Swing, WindowDestroyer, WindowAdapter(JAVA 13.2) Basic Swing Detail import javax.swing.JFrame JFrame์œผ๋กœ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  setSize๋ฅผ ํ†ตํ•ด ์‚ฌ์ด์ฆˆ๋ฅผ ์„ค์ •ํ•ด์ค€๋‹ค. Label์„ ์œˆ๋„์šฐ ์œ„์—๋‹ค๊ฐ€ ์˜ฌ๋ ค์ฃผ๊ฒŒ ๋œ๋‹ค. getContentPane์ด๋ผ๋Š” ๊ฒƒ์ด ์žˆ๋Š”๋ฐ Window์— ๋‹ด๋Š” ContentPane์„ ํ•˜๊ณ  add๋ฅผ ํ†ตํ•ด ํ•˜๋‚˜์”ฉ ๋‹ด๊ฒŒ ๋œ๋‹ค. WindowDestroyer๋ฅผ ํ†ตํ•ด ์œˆ๋„์šฐ ์ฐฝ์„ ๋‹ซ๊ฒŒ ๋ ๋•Œ์˜ ์ด๋ฒคํŠธ๋ฅผ ๋ฐ›๊ฒŒ ๋œ๋‹ค. addWindowListener๋ฅผ ํ†ตํ•ด์„œ WindowDestroyer๋ฅผ JFrame๊ณผ ์—ฐ๊ฒฐ์‹œํ‚จ๋‹ค. setVisible(true)๋ฅผ ํ†ตํ•ด์„œ ๋ณด์—ฌ์ค˜๋ผ ๋ผ๋Š” ๊ฒƒ์ด ๋œ๋‹ค. myWindow์—์„œ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด myListenerํ•œํ…Œ ๊ฐ€๋ผ๋Š” ๊ฒƒ WindowDestroyer ํด๋ž˜์Šค์—์„œ WindowAdapter.. 2021. 12. 16.
Swing, GUI, Event Driven Programming(JAVA 13.1) Swing Window Library ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋ชจ์•„๋‘” ๊ฒƒ. AWT ๊ตฌ๋ฒ„์ „ ์ด ์žˆ๊ณ  Swing์˜ ์—…๊ทธ๋ ˆ์ด๋“œ ๋ฒ„์ „์ด JAVAFX์ด๋‹ค. GUI Window Menu Button๋“ค์ด GUI๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ์žˆ๋Š” ๊ธฐ๋ณธ์ ์ธ ์š”์†Œ์ด๋‹ค. Event Driven Programm Firing an event : ์ด๋ฒคํŠธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๋Š” ๊ฒƒ Lisetener ๋Š” ์˜ค๋ธŒ์ ํŠธ์ด๊ณ  ์ด๋ฒคํŠธ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ๋‹ค. Event Handler๋Š” ๋ฉ”์†Œ๋“œ์ด๊ณ  ์ด๋ฒคํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. Component์—์„œ Event๋ฅผ Firing ํ•˜๊ณ  ๊ทธ ์ด๋ฒคํŠธ๋ฅผ Listener์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด๋‹ค. Component: ๋ฒ„ํŠผ์—์„œ ์ด๋ฒคํŠธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚จ๋‹ค. 2021. 12. 16.
JAVA ํ”„๋กœ๊ทธ๋ž˜๋ฐ 17.2์žฅ Reserved Keyword Java Reserved word์— ๋Œ€ํ•œ ๊ฒƒ Reserve๋Š” ๋ฌธ๋ฒ•์„ ์œ„ํ•˜์—ฌ define๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ์šฉ๋„๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. assert assertion: T F๋ฅผ ํŒ๋‹จํ•˜๋Š” ๊ณผ์ •, ์ž˜๋ชป๋œ ์ƒํ™ฉ์— ์ฒ˜ํ–ˆ๋Š”์ง€ ํŒ๋‹จํ•˜๊ธฐ ์œ„ํ•จ ๋กœ์ง์„ ๊ตฌ์„ฑํ•œ๋‹ค๊ธฐ ๋ณด๋‹ค ์กฐ๊ฑด์„ ํŒŒ์•…ํ•ด์„œ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ฌด์—‡์ธ๊ฐ€ ์ž˜๋ชป๋˜์—ˆ์Œ์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•œ ๋””๋ฒ„๊น…์— ๊ด€์—ฌํ•œ๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. while์ด ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— n์ด 1์ด ๋˜์–ด์•ผ ํ•œ๋‹ค๋Š” ์กฐ๊ฑด์ด ์žˆ๋‹ค๋ฉด ์ด ์กฐ๊ฑด์„ ํŒ๋‹จํ•ด์•ผ ํ•œ๋‹ค. while ๋ฃจํ”„๊ฐ€ ๋๋‚˜๊ณ  ๋‚˜๋ฉด n >= limit์ด๋ผ๋Š” ์กฐ๊ฑดํ•˜์— ์ข…๋ฃŒ๊ฐ€ ๋˜๋Š”๋ฐ ์ด ์กฐ๊ฑด์ด ๋งž๋Š” ๊ฒƒ์ธ์ง€ ํ™•์ธ๋˜๋Š” ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค. ์ฆ‰ while์ด ๋๋‚ฌ๋Š”๋ฐ n =0 : this.count assertTest1 1์”ฉ ์ฆ๊ฐ€์‹œ์ผœ์•ผ ํ•˜๋Š”๋ฐ 2์”ฉ ์ฆ๊ฐ€์‹œํ‚ด assert val==1 .. 2021. 12. 12.
JAVA ํ”„๋กœ๊ทธ๋ž˜๋ฐ 17.1์žฅ Cloning Clone ํ•œ๋‹ค๋Š” ๊ฒƒ์€ Object๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ. Instance ๋ณ€์ˆ˜์— ๊ฐ’์ด ํ• ๋‹น๋˜์–ด ๋งŒ๋“ค์–ด์ง€๋Š” ํ•˜๋‚˜์˜ ์˜ค๋ธŒ์ ํŠธ Exact๋ผ๋Š” ๊ฒƒ์€ ์›๋ž˜ ์˜ค๋ธŒ์ ํŠธ๊ฐ€ ๊ฐ€์ง€๊ณ  ์ž‡๋˜ ๋ฐ์ดํ„ฐ ๊ฐ’๋“ค์„ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ์˜ค๋Š” ๋ณต์ œ๋ฅผ ๋งํ•œ๋‹ค, Copy๋ผ๋Š” ๊ฒƒ์€ ์ด์ชฝ Object๋ฅผ ๊ฐ€์ง€๊ณ  ๋ณ„๋„์˜ ๋‹ค๋ฅธ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ํ•˜๋‚˜ ๋” ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์˜ค๋ธŒ์ ํŠธ๋ฅผ Copy ํ•˜๋Š” ๊ฒƒ์„ Clone ์ด๋ผ๊ณ  ํ•œ๋‹ค. ๋งจ ๊ผญ๋Œ€๊ธฐ ํด๋ž˜์Šค๋Š” Object์ธ๋ฐ ์ด๊ฒƒ์€ ์ด๋ฏธ ๊ตฌํ˜„๋œ Clone์ด ์กด์žฌํ•˜๊ณ  ์šฐ๋ฆฌ๋Š” ๋ฐ‘์—์„œ ๊ตฌํ˜„๋œ ํด๋ž˜์Šค๋ฅผ Override ํ•˜๋Š” ๊ฐœ๋…์œผ๋กœ ์‚ฌ์šฉ์„ ํ•˜๊ฒŒ ๋œ๋‹ค. ๋ณดํ†ต ํ•˜๋‚˜์˜ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค๋ฉด ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฉ”์†Œ๋“œ๊ฐ€ ์žˆ๋Š”๋ฐ Equals, Clone ๋ฉ”์†Œ๋“œ๋“ฑ์„ Override ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ArrayList ์•ˆ์—๋Š” Clone ๋ฉ”์†Œ๋“œ๊ฐ€ ์ด๋ฏธ ๋งŒ๋“ค์–ด์ ธ ์žˆ๋‹ค... 2021. 12. 12.
JAVA ํ”„๋กœ๊ทธ๋ž˜๋ฐ 16์žฅ Thread Thread concurrent ๋ฅผ multithread ๋ผ๊ณ  ํ‘œํ˜„ํ•œ๋‹ค. Thread ๋ผ๋Š” ๊ฒƒ์€ squencial ํ•œ ํ”„๋กœ๊ทธ๋žจ์„ ๋งํ•œ๋‹ค. ๋…ผ๋ฆฌ์ ์œผ๋กœ ํ•˜๋‚˜์˜ flow ํ•˜๋‚˜์˜ task๋งŒ ์ง„ํ–‰์ด ๋œ๋‹ค ์ฆ‰ single threaded program์ด๋ผ๊ณ  ํ•œ๋‹ค. multithreaded program์ด๋ผ๊ณ  ํ•˜๋ฉด ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋…ผ๋ฆฌ์  flow๊ฐ€ ์ง„ํ–‰๋˜๋Š” ์ƒํ™ฉ์„ ์–˜๊ธฐํ•œ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋„์ค‘ ์—ฌ๋Ÿฌ ๊ฐœ์˜ task๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์„ ์–˜๊ธฐํ•œ๋‹ค. CPU ์ฐจ์›์—์„œ ๋ดค์„ ๋•Œ๋Š” ํ•˜๋‚˜๊ฐ€ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์ด์ง€๋งŒ OS ์ฐจ์›์—์„œ ๋ดค์„ ๋•Œ๋Š” Multi Reactive system์ธ ๊ฒฝ์šฐ ์—ฌ๋Ÿฌ ๊ฐœ์˜ system์„ ๋ชจ๋‹ˆํ„ฐ๋ง ํ•  ์ˆ˜ ์žˆ๋Š” ์„ผ์„œ๋งˆ๋‹ค ์ „๋‹ดํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ๋“ค์ด ์กด์žฌ. ์˜ˆ๋ฅผ ๋“ค์–ด ์„ผ์„œ๊ฐ€ 10๊ฐœ๊ฐ€ ์žˆ๋‹คํ•˜๋ฉด ์„ผ์„œ 10๊ฐœ๋ฅผ ํ•œ ์‚ฌ๋žŒ์ด ๊ด€์ฐฐ์„.. 2021. 12. 12.
JAVA ํ”„๋กœ๊ทธ๋ž˜๋ฐ 15.4์žฅ Inner Class ๋‹ค๋ฅธ ํด๋ž˜์Šค ์†์— define ๋˜์–ด ์žˆ๋Š” ํด๋ž˜์Šค๋ฅผ ์˜๋ฏธํ•œ๋‹ค. InnerClass๋Š” ์ž์‹ ์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š” OutterClass์˜ ๋ฉ”์†Œ๋“œ์™€ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. nameConflict๋ฅผ ์ฃผ์˜ํ•˜๋ฉด ๋œ๋‹ค. private์œผ๋กœ ์„ ์–ธ๋œ InnerDestroyer์•ˆ์— windCLosing ๋ฉ”์†Œ๋“œ๊ฐ€ ์žˆ๋‹ค. WindowAdapter๋ฅผ extend ํ•ด์„œ ๋ฐ›๋Š”๋‹ค. Logic ์ด ์–ด๋–ป๊ฒŒ ๋˜๋Š”์ง€๋Š” ์„ค๋ช…ํ•˜์ง€ ์•Š๊ณ  InnerClass๊ฐ€ OuterClass๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ๋งŒ ์•Œ๊ณ  ์žˆ์œผ๋ฉด ๋œ๋‹ค. 2021. 12. 7.
JAVA ํ”„๋กœ๊ทธ๋ž˜๋ฐ 15.3์žฅ Layout Manager๋ฅผ ๋‘ ๊ฐœ ์ถ”๊ฐ€ํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ Box Layout Manager๋Š” ์ˆ˜ํ‰ Box๊ฐ€ ์žˆ๊ณ  ์ˆ˜์ง Box๊ฐ€ ์žˆ๊ณ  ์•„์ฃผ ์–‡์€ ๋ฌด์—‡์ธ๊ฐ€์˜ Box๊ฐ€ ์กด์žฌํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Red Green ๋ฒ„ํŠผ์ด ์žˆ๋‹ค. ์Œ“์•„ ๋‚˜๊ฐ€๋Š” layout์„ ๋งํ•œ๋‹ค. Box Layout Manager column์ธ๋ฐ single์ด๊ฑฐ๋‚˜ row์ธ๋ฐ single์„ ๋„ฃ๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. X_AXIS, Y_AXIS ์ผ์ • ๊ณต๊ฐ„์— ํ•ด๋‹นํ•˜๋Š” ์‚ฌ์ด์ฆˆ๋ฅผ Strut์„ ๋งํ•œ๋‹ค. Strut: ์‚ฌ์ด์ฆˆ๊ฐ€ ๊ณ ์ •๋˜์–ด ์ •ํ•ด์ฃผ๋Š” ๊ฒƒ Glue: ์‚ฌ์ด์ฆˆ๊ฐ€ ์ •ํ•ด์ง€์ง€ ์•Š์•„์„œ ์•Œ์•„์„œ ์ฑ„์›Œ๋‹ฌ๋ผ! ๋ผ๋Š” ๊ฐœ๋…์ด ๋œ๋‹ค. BoxContainer๋ฅผ ์“ฐ๋ฉด ๊ถ…์ด BoxLayout์„ ์„ ์–ธํ•˜์ง€ ์•Š์•„๋„ default๋กœ ์„ค์ •๋œ ๊ฒƒ์ด๋‹ค. ๊ธฐ์กด์˜ ๋‹ค๋ฅธ Layout๊ฐ€ ๋น„์Šทํ•˜๊ฒŒ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. H.. 2021. 12. 7.