스윙으로 GUI를 해봤어요.

4550 단어 SwingJava

입문


GUI를 해보고 싶어서 스윙으로 해봤어요.
나는 처음으로 한 내용을 스스로 총결했기 때문에 초보자를 대상으로 한다.
만약 잘못이 있거나 이런 비교적 좋은 점이 있다면, 나에게 알려줄 수 있다면 나는 매우 기쁠 것이다.

환경


macOS Catalina(버전 10.15.1)
Eclipse
플러그인 설치 참조Eclipse2019-03ver.스윙 삽입법
페이지가 없어졌어요.

준비

  • 프로젝트 만들기
  • New>Other, WindowsBuilder>Swing Designer>ApplicationWindow → "Next"선택

  • 이름을 입력하고 "finish"에서 만들기
    → 다음 코드 자동 생성

  • 화면 제작


    디자인 탭에서 자유롭게 배치할 수 있습니다.
    이번에는 자유롭게 설정하고 싶어서 Absolute layout으로 만들었어요.

    1. Layouts에서 Absolute layout → 오른쪽 창 스타일 영역 클릭
    → 이렇게 지반에 패널을 설치했다.(외관은 변하지 않고 바닥에서 카펫을 끄는 인상이죠)
    2. 어셈블리에서 배치할 어셈블리를 선택한 다음 배치합니다.
    나는 라벨을 설정해 보았다.

    배치되면 코드도 자동으로 생성됩니다.

    3. 배치된 구성 요소를 선택하여 속성을 변경할 수 있습니다.
    표시할 텍스트를 사용자 ID로 변경하십시오.
    속성의 text를'사용자 ID'로 바꾸기 → label 크기를 가로로 늘리기

    4. 이것을 반복하여 생각한 대로 UI를 만듭니다.
    결국 이런 느낌의 UI를 만들었습니다.(인기 없는 UI지만 아직 제작 중이라서...)

    제목
    구성 요소
    ☆삼호텔
    JLabel
    사용자 이름
    JLabel
    비밀번호
    JLabel
    사용자 이름 옆에
    JFormattedTextField
    비밀번호 옆
    JpasswordField
    로그인
    JButton

    이벤트 만들기


    이제 이렇게 하면 UI만 표시되므로 로그인 버튼을 누르면 아무 일도 일어나지 않습니다.
    로그인 버튼을 클릭하면 이벤트가 발생합니다.
    이번에는 로그인 버튼을 누르면 다른 화면이 표시됩니다.
    1. 구성 요소를 마우스 오른쪽 버튼으로 클릭하고 "Add event handler>mouse>mouse clicked"를 선택합니다.

    2. 코드가 자동으로 생성되기 때문에 여기에 처리를 적는다

    3. 로그인 버튼을 누르면 원래 화면(로그인 화면)을 폐기하고 다음 화면을 표시합니다.

    frame.dispose();로그인 화면 삭제
    a.frame.setVisible(true);항목에서 사용할 수 있는 모든 패밀리를 봅니다.
    이해가 안 가요.
    frame.dispose();프레임은 로그인 화면입니다.
    a.frame.setVisible(true);프레임이 다른 화면으로 바뀝니다.
    a.frame.setVisible(true);의 프레임에 오류가 발생했을 때 화면의 "private JFrame frame;"을 표시합니다.삭제된 프라이빗입니다.

    4. 대충 준비가 되었으니 실행해 보자
    실행 후 로그인 화면이 표시됩니다.

    로그인 버튼을 누르면...

    다른 화면을 표시합니다.

    마지막


    프로가 아니기 때문에 항상 참고 수준으로...
    또한 Absolute layout에서 제작할 때 구성 요소의 크기를 자유롭게 바꾸는 것은 즐겁지만 화면의 크기를 바꾸면 원래 위치에서 잘 움직이지 못해 슬프다...
    만약 당신이 좋은 방법을 알고 있다면 저에게 알려주세요...
    나는 지금 하고 있는 것이 완성된 후에 다시 기사를 쓰고 싶다.

    좋은 웹페이지 즐겨찾기