๋‚Œ๋‚Œ
ggim
๋‚Œ๋‚Œ
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • โ—พโ—ฝ (96)
    • ๐Ÿ’ฌPL (8)
      • ๐Ÿ’ซJava (8)
    • ๐Ÿ’พDB(Database) (2)
      • โญ•Oracle (1)
    • ๐Ÿ ๊ตญ๋น„์ง€์›ํ•™์› (76)
      • ๐Ÿ“–Java ์ˆ˜์—… (28)
      • ๐Ÿ“–DB ์ˆ˜์—… (14)
      • ๐Ÿ“–HTML ์ˆ˜์—… (5)
      • ๐Ÿ“–CSS ์ˆ˜์—… (3)
      • ๐Ÿ“–JavaScript ์ˆ˜์—… (8)
      • ๐Ÿ“–JSP ์ˆ˜์—… (13)
      • ๐Ÿ“–Spring ์ˆ˜์—… (5)
    • ๐Ÿ’ป๊ฐœ์ธ ๊ณต๋ถ€ (1)
      • ์ž๋ฐ”์˜ ์ •์„ (1)
    • ๐Ÿ’ผ (8)
      • โœ…๊ธฐ๋ณธ ์„ค์น˜ (6)
      • ๐ŸงLinux (2)
    • ๐Ÿ”ฅ๋‹ค์ง (1)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • Home
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
๋‚Œ๋‚Œ

ggim

[Java] ํ•™์› 230105(๋ชฉ) Font, Exception Handling, ์˜ˆ์™ธ์ฒ˜๋ฆฌ
๐Ÿ ๊ตญ๋น„์ง€์›ํ•™์›/๐Ÿ“–Java ์ˆ˜์—…

[Java] ํ•™์› 230105(๋ชฉ) Font, Exception Handling, ์˜ˆ์™ธ์ฒ˜๋ฆฌ

2023. 1. 17. 06:14

์ „๋‚  ๋ณต์Šต
has a ๊ด€๊ณ„๋Š” ๋””์ž์ธ๊ณผ ์ด๋ฒคํŠธ๋ฅผ ๊ฐ๊ฐ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์„œ๋กœ ํฌํ•จ

is a ๊ด€๊ณ„๋Š” ๋‘˜๋‹ค ํ•ฉ์ณ์„œ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณต์žก๋„๊ฐ€ ์ƒ์Šน.

< ๊ฐ์ฒด์ƒ์„ฑ >
(is a ๊ด€๊ณ„) ์›์€ ์ ์ด๋‹ค. (์ž์‹์€ ๋ถ€๋ชจ์ด๋‹ค) 
(์ž์‹์€ ๋ถ€๋ชจ์™€ ๊ฐ™๋‹ค=method์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ๋ถ€๋ชจ๋ผ๋ฉด ๋ชจ๋“  ์ž์‹์„ ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค) 
(method์•ˆ์—์„œ๋Š” ๋ถ€๋ชจ๋ฅผ ํ†ตํ•ด์„œ ๋‹ค์–‘ํ•œ ์ž์‹์„ ์‚ฌ์šฉํ•œ๋‹ค=๊ฐ์ฒด๋‹คํ˜•์„ฑ)
MyClass mc = new MyClass( );  
WindowAdapter wa = new MyClass( );
WindowListener wl = new MyClass( );


(has a ๊ด€๊ณ„) 
awt, swing์„ ๋ฐฐ์šฐ๋Š” ์ด์œ ๋Š” ํด๋ž˜์Šค๊ฐ„์— ์ƒ์† ๊ด€๊ณ„๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

OOP์–ธ์–ด์˜ 3๊ฐ€์ง€ ํŠน์ง•
์บก์Аํ™”(์ ‘๊ทผ์ œํ•œ์ž,getter/setter)
์ƒ์†(๋‹ค์ค‘ ์ƒ์†,์ธํ„ฐํŽ˜์ด์Šค)
์ถ”์ƒํ™”(์ถ”์ƒํด๋ž˜์Šค)
๋‹คํ˜•์„ฑ(์˜ค๋ฒ„๋ผ์ด๋”ฉ/์˜ค๋ฒ„๋กœ๋”ฉ)

addWindowListener( new MyClass( ) );
api ์ƒ์†๊ด€๊ณ„ ๋ณด๋Š” ์ด์œ  = ๋‹คํ˜•์„ฑ์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด

=========================

**Font
 - ์‚ฌ์šฉ์ž์—๊ฒŒ ์ง์ ‘ ๋ณด์—ฌ์ง€์ง€ ์•Š๋Š” ์ปดํฌ๋„ŒํŠธ
 - ๊ธ€๊ผด์„ ๋ณ€๊ฒฝํ•  ๋•Œ ์‚ฌ์šฉ
 - java.awtํŒจํ‚ค์ง€์—์„œ ์ œ๊ณต
 - ์ €์ž‘๊ถŒ์ด ์žˆ์Œ

์‚ฌ์šฉ๋ฒ•)
 1. Font ํด๋ž˜์Šค ์ƒ์„ฑ)
      Font font = new Font ( ๊ธ€๊ผด์ข…๋ฅ˜, ์Šคํƒ€์ผ, ํฌ๊ธฐ );

*๊ธ€๊ผด์ข…๋ฅ˜ 

  awt์˜ ์ปดํฌ๋„ŒํŠธ๋Š” Dialog, DialogInput, Monospaced, Serif , SansSerif 5๊ฐ€์ง€ ๊ธ€๊ผด๋งŒ ํ‘œํ˜„ ๊ฐ€๋Šฅ

  swing์˜ ์ปดํฌ๋„ŒํŠธ๋Š” ๋ชจ๋‘ ์‚ฌ์šฉ ๊ฐ€๋Šฅ


*์Šคํƒ€์ผ : Constant : PLAIN, BOLD, ITALIC, BOLD|ITALIC
*ํฌ๊ธฐ : ex) 15

 2. Font ์ ์šฉ
    ์ปดํฌ๋„ŒํŠธ.setFont( font๊ฐ์ฒด );

 *์ƒ‰ ๋ณ€๊ฒฝ - Color ํด๋ž˜์Šค ์‚ฌ์šฉ
   - ๊ธ€์ž์ƒ‰ ๋ณ€๊ฒฝ
      setForeground ( Color ๊ฐ์ฒด );
   - ๋ฐ”๋‹ฅ์ƒ‰ ๋ณ€๊ฒฝ
      setBackground ( Color ๊ฐ์ฒด );


Color.์ƒ์ˆ˜๋ช… ์‚ฌ์šฉ => ๋‹ค์–‘ํ•œ ์ƒ‰์„ ํ‘œํ˜„ ํ•  ์ˆ˜ ์—†๋‹ค.
RGB Color ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค์–‘ํ•˜๊ฒŒ ๊ฐ€๋Šฅ
Color c = new Color ( 16์ง„์ˆ˜GRB );

๋ผ๋ฒจ์€ ์ƒ‰๊น”์ด ์ ์šฉ ์•ˆ๋œ๋‹ค. ๋ฐ”๋‹ฅ์ƒ‰์ด ํˆฌ๋ช…ํ•œ ์ปดํฌ๋„ŒํŠธ๋Š” ๋ถˆํˆฌ๋ช…๋„ ์„ค์ •ํ•œ ํ›„ ์ƒ‰์„ ์„ค์ •ํ•ด์•ผํ•จ.

=======================

**Exception Handling
 - ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๊ฐ€๋ฒผ์šด error์— ๋Œ€ํ•œ ๋Œ€๋น„ ์ฝ”๋“œ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ.
 - ๊ฐœ๋ฐœ์ž๋Š” ์˜ˆ์™ธ์ƒํ™ฉ์„ ์˜ˆ์ธกํ•ด์•ผ ํ•œ๋‹ค.
 ๊ฐ€๋ฒผ์šด๋ฌธ์ œ Exception : ํ”„๋กœ๊ทธ๋žจ ๋™์ž‘ ์ค‘์— Exception์ด ๋ฐœ์ƒํ•˜๋ฉด ์ฒ˜๋ฆฌํ•œ ํ›„ ๋‹ค์Œ์œผ๋กœ ์ง„ํ–‰ ํ•  ์ˆ˜ ์žˆ๋‹ค.
 ๋ฌด๊ฑฐ์šด๋ฌธ์ œ Error : ํ”„๋กœ๊ทธ๋žจ ๋™์ž‘ ์ค‘์— error๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๋‹ค์Œ์œผ๋กœ ์ง„ํ–‰ ํ•  ์ˆ˜ ์—†๋‹ค.

 


*Compile Exception : bytecode๋ฅผ ์ œ๋Œ€๋กœ ์ƒ์„ฑํ•˜์ง€ ๋ชปํ•  ํ™•๋ฅ ์ด ์žˆ๋Š” ์ฝ”๋“œ์—์„œ ๋ฐœ์ƒ.
bytecode (x.class) ์ƒ์‚ฐ
๋ฌธ์ œ๋ฐœ์ƒ : ์ปดํŒŒ์ผ์˜ˆ์™ธ
๊ฐœ๋ฐœ์ž๊ฐ€ ๋ฐ˜๋“œ์‹œ try ~ catch๋กœ ์˜ˆ์™ธ ์ฝ”๋“œ๋ฅผ ๋ฌถ์–ด์•ผ ํ•˜๋Š” ์˜ˆ์™ธ

 


*Runtime Exception : CPU๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜, ๊ฐ’์„ ์ €์žฅํ•œ ์ฝ”๋“œ์—์„œ ๋ฐœ์ƒ
bytecode๋ฅผ ์‹คํ–‰ (CPU์‚ฌ์šฉ, Memory)
๋ฌธ์ œ๋ฐœ์ƒ : ๋Ÿฐํƒ€์ž„์˜ˆ์™ธ
๊ฐœ๋ฐœ์ž๊ฐ€ try~catch๋กœ ๋ฌถ์ง€ ์•Š์•„๋„ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š” ์˜ˆ์™ธ
๋ฌธ๋ฒ•์—๋„ ๋ฌธ์ œ ์—†๊ณ , bytecode๋„ ๋ฌธ์ œ ์—†๋Š”๋ฐ ์—๋Ÿฌ ๋ฐœ์ƒ

ArithmeticException : ์ •์ˆ˜๋ฅผ 0์œผ๋กœ ๋‚˜๋ˆŒ๋•Œ ๋ฐœ์ƒ
ArrayIndexOutOfBoundsException : ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค๊ฐ€ ์—†์„ ๋•Œ ๋ฐœ์ƒ
NullPointerException : ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š๊ณ  ์‚ฌ์šฉํ•  ๋•Œ
NumberFormatException : ์ˆซ์žํ˜•ํƒœ๊ฐ€ ์•„๋‹Œ ๋ฌธ์ž์—ด์„ ๋ณ€ํ™˜ํ•  ๋•Œ
ClassCastException : ํด๋ž˜์Šค๊ฐ„์˜ ํ˜•๋ณ€ํ™˜ ์ž˜๋ชป ํ–ˆ์„ ๋•Œ
IndexOutOfBoundsException : ๋ฐฐ์—ด ๋ฒ”์œ„ ๋ฒ—์–ด๋‚จ

----------------
๋‚ด ์ƒ์†์ค„์— runtime์ด ๊ปด ์žˆ์œผ๋ฉด runtime Exception
๋‚ด ์ƒ์กฑ์ค„์— runtime์ด ์—†์ด Excaption์„ ์ƒ์† ๋ฐ›์œผ๋ฉด Compile Exception
----------------

=======================

**์˜ˆ์™ธ์ฒ˜๋ฆฌ
 - try~catch~finally, throws, throw 3๊ฐ€์ง€๋กœ ํ•œ๋‹ค.

์‚ฌ์šฉ๋ฒ•)
   method๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋ฉด method๋’ค์— throws๋ฅผ ํ™•์ธ

   public void method๋ช…(๋งค๊ฐœ๋ณ€์ˆ˜) throws ์˜ˆ์™ธ์ฒ˜๋ฆฌํด๋ž˜์Šค,,,,{

๋ฌธ๋ฒ•)
  try{
    ์˜ˆ์™ธ๋ฐœ์ƒ์˜ˆ์ƒ์ฝ”๋“œ; //Runtime Exception, Compile Exception ๋ฐœ์ƒ
  }catch(์˜ˆ์™ธ์ฒ˜๋ฆฌํด๋ž˜์Šค ๊ฐ์ฒด๋ช…){
     ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์‹คํ–‰๋  ์ฝ”๋“œ..
  }catch(์˜ˆ์™ธ์ฒ˜๋ฆฌํด๋ž˜์Šค ๊ฐ์ฒด๋ช…){
     ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์‹คํ–‰๋  ์ฝ”๋“œ..
  } finally {
      ๋ฐ˜๋“œ์‹œ ์‹คํ–‰๋  ์ฝ”๋“œ..
  }

multi catch์ธ ์ƒํ™ฉ์—์„œ๋Š” ์˜ˆ์™ธ์ฒ˜๋ฆฌ ํด๋ž˜์Šค์˜ ์ƒ์†๊ด€๊ณ„์—์„œ ์ž์‹์ด ๋จผ์ € ์ •์˜๋˜์–ด์•ผ ํ•œ๋‹ค.
๋ถ€๋ชจ๊ฐ€ ์ž์‹๋ณด๋‹ค ๋จผ์ € ๋‚˜์˜ค๋ฉด ๋ฐœ์ƒ๋œ ์˜ˆ์™ธ๋ฅผ ๋ถ€๋ชจ๊ฐ€ ์žก๊ธฐ ๋•Œ๋ฌธ์— ํ•˜์œ„ ์ž์‹ ์˜ˆ์™ธ๋“ค์€ ์˜ˆ์™ธ๋ฅผ ์žก์„ ์ˆ˜ ์—†์–ด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.
๋‹ค์ค‘ catch์ƒํ™ฉ์—์„œ๋Š” ์˜ˆ์™ธ์ฒ˜๋ฆฌ ํด๋ž˜์Šค์˜ ์ƒ์†๊ด€๊ณ„๋ฅผ ์ž˜ ํŒŒ์•…ํ•˜์—ฌ ๋ถ€๋ชจ๊ฐ€ ์œ„๋กœ ์˜ฌ๋ผ์˜ค์ง€ ์•Š๋„๋ก ์ฃผ์˜ํ•˜์—ฌ ์ฝ”๋”ฉํ•  ๊ฒƒ.

**์˜ˆ์™ธ ๋ฉ”์„ธ์ง€ ์ถœ๋ ฅ
 - ์˜ˆ์™ธ์ถœ๋ ฅ ์ŠคํŠธ๋ฆผ
  system.err.println("์—๋Ÿฌ ๋ฉ”์„ธ์ง€"); // ์ดํด๋ฆฝ์Šค์—์„œ๋Š” ์ถœ๋ ฅ ๋ฉ”์„ธ์ง€ ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ์ถœ๋ ฅ 
( ๋‚˜๋Š” ์—๋Ÿฌ๋‹ค. )


err ์ŠคํŠธ๋ฆผ์€ out ์ŠคํŠธ๋ฆผ๋ณด๋‹ค ์ถœ๋ ฅ์ด ๋Šฆ์„ ์ˆ˜ ์žˆ๋‹ค.


out = ์ž…๋ ฅ๊ฐ’์„ ๋ฐ”๋กœ ์ถœ๋ ฅํ•œ๋‹ค.
err = ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด Stack์— ์ €์žฅ๋˜๊ณ , Stack์— ์ €์žฅ๋œ ๊ฐ’์„ ๊บผ๋‚ด์™€์„œ ์ถœ๋ ฅํ•œ๋‹ค.

 

 - ๊ฐ„๋‹จํ•œ ๋ฉ”์‹œ์ง€๋งŒ ์ถœ๋ ฅ

   String msg = ์˜ˆ์™ธ์ฒ˜๋ฆฌ๊ฐ์ฒด๋ช….getMessage();


 - ์˜ˆ์™ธ์ฒ˜๋ฆฌํด๋ž˜์Šค์™€ ์˜ˆ์™ธ๋ฉ”์‹œ์ง€ ์–ป๊ธฐ 
    ์˜ˆ์™ธ์ฒ˜๋ฆฌ๊ฐ์ฒด๋ช….toString( );


 - Stack์— ์ €์žฅ๋œ ๋ชจ๋“  ์˜ˆ์™ธ๋ฉ”์‹œ์ง€ ์–ป๊ธฐ
    ์˜ˆ์™ธ์ฒ˜๋ฆฌ๊ฐ์ฒด๋ช….printStackTrace( );

'๐Ÿ ๊ตญ๋น„์ง€์›ํ•™์› > ๐Ÿ“–Java ์ˆ˜์—…' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Java] ํ•™์› 230109(์›”) Stream ์—ฐ๊ฒฐ, ํŒŒ์ผํด๋ž˜์Šค, 16bit Stream์œผ๋กœ ํŒŒ์ผ ์ฝ๊ธฐ, 8bit Stream๊ณผ 16bit Stream์œผ๋กœ ํŒŒ์ผ ์ฝ๊ธฐ  (0) 2023.01.18
[Java] ํ•™์› 230106(๊ธˆ) throws, throw, IO(input / Output) Stream  (0) 2023.01.18
[Java] ํ•™์› 230104(์ˆ˜) WindowEvent, FileDialog  (0) 2023.01.17
[Java] ํ•™์› 230103(ํ™”) MVC Pattern, JComboBox, Event Handling  (0) 2023.01.17
[Java] ํ•™์› 230102(์›”) ๋ณตํ•ฉ๋ฐฐ์น˜, ์ˆ˜๋™๋ฐฐ์น˜, ์ด๋ฏธ์ง€ ์ ์šฉ, JScrollPane, ButtonGroup, JtextField, Menu  (0) 2023.01.17
    '๐Ÿ ๊ตญ๋น„์ง€์›ํ•™์›/๐Ÿ“–Java ์ˆ˜์—…' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [Java] ํ•™์› 230109(์›”) Stream ์—ฐ๊ฒฐ, ํŒŒ์ผํด๋ž˜์Šค, 16bit Stream์œผ๋กœ ํŒŒ์ผ ์ฝ๊ธฐ, 8bit Stream๊ณผ 16bit Stream์œผ๋กœ ํŒŒ์ผ ์ฝ๊ธฐ
    • [Java] ํ•™์› 230106(๊ธˆ) throws, throw, IO(input / Output) Stream
    • [Java] ํ•™์› 230104(์ˆ˜) WindowEvent, FileDialog
    • [Java] ํ•™์› 230103(ํ™”) MVC Pattern, JComboBox, Event Handling
    ๋‚Œ๋‚Œ
    ๋‚Œ๋‚Œ
    zzZ zzZ zzZzz

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”