반응형

Tkinter에서 다른 위젯의 배치를 위한 Frame을 사용할 수 있습니다. 아래는 Frame 예제입니다.

import tkinter as tk

root = tk.Tk()
root.title("GUI Frame")
root.geometry("640x480+100+100")
root.resizable(True,True)

frame1 = tk.Frame(root, relief="solid", bd=1, highlightcolor="red")
frame1.pack(side="top", fill="both", expand=True)

frame2 = tk.Frame(root, relief="solid", bd=2, bg="blue")
frame2.pack(side="bottom", fill="both", expand=True)

root.mainloop()

 

 

Frame Parameter

Param 의미 기본값 속성
width 프레임의 너비 0 상수
height 프레임의 높이 0 상수
relief 테두리 모양 flat flat, groove, raised, ridge, solid, sunken
bg 배경색 SystemButtonFace color
bd 테두리 두께 0 상수
padx 내부 x방향 패딩 1 상수
pady 내부 y방향 패딩 1 상수
highlightcolor 프레임이 선택될 때 색상 SystemWindowFrame color

 

반응형
반응형

AWT가 오래된 것인줄만 알았는데 우리 회사에서 아직도 쓰고 있습니다. 그런데 생각해보니까, 오래된 소스도 최신 컴퓨터에서도 잘 돌아가고, 별도 설치도 필요 없고, 호환 잘 되는게 좋은 것 같습니다. Visual Basic으로 짜여진 프로그램도 있는데, 유지보수가 너무 힘드네요...항상 가상XP를 깔고 배포도 엄청 복잡해요.

그래서 결론은 다시 AWT! 기초부터 차근차근 공부해 보도록 하겠습니다. 우선 Window와 Frame 만들기 예제

import java.awt.*;

public class awtex {
    public static void main(String args[]){
        Frame f = new Frame("Frame");
        f.setSize(500, 400);
        f.setBackground(Color.white);
        f.setVisible(true);

        Window w = new Window(f){
            public void paint (Graphics g){
                g.drawString("Window", 10, 50);
            }
        };
        Rectangle r = new Rectangle(50, 50, 100, 100);
        w.setBounds(r);
        w.setBackground(Color.yellow);
        w.setVisible(true);
        w.toFront();

    }
}

윈도우는 테두리와 메뉴바를 갖지 않는 그냥 컨테이너인데 반해 Frame은 테두리와 메뉴바를 가질 수 있으며, 

둘 다 BorderLayout을 사용하여 레이아웃을 설정합니다.

반응형

'Programming > Java_Etc' 카테고리의 다른 글

AWT Study - 팝업메뉴  (0) 2020.02.11
AWT Study - 메뉴 생성  (0) 2020.02.11
Java 막대 그래프 그리기2  (0) 2020.02.08
Database Connection - DBConnection.java  (0) 2020.01.29
Database Connection - OracleTest.java  (0) 2020.01.29

+ Recent posts