±Û¾´ÀÌ :Á¶½ÅÁ¦ 1998³â 7¿ù 25ÀÏ 11:23:27
¾Æ·¡¿¡´Â ¾îÇø®ÄÉÀ̼ǿ¡¼ LayoutÀ» ¹Ù²Ù´Â ÇÁ·Î±×·¥ÀÔ´Ï´Ù.
À̱¤¼ö´Ô²²¼ º¸³»ÁֽŠ¼Ò½º·Î´Â ¹«½¼ ÀÏÀ» ÇÏ´Â ÇÁ·Î±×·¥
ÀÎÁö °¨ÀÌ ÀâÈ÷Áú ¾Ê³×¿ä..
Á¦°¡ º¸±â¿¡ validate()¸¦ »ç¿ëÇÑ °Í º¸´Ï±î ÇÁ·Î±×·¥³»ÀÇ
componentÀÇ À§Ä¡¸¦ ÀÓÀÇ´ë·Î ¹Ù²Ù·Á´Â °Í °°Àºµ¥,
¸Â´ÂÁö ¸ð¸£°Ú³×¿ä....
¾Æ·¡ ¼Ò½º¸¦ ÄÄÆÄÀÏ ½ÃÄѼ ½ÇÇà½ÃÄÑ º¸¸é ¹öÆ°ÀÌ ´Ù¼¸°³
³ª¿Ã °Ì´Ï´Ù.(óÀ½¿¡´Â BorderLayoutÀ¸·Î)
±× Áß¿¡¼ ¼¼°³´Â Layout¸¦ ¹Ù²Ù¾îÁÖ´Â ¹öÆ°ÀÌ°í,
³ª¸ÓÁö µÎ°³´Â repaint¿Í validate¶ó´Â À̸§ÀÌ ÀÖÀ» °Ì´Ï´Ù.
¸ÕÀú ´Ù¸¥ Layout¹öÆ°À» ´·¯º¸¸é ¾Æ¸¶ ȸéÀº ButtonÀÇ À§Ä¡°¡
±×´ë·Î ÀÖÀ» °Ì´Ï´Ù.
±× ¶§ repaint¹öÆ°À» ´·¯º¸¾Æµµ ±×´ë·Î ÀÖÀ» °Å¿¡¿ä.
validate¹öÆ°À» ´©¸£¸é ±× ¶§¼¾ß ÀÌ¹Ì ¹Ù²î¾îÁø Layout´ë·Î
ȸ鿡 »Ñ·ÁÁÙ °Å¿¡¿ä...
ÇÁ·Î±×·¥¿¡¼ ³» ÀÓÀÇ´ë·Î ComponentÀÇ À§Ä¡¸¦ ¹Ù²Ù¾î ÁØ
´Ù°í Çؼ ȸ鿡¼ º¸ÀÌ´Â °Íµµ ¹Ù²Ù¾î ÁÖÁö´Â ¾Ê°Åµç¿ä.
±×·¡¼ ÀÌ°Íó·³ validate() ¸¦ »ç¿ëÇÏ´Â °Å¿¡¿ä.
±×¸®°í LayoutÀ» ¹Ù²Ù¾îÁÖ´Â °¢ ¸Þ¼ÒµåÀÇ ¾Õ¿¡ ÀÖ´Â
removeAll()Àº ¾ø¾îµµ µÇ¿ä..
¿Ö³ÄÇϸé PanelÀÌ ´Ù½Ã setLayout()À» ½ÇÇàÇÏ¸é ±âÁ¸ÀÇ
Layout(BorderLayout, GridLayout, FlowLayout)Àº °¡ºñÁö°¡
µÇ¾î¼ ¾ø¾îÁö±â ¶§¹®¿¡ ±× ±¸¼º¿ä¼ÒµéÀ» °¡¸®Å°´Â
Æ÷ÀÎÅ͵µ ¾ø¾îÁö°ÚÁÒ?
¾Æ·¡´Â ÇÁ·Î±×·¥ÀÔ´Ï´Ù.
import java.awt.*;
import java.awt.event.*;
public class ChangeComponent extends Panel implements ActionListener {
Button b1;
Button b2;
Button b3;
Button b4;
Button b5;
ChangeComponent() {
super();
setLayout(new BorderLayout());
b1 = new Button("FlowLayout");
b1.setActionCommand("flowlayout");
b2 = new Button("GridLayout");
b2.setActionCommand("gridlayout");
b3 = new Button("BorderLayout");
b3.setActionCommand("borderlayout");
b4 = new Button("Repaint");
b4.setActionCommand("repaint");
b5 = new Button("Validate");
b5.setActionCommand("validate");
// Listener¿¡ µî·Ï.
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
b5.addActionListener(this);
add(b1, BorderLayout.NORTH);
add(b2, BorderLayout.WEST);
add(b3, BorderLayout.EAST);
add(b4, BorderLayout.SOUTH);
add(b5, BorderLayout.CENTER);
}
public void actionPerformed(ActionEvent evt) {
String cmd = (String)evt.getActionCommand();
if(cmd.equals("flowlayout")) {
changeToFlowLayout();
} else if(cmd.equals("gridlayout")) {
changeToGridLayout(2,2);
} else if(cmd.equals("borderlayout")) {
changeToBorderLayout();
} else if(cmd.equals("repaint")) {
repaint();
} else if(cmd.equals("validate")) {
validate();
}
}
public void changeToFlowLayout() {
//removeAll();
setLayout(new FlowLayout());
add(b1);
add(b2);
add(b3);
add(b4);
add(b5);
// validate();
// repaint();
}
public void changeToGridLayout(int x, int y) {
// removeAll();
setLayout(new GridLayout(x, y));
add(b1);
add(b2);
add(b3);
add(b4);
add(b5);
// validate();
// repaint();
}
public void changeToBorderLayout() {
// removeAll();
setLayout(new BorderLayout());
add(b1, BorderLayout.NORTH);
add(b2, BorderLayout.WEST);
add(b3, BorderLayout.EAST);
add(b4, BorderLayout.SOUTH);
add(b5, BorderLayout.CENTER);
// validate();
// repaint();
}
public static void main(String args[]) {
Frame frame = new Frame("ChangeComponent Example");
frame.setSize(new Dimension(500, 450));
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) {
System.exit(0);
}
});
frame.add(new ChangeComponent());
frame.show();
}
}
±×·³ ¸¹ÀÌ µµ¿òÀÌ µÇ½Ã±â¸¦.....
¹Ì½É½Àº ºÎºÐÀÌ ÀÖÀ¸¸é ´Ù½Ã ¸ÞÀÏ º¸³»ÁÖ¼¼¿ä...