John Squirrels
๋ ˆ๋ฒจ 41
San Francisco

์ž๋ฐ” JTable

๋ฌด์ž‘์œ„์˜ ๊ทธ๋ฃน์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค
๋ฐ์ดํ„ฐ๋ฅผ ํ‘œ ํ˜•์‹์œผ๋กœ ํ‘œ์‹œํ•˜๋ ค๋Š” ๊ฒฝ์šฐ javax.swing ํŒจํ‚ค์ง€ ์˜ JTable ํด๋ž˜์Šค ์‚ฌ์šฉ์„ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค . JTable ํด๋ž˜์Šค๋Š” ํ–‰๊ณผ ์—ด์ด ์žˆ๋Š” ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ค๊ณ  ํ•„์š”์— ๋”ฐ๋ผ ์‚ฌ์šฉ์ž ์ •์˜ํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค๋ชฉ์  ๋„๊ตฌ์ž…๋‹ˆ๋‹ค . ์ด ๊ธฐ์‚ฌ์—์„œ๋Š” JTable ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ค๊ณ  ๋ฐ์ดํ„ฐ๋กœ ์ฑ„์šฐ๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค .

Java์˜ JTable ํด๋ž˜์Šค๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

jtable์€ ๊ด‘๋ฒ”์œ„ํ•œ ์‚ฌ์šฉ์ž ์ •์˜ ์˜ต์…˜์„ ์ œ๊ณตํ•˜๋Š” ๋งค์šฐ ๋‹ค์žฌ๋‹ค๋Šฅํ•œ ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค. jtable ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ–‰ ๋†’์ด, ์—ด ๋„ˆ๋น„, ๊ธ€๊ผด, ์ƒ‰์ƒ ๋“ฑ์ด ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ํ…Œ์ด๋ธ” ์…€์— ์ด๋ฏธ์ง€, ์•„์ด์ฝ˜ ๋ฐ ๋ฒ„ํŠผ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์‚ฌ์šฉ์ž ์ •์˜ ์…€ ๋ Œ๋”๋Ÿฌ ๋ฐ ํŽธ์ง‘๊ธฐ๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ ๊ณ ๋„๋กœ ์‚ฌ์šฉ์ž ์ •์˜๋œ ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ค ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ vjtable ํด๋ž˜์Šค๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ •๋ ฌ ๋ฐ ํ•„ํ„ฐ๋งํ•˜๊ณ  ์„ ํƒ, ํŽธ์ง‘, ํฌ๊ธฐ ์กฐ์ •๊ณผ ๊ฐ™์€ ์‚ฌ์šฉ์ž ์ƒํ˜ธ ์ž‘์šฉ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์—ฌ๋Ÿฌ ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํŠน์ • ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๋Š” ๋Œ€ํ™”ํ˜• ๋ฐ ๋ฐ˜์‘ํ˜• ํ…Œ์ด๋ธ”์„ ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž๋ฐ” JTable ์˜ˆ

๊ฐ„๋‹จํ•œ JTable ์˜ˆ์ œ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค . ์ฝ”๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;


// example to use JTable()
public class JTableExample extends JFrame {

    public JTableExample() {
        setTitle("JTable Example");

        JTable jt = new JTable(4, 2);
        JScrollPane sp = new JScrollPane(jt);
        add(sp);

        setSize(300, 200);
        setVisible(true);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
    }

    public static void main(String[] args) {
        new JTableExample(); // calling JTable()
    }
}
์ด ์˜ˆ์—์„œ๋Š” JFrame ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑ ํ•˜๊ณ  ํ•ด๋‹น ๊ฐ์ฒด์˜ ์ œ๋ชฉ์„ "JTableExample"๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ 4๊ฐœ์˜ ํ–‰๊ณผ 2๊ฐœ์˜ ์—ด์ด ์žˆ๋Š” JTable ๊ฐœ์ฒด๋ฅผ ๋งŒ๋“ค๊ณ  ์ด๋ฅผ JScrollPane ๊ฐœ์ฒด ์— ๋ž˜ํ•‘ํ•ฉ๋‹ˆ๋‹ค . ๋งˆ์ง€๋ง‰์œผ๋กœ JScrollPane ๊ฐ์ฒด๋ฅผ JFrame ๊ฐ์ฒด ์— ์ถ”๊ฐ€ํ•˜๊ณ  JFrame ์˜ ํฌ๊ธฐ๋ฅผ ์„ค์ •ํ•œ ๋‹ค์Œ ํ‘œ์‹œ๋˜๋„๋ก ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ด ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด 4๊ฐœ์˜ ํ–‰๊ณผ 2๊ฐœ์˜ ์—ด์ด ์žˆ๋Š” ํ…Œ์ด๋ธ”์ด ์žˆ๋Š” ์ฐฝ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

ํ…Œ์ด๋ธ” ์ƒ์„ฑ

์ด์ œ JTable ํด๋ž˜์Šค์™€ ํ…Œ์ด๋ธ” ์ƒ์„ฑ ๋ฐฉ๋ฒ•์„ ์ž์„ธํžˆ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค . JTable ํด๋ž˜์Šค์—๋Š” ์—ฌ๋Ÿฌ ์ƒ์„ฑ์ž๊ฐ€ ์žˆ์ง€๋งŒ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์ƒ์„ฑ์ž๋Š” ํ…Œ์ด๋ธ”์˜ ํ–‰ ์ˆ˜์™€ ์—ด ์ˆ˜๋ผ๋Š” ๋‘ ๊ฐ€์ง€ ์ธ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค .
JTable jt = new JTable(4, 2);
์ด ์ฝ”๋“œ ์ค„์€ 4๊ฐœ์˜ ํ–‰๊ณผ 2๊ฐœ์˜ ์—ด์ด ์žˆ๋Š” JTable ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์—ฌ JTable ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜๋„ ์žˆ์œผ๋ฉฐ , ์ด๋ฅผ ํ†ตํ•ด ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ์™€ ๋™์ž‘์„ ์‚ฌ์šฉ์ž ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ…Œ์ด๋ธ” ์ฑ„์šฐ๊ธฐ

ํ…Œ์ด๋ธ”์„ ๋ฐ์ดํ„ฐ๋กœ ์ฑ„์šฐ๋ ค๋ฉด ์„ค์ •ํ•  ๊ฐ’, ํ–‰ ์ธ๋ฑ์Šค ๋ฐ ์—ด ์ธ๋ฑ์Šค๋ผ๋Š” ์„ธ ๊ฐ€์ง€ ์ธ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” setValueAt() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
jt.setValueAt("John Doe", 0, 0);
jt.setValueAt(25, 0, 1);
jt.setValueAt("Jane Smith", 1, 0);
jt.setValueAt(30, 1, 1);
jt.setValueAt("Bob Johnson", 2, 0);
jt.setValueAt(40, 2, 1);
jt.setValueAt("Alice Williams", 3, 0);
jt.setValueAt(35, 3, 1);
์ด ์ฝ”๋“œ๋Š” ์ฒ˜์Œ 4๊ฐœ ํ–‰ ์ค‘ ์ฒซ ๋ฒˆ์งธ ์—ด์˜ ๊ฐ’์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์—ด์—๋Š” ์‚ฌ๋žŒ๋“ค์˜ ์ด๋ฆ„์ด ํฌํ•จ๋˜๊ณ  ๋‘ ๋ฒˆ์งธ ์—ด์—๋Š” ๋‚˜์ด๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

Swing.jtable ํŒจํ‚ค์ง€ ์‚ฌ์šฉ

JTable ํด๋ž˜์Šค๋Š” ํ…Œ์ด๋ธ” ์ƒ์„ฑ ๋ฐ ์กฐ์ž‘์„ ์œ„ํ•œ ํฌ๊ด„์ ์ธ ๋„๊ตฌ ์„ธํŠธ๋ฅผ ์ œ๊ณตํ•˜๋Š” Swing.jtable ํŒจํ‚ค์ง€ ์˜ ์ผ๋ถ€ ์ž…๋‹ˆ๋‹ค . Swing.jtable ํŒจํ‚ค์ง€์—๋Š” ํ…Œ์ด๋ธ” ๋ชจ์–‘ ์‚ฌ์šฉ์ž ์ •์˜, ๋ฐ์ดํ„ฐ ์ •๋ ฌ ๋ฐ ํ•„ํ„ฐ๋ง, ์‚ฌ์šฉ์ž ์ƒํ˜ธ ์ž‘์šฉ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ํด๋ž˜์Šค๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค .

๊ฒฐ๋ก 

JTable ํด๋ž˜์Šค๋Š” Java์—์„œ ํ…Œ์ด๋ธ” ์„ ์ƒ์„ฑํ•˜๊ณ  ์‚ฌ์šฉ์ž ์ •์˜ํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. JTable ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ชจ๋“  ํฌ๊ธฐ์˜ ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ค๊ณ  ๋ฐ์ดํ„ฐ๋กœ ์ฑ„์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž‘์€ ํ”„๋กœ์ ํŠธ์—์„œ ์ž‘์—…ํ•˜๋“  ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์—์„œ ์ž‘์—…ํ•˜๋“  JTable ํด๋ž˜์Šค๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ช…ํ™•ํ•˜๊ณ  ์ฒด๊ณ„์ ์ธ ๋ฐฉ์‹์œผ๋กœ ํ‘œ์‹œํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION