생활코딩

Coding Everybody

댓글

댓글 본문
  1. juny_.0
    2024.11.05
  2. 코딩이뭔데
    241013
  3. Sansol Park
    네, 맞습니다! `frame.setLocation(dim.width/2 - 400/2, dim.height/2 - 300/2);` 이 부분은 `JFrame`을 화면 중앙에 위치시키기 위해 좌표를 계산하는 코드입니다. 각 `/2`의 역할을 하나씩 살펴보겠습니다.

    ### 코드 설명

    1. **`dim.width`와 `dim.height`**:
    - `dim`은 `Toolkit.getDefaultToolkit().getScreenSize()`로 가져온 현재 화면의 크기를 나타냅니다.
    - `dim.width`는 화면의 너비 (가로 길이)이고, `dim.height`는 화면의 높이 (세로 길이)입니다.

    2. **`400`과 `300`**:
    - `400`은 `JFrame`의 너비, `300`은 `JFrame`의 높이를 나타냅니다.

    3. **`dim.width/2`와 `dim.height/2`**:
    - 화면의 너비와 높이를 각각 2로 나눈 값으로, 화면의 중앙점을 계산합니다.
    - 예를 들어, 화면의 너비가 1920이라면, `dim.width/2`는 960이 됩니다.

    4. **`400/2`와 `300/2`**:
    - `JFrame`의 너비와 높이를 각각 2로 나눈 값으로, 프레임의 중앙점을 계산합니다.
    - `400/2`는 200, `300/2`는 150이 됩니다.

    5. **전체 표현의 의미**:
    - `dim.width/2 - 400/2`는 화면의 중앙점에서 프레임의 절반 너비만큼 왼쪽으로 이동한 위치입니다. 즉, 프레임의 왼쪽 끝이 화면의 중앙에 오도록 합니다.
    - `dim.height/2 - 300/2`는 화면의 중앙점에서 프레임의 절반 높이만큼 위쪽으로 이동한 위치입니다. 즉, 프레임의 위쪽 끝이 화면의 중앙에 오도록 합니다.

    결과적으로, 이 코드는 `JFrame`의 왼쪽 위 모서리가 화면 중앙에 위치하도록 설정하여, 프레임이 화면의 중앙에 정확히 배치되도록 합니다.

    ### 요약
    - `/2`는 각각 화면 크기와 프레임 크기의 절반을 구하는 역할을 하며, 이를 통해 프레임을 화면 중앙에 배치할 수 있게 합니다.
    대화보기
    • 240806 완
    • 240520
    • 코딩앤수학
      2024-05-04 완료
    • 강지민
      2024.3.7 완료
    • 하리
      24.2.13 완
    • 자바1일차
      좋은 강의 감사합니다.
    • 민태영
      2024.1.28 완료!
    • 김철흥
      2024.01.19
      완료!
    • Dana
      14.11.2023
    • 나의전성기
      2023.9.10.5단계 클리어
    • 김동현
      23.09.09 완료
    • 졸작완성하자
      시작합니다! - 2023.08.04
    • 솜사탕
      2023.07.31 완료
    • 어흥
      230706
    • 코딩두
      23.07.02 완료
    • 도학훈
      23.06.15
    • sengg
      0513
    • 구니
      23.04.27 완료
    • 김인영
      2023.4.7
    • 당당
      2023.04.06
    • 밍구밍구
      데스크탑 애플리케이션 만들기
    • 10시
      230330
    • CODE
      학습완료
    • 완료!!
    • 으앗?
      230216
    • 태봉이
      20230130
    • zswdw
      20230129
    • 230109 별 거 아니게 느껴졌던 팝업창이 특별해짐
    • 바르다
      java언어의 문법도, 코드 작성 방법도 아무것도 모르는 무지성이지만, 이것 저것 만져보라고 해서 만져봤더니 신기하네요
      JFrame frame = new JFrame("HelloWorldGUI"); 는 윈도우 창 맨 위의 제목 표시 인것같구요
      JLabel label = new JLabel("Hello World!!", swingConstants.CENTER); 스윙컨스턴츠 부분은 윈도우 창에 문자 출력시 어느 위치에 출력할 것인지 조정하는 명령어이고, JLabel label 이라는 변수는 frame.getcontentPane().add(label); 명령어가 없으면 문자 출력이 아예 안되네요, 그럼 이건 서로 영향을 주고 받는 관계인것 같구요
      윈도우 창의 크기를 조정하는 코드로는 frame.setpreferredsize(new Dimension(800,300);
      모니터 화면 어느 위치에 윈도우 창을 띄울지 결정하는 명령어로는
      frame.setLocation(dim.width/2 -400/2, dim.height/2 -300/2); 이네요
      각 숫자는 화면의 비율을 의미하는것 같아요.

      감사합니다 이고잉님 너무 즐거운 강의 였습니다.
    • 비전공자의반란
      23-01-09 완
    • 조미령
      221224
    • 서우
      221019
    • 코린이
      22.10.16
    • 보통사람 박코딩
      할수있다
    • 코딩드림
      22.09.24
    • 코리니
      911
    • 별그림
      22.09.11
    • 최원홍
      빠르게 습득하는 방법이 있네요..
      내용을 하나씩 주석 처리 하면서 어느부분이 바뀌는지 탐구 해보는 겁니다.
      그러다보면 코드의 용도가 눈에 보이는데
      저는 개인적으로
      frame.setLocation(dim.width/2-400/2, dim.height/2-300/2);

      이부분 좌표를 지정해주는 부분같은데 이해가 잘 안됩니다.앞뒤로 붙은 /2의 역할 같은데 맞나요?
    • 최원홍
      원래 그런겁니다.
      JLabel lable = new JLabel("Hello World!!", SwingConstants.CENTER);

      이부분이 Hello World!!를 창의 가운대 부분에 띄워주라고 할당하는 부분 입니다.
      대화보기
      • 가능해
        22.09.07
      • tato124
        220818
      • 모든건카피
        느낀점 : 언어를 습득하는 건 하루아침에 되는건 아니다.

        어린아이가 성인의 말과 표현을 할수 없고 그에 맞는 성숙도도 따라갈 수 없다.
        대신 코딩에선 완전한 카피가아닌 그에 맞는 , 상황에 맞는 소스들을 찾고 , 내꺼로 만들수있다면 ..
        그것만으로도 좀 살아있을 수 있지않을까 싶다.


        약간의 모방을통한 창작이 선행되는게 더 쉬운 길일 수 있고 자신감을 가지라는 마음이 담긴
        영상인것 같다.
      • 빈센트
        2022/8/16 수강 완료
      • 흥순장
        2022.08.01 완료
      • economin
        2일차 수강완료
      • Asanagi
        220728
      • javascript
        JLabel label 부분의 JLabel 인스턴트의 첫 번째 인자에 html 태그를 넣어도 작동하는군요!