자바를 공부하는 사람입니다. panel 관련 질문입니다.
한지잠
import java.awt.*;
class Frame_sub09 extends Frame {
private Dimension screen;
private Dimension frame_screen;
private int xpos;
private int ypos;
private BorderLayout bl = new BorderLayout();
private GridLayout gl = new GridLayout(4, 3, 3, 3);
private Label lb = new Label(전화기, Label.CENTER);
private Label lb1 = new Label();
private Button[] bt = new Button[12];
private String[] name = {*, 0, #};
public Frame_sub09() {
this.init();
this.setTitle(Button Class 예제);
this.setSize( 300, 350 );
screen = Toolkit.getDefaultToolkit().getScreenSize();
frame_screen = this.getSize();
xpos = (int)(screen.getWidth()/2 - frame_screen.getWidth()/2);
ypos = (int)(screen.getHeight()/2 - frame_screen.getHeight()/2);
this.setLocation( xpos, ypos );
this.setVisible( true );
}
public void init() {
this.setLayout(bl);
Panel panel = new Panel(gl);
lb.setBackground(Color.orange);
this.add(North, lb);
for(int i=0; i12; i++) {
if( i9 ) {
bt[i] = new Button( String.valueOf(i+1));
}
else {
bt[i] = new Button(name[i-9]);
}
}
this.add(panel);
}
}
public class Button_Example {
public static void main( String args[] ) {
Frame_sub09 frame = new Frame_sub09();
}
}
panel()을 사용해서 전화기 형태를 만들려고 합니다.
panel 사용시 배열은 어찌 해야 되는건지.. 도와주십시요..
-
큰돌찬
private GridLayout gl = new GridLayout(4, 3, 3, 3);
앞 숫자 4 = 4줄
2번째 숫자 3 = 3칸
을뜻하는것으로 알고 있습니다
그래서 for문에서 12번을 차래로 panel.add(bt[i]); 하게 되면 자동으로 배치가 됩니다.
GridLayout 4*3 크기를 초과하게되면 자동으로 크기를 더 만들어서 추가 되는것으로
알고 있습니다.
3번째 4번째 숫자 3이 뜻하는것이 무슨 폭인가 간격인가 머시기 인것 같기도 -
혜린
for(int i=0; i12; i++) {
if( i9 ) {
bt[i] = new Button( String.valueOf(i+1));
}
else {
bt[i] = new Button(name[i-9]);
}
panel.add(bt[i]); = 이부분 한줄 추가해보심이
}
this.add(panel); -
미드미
screen = Toolkit.getDefaultToolkit().getScreenSize(); = 스크린 싸이즈 얻어오기
이부분쏘스 오늘 학원에서 추가로 선생님이 알려준코드부분이다 -
가을빛
소스 구성방법은 제대로 하고 계시네요. 버튼이 생성하였는데 아직 panel에 추가하지 않으셨군요 ^^
우선 버튼부터 추가하시구여, 원하는 모양을 이미지로 그린다음 올려보세요