JAVA1

댓글

댓글 본문
  1. 2020.03.09 완료
  2. cmg8431
    2020.03.06 완료
  3. 2020.03.06 완료
  4. 자바를자바라
    2020-03-01
    Desktop App
  5. dofvmrhwk
    파일이름이랑 동일해야 오류가 안뜨는거군요! 학습완료!
  6. 칩과데일
    코드중앙쯤 보시면 라이트라고 되어있는데
    센터로 바꿔주심되요
    대화보기
    • 완료!
    • 박재우
      2020.01.30 완료
    • 임지수
      2020.01.23 완료
    • serina
      감사합니다!
    • 라또마니
      감사합니다.
    • 취생아
      완료 2020.1.10
    • 윤영휘
      2019.12.30 완료!
    • 윌리엄
      창 위치 조절하는 것도 width의 경우 2-400/2 부분에서 앞의 2를 더 큰 숫자로 할 수록 왼쪽으로, 작은 숫자로 할수록 -그래봐야 정수형만 넣을 수 있어서 1밖에 없지만- 오른쪽으로 가더라고요. 더 큰 숫자를 집어 넣을수록 변화율이 작아지고요. '-'는 +로 바꿔도 사용할 수 있어요. -를 사용하면 왼쪽으로 이동하고 +이동하면 오른쪽으로 이동해요. width=2라고 해도 작동하는데 여길 기준으로 +400/2와 -400/2의 변화폭이 같아요. -400/2를 보면 앞의 숫자와 단위가 다른 것 같더군요. 400을 100, 200, 300, 500으로 각각 변경했을 때, 100만큼 증가할 때마다 변화폭은 같아요. 그리고 앞의 숫자를 2로 하든 3으로 하든 2에서 3으로 변경한 것에 따른 화면의 이동만 있을 뿐 2-100/2에서 2-200/2의 변화폭과 3-100/2에서 3-200/2의 변화폭도 같고요. 다만 마지막 / 뒤의 숫자의 경우 'width/2'를 기준으로 숫자가 작아질수록 변화폭이 커지면서 부호에 따라 좌우로 이동합니다.여기서 /가 나누기라는 걸 알 수 있는데, -400에서 -500의 변화폭이 -400/2에서 -500/2의 변화폭의 정확히 2배이기 때문입니다.

      제가 생각하기에 원점은 width/1, height/1이 아닐까 생각합니다. 정수 뒤에 부호를 통해 붙는 수는 세밀한 변화를 나타냅니다. 그런데 이렇게 생각하면 약간 이상한 게 부호없이 처음에 오는 숫자는 커질수록 변화 폭이 작아지는데 이는 우리가 아는 직각좌표계와는 다릅니다.(다만 뒤에 부호와 함께오는 숫자의 경우 분자 부분을 바꾸면 일정한 비율로 변화합니다.) 뒤에 오는 숫자를 직각좌표계로 생각하면 좀 그런게, width/2이나 width/1가 width/2-500이나 width/2-400/2보단 수학적으로 더 특별해 보입니다.(수학은 상징을 만드는 걸 선호하니까요) width/1, height/1로 했을 때 화면 밖에서 창이 뜨는데 이제까지 실행한 거 봐서는 오른쪽 아래 모서리 바깥쪽에서부터 화면의 위치가 정해지는 것 같습니다.

      0이 안되는 이유는 디버그해보니 JRE 오라클이 지원하지 못한다고 나오네요. 설명보면 정수형을 받으니까 0이 안될 것 같진 않은데. 의도적으로 1에서 2로, 2에서 3으로 갈수록 변화폭이 작아지는 것 보면 0에서 1까지 변화폭을 컴퓨터가 무한대로 인식해서 그런거 아닐까하고 비약적으로 생각해봅니다.
      대화보기
      • 끙차
        감사합니다. :)
      • 감사합니다 :)
      • 쑤우
        감사합니다~
      • 멋지게살자
        완료
      • 19.11.05 완료
        fram.setLocation(dim.width/2-400/2, dim.height/2-300/2);를 조절하면 창이 뜨는 위치도 조절할 수 있군요
        width와 height 부분을 그냥 width와 height로 설정하면 실행이 안 된듯 보이지만 창 바꾸기 기능을 통해서 확인해보면 실행이 되기는 했습니다.
        그러나 width와 height 부분 중 하나라도 0으로 바꾸면 에러 메시지와 함께 실행이 되지 않았습니다.
        Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();와 frame.setLocation( , )을 통해서 컴퓨터의 화면을 직각좌표계와 같이 인식한다는 것 같습니다만, 원점이 어디인지와 크기가 얼마나 되는지 왜 그런 에러 메시지가 떴는지는 따로 알아봐야겠습니다.
      • 므넹이
        Label label = new JLabel("Hello mneng", SwingConstants.CENTER); 로 하시면 됩니다.
        대화보기
        • Ashed GoodDevil
          11 번째 라인 코드가 아래와 정확한지(대소문자 구분 필요) 확인해주세요
          JLabel label = new JLabel("Hello World!!", SwingConstants.CENTER);

          에러코드를 보니 SwingConstants.CENTER 부분을 SwingConstants.center로 적으신듯 해보입니다.
          이클립스에서는 "Eclipse Content Assistant"라는 코드 자동완성 기능이 있어서,
          SwingConstants까지 입력하시고 "."를 입력하시면 적용가능한 속성들이 주르륵 드롭다운 형태로 나열됩니다.
          그 중에서 CENTER를 선택하시면 됩니다.
          대화보기
          • 허공
            감사합니다!
          • 김재학
            벽돌 쌓는 거 배우는 중에 새집 정도 짓는 것을 보여주신 듯...^^
            궁전은 언제쯤 지을 수 있을까요..
          • 김승환
            Exception in thread "main" java.lang.Error: Unresolved compilation problem:
            center cannot be resolved or is not a field

            at HelloWorldGUIApp.main(HelloWorld GUIApp.java:11)

            선생님! 이런게 뜨는데 뭐가 잘못된걸까요? ㅜㅜ
          • 카얀
            우왕 재밌네용 !@@
          • ㅎㅎ
            유 레 카 ....
          • Kyung Hun Jung
            감사합니다.^^
          • 청수공장
            코드에서 직접 바꿔주시면 됩니다.^^

            JLabel label = new JLabel("Hello World!!", SwingConstants.CENTER);
            대화보기
            • 징하
              뜨긴 뜨는데 왜 오른쪽 구석탱이로 뜰까요ㅜㅜ 정가운데에 뜨지 않아요
            • 슈슈
              놈나 신기..
            버전 관리
            egoing
            현재 버전
            선택 버전
            graphittie 자세히 보기