๐ 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. ์ด์ 1 2 3 4 ๋ค์