Java 창 (실제로 JFrame)을 올바른 해상도로 설정하는 방법은 무엇입니까?

DavidHulsman

나는 Jamal의 탁구 게임 을 수정하여 자바에서 장난을 치며 이제 전체 창이 문자 그대로 800x600 이라는 것을 알았습니다. 그러나 그것은 내가 원하는 것이 아닙니다! 프레임 을 800x600으로 하고 그 주변을 창 8의 멋진 테두리로 만들고 싶습니다 . Java에 800x600 JFrame을 요청한 다음 794x571 프레임을 사용하는 것은 말이되지 않습니다!


창을 설정하는 기본 코드 :

public Main() {
    // cvars contains variables from JPong.ini (It's an extended class from the ini4j library)
    cvars = CVarList.getInstance();

    // get(sectionName, optionName, classtype, defaultValue)
    setSize(cvars.get("Window", "width", int.class, 800),
            cvars.get("Window", "height", int.class, 600));
    setTitle(cvars.get("Window", "title", String.class, "JPong"));
    setResizable(cvars.get("Window", "resizable", boolean.class, false));
    setVisible(true);
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    table = new Table(this);
    add(table);
}

내가 알아 낸 이유는 라켓 / 패들 속도를 변경하고 라켓 / 패들이 창의 양쪽 끝에 붙어서 코드를 수정 한 후 패들이 더 이상 달라 붙지 않았기 때문입니다. 보이는 프레임 (라켓 / 패들을 멈추기 위해 로직에서 0과 창의 높이를 사용했기 때문에)

이제 실제로 얼마나 많은 Java 창이 크기가 잘못되었는지 궁금합니다.

MadProgrammer

크리에이트 JPanel포함하는을 Table, 그 안에, 그것의 오버라이드 (override) getPreferredSize방법을 원하는 원하는 크기를 반환

public class TableWrapperPanel extends JPanel {
    private Table table;
    public TableWrapperPanel(Table table) {
        setLayout(new BorderLayout());
        this.table = table;
        add(table);
    }

    public Dimension getPreferredSize() {
        cvars = CVarList.getInstance();
        return new Dimension(cvars.get("Window", "width", int.class, 800),
            cvars.get("Window", "height", int.class, 600));
    }
}

이제 메인 메소드에서의 인스턴스를 생성하고 TableWrapperPanel"창"에 추가합니다. 그런 다음 호출 pack하면 콘텐츠 주변에 창이 압축됩니다.

public Main() {
    // cvars contains variables from JPong.ini (It's an extended class from the ini4j library)
    cvars = CVarList.getInstance();

    // get(sectionName, optionName, classtype, defaultValue)
    setSize(cvars.get("Window", "width", int.class, 800),
            cvars.get("Window", "height", int.class, 600));
    setTitle(cvars.get("Window", "title", String.class, "JPong"));
    setResizable(cvars.get("Window", "resizable", boolean.class, false));
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    TableWrapperPanel wrapper = new TableWrapper(table);
    add(wrapper );
    pack();
    setVisible(true);
}

또는 메서드 자체 Table를 재정의 하는 사용자 지정 버전을 만들 수 getPreferredSize있습니다.

public class SizableTable extends Table { 
    //... Constructors ...

    public Dimension getPreferredSize() {
        cvars = CVarList.getInstance();
        return new Dimension(cvars.get("Window", "width", int.class, 800),
            cvars.get("Window", "height", int.class, 600));
    }
}

메서드 Table에서의 인스턴스를 만드는 대신의 인스턴스를 main만들고 SizableTable창에 추가 한 다음 pack을 호출합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

AngularJS 앱을 글로벌 네임 스페이스로 설정하는 올바른 방법은 무엇입니까?

분류에서Dev

XCeed PropertyGrid : 올바른 제목을 설정하는 방법은 무엇입니까?

분류에서Dev

Java에서 창을 강제로 닫는 방법은 무엇입니까?

분류에서Dev

Java-UTF-8 문자열을 이진으로 변환하는 올바른 방법은 무엇입니까?

분류에서Dev

박쥐로 특정 Java 창을 닫는 방법은 무엇입니까?

분류에서Dev

Gnome에서 올바른 창 제어 동작을 복원하는 방법은 무엇입니까?

분류에서Dev

초기 데이터를 새 창으로 전달하는 올바른 방법은 무엇입니까?

분류에서Dev

PHP에서 올바른 경로를 설정하는 올바른 방법은 무엇입니까?

분류에서Dev

byobu : 창을 강제로 닫는 방법은 무엇입니까?

분류에서Dev

React / Flux에서 형제 상태로 작업을 시작하는 올바른 방법은 무엇입니까?

분류에서Dev

상단 여백을 하나의 창 길이로 설정하는 방법은 무엇입니까?

분류에서Dev

IntelliJ로 Java 코드 스타일 설정을 올바르게 가져 오는 방법은 무엇입니까?

분류에서Dev

Tmux에서 창 제목을 동적으로 설정하는 방법은 무엇입니까?

분류에서Dev

JFrame 창 상단에 버튼 패널을 설정하는 방법은 무엇입니까?

분류에서Dev

창에 대한 "항상 위에"바로 가기를 설정하는 방법은 무엇입니까?

분류에서Dev

창에 대한 "항상 위에"바로 가기를 설정하는 방법은 무엇입니까?

분류에서Dev

버튼으로 Java SWT 창을 닫는 방법은 무엇입니까?

분류에서Dev

올바른 DataType으로 DataFrame의 값을 얻는 방법은 무엇입니까?

분류에서Dev

Vue.js를 사용하여 모달을 닫은 경우 모달 창의 데이터를 기본값으로 재설정하는 올바른 방법은 무엇입니까?

분류에서Dev

프로그램을 서비스로 실행하는 올바른 방법은 무엇입니까?

분류에서Dev

EntityTypeBuilder가 새로운 방식으로 올바른 주석을 달도록하는 방법은 무엇입니까?

분류에서Dev

창을 공백으로 바꾸거나 닫는 방법은 무엇입니까?

분류에서Dev

모든 사용자가 프로그램에 액세스 할 수 있도록 올바른 폴더 권한을 설정하는 방법은 무엇입니까?

분류에서Dev

Inno-설정 창 제목을 지정하는 방법은 무엇입니까?

분류에서Dev

Inno-설정 창 제목을 지정하는 방법은 무엇입니까?

분류에서Dev

VLC가 본 콘텐츠 해상도에 따라 창 크기를 자동으로 조정하는 것을 방지하는 방법은 무엇입니까?

분류에서Dev

다른 스레드에서 실행중인 창을 올바르게 제거하는 방법은 무엇입니까?

분류에서Dev

정점을 업데이트하고 GPU로 보내는 올바른 방법은 무엇입니까?

분류에서Dev

정점을 업데이트하고 GPU로 보내는 올바른 방법은 무엇입니까?

Related 관련 기사

  1. 1

    AngularJS 앱을 글로벌 네임 스페이스로 설정하는 올바른 방법은 무엇입니까?

  2. 2

    XCeed PropertyGrid : 올바른 제목을 설정하는 방법은 무엇입니까?

  3. 3

    Java에서 창을 강제로 닫는 방법은 무엇입니까?

  4. 4

    Java-UTF-8 문자열을 이진으로 변환하는 올바른 방법은 무엇입니까?

  5. 5

    박쥐로 특정 Java 창을 닫는 방법은 무엇입니까?

  6. 6

    Gnome에서 올바른 창 제어 동작을 복원하는 방법은 무엇입니까?

  7. 7

    초기 데이터를 새 창으로 전달하는 올바른 방법은 무엇입니까?

  8. 8

    PHP에서 올바른 경로를 설정하는 올바른 방법은 무엇입니까?

  9. 9

    byobu : 창을 강제로 닫는 방법은 무엇입니까?

  10. 10

    React / Flux에서 형제 상태로 작업을 시작하는 올바른 방법은 무엇입니까?

  11. 11

    상단 여백을 하나의 창 길이로 설정하는 방법은 무엇입니까?

  12. 12

    IntelliJ로 Java 코드 스타일 설정을 올바르게 가져 오는 방법은 무엇입니까?

  13. 13

    Tmux에서 창 제목을 동적으로 설정하는 방법은 무엇입니까?

  14. 14

    JFrame 창 상단에 버튼 패널을 설정하는 방법은 무엇입니까?

  15. 15

    창에 대한 "항상 위에"바로 가기를 설정하는 방법은 무엇입니까?

  16. 16

    창에 대한 "항상 위에"바로 가기를 설정하는 방법은 무엇입니까?

  17. 17

    버튼으로 Java SWT 창을 닫는 방법은 무엇입니까?

  18. 18

    올바른 DataType으로 DataFrame의 값을 얻는 방법은 무엇입니까?

  19. 19

    Vue.js를 사용하여 모달을 닫은 경우 모달 창의 데이터를 기본값으로 재설정하는 올바른 방법은 무엇입니까?

  20. 20

    프로그램을 서비스로 실행하는 올바른 방법은 무엇입니까?

  21. 21

    EntityTypeBuilder가 새로운 방식으로 올바른 주석을 달도록하는 방법은 무엇입니까?

  22. 22

    창을 공백으로 바꾸거나 닫는 방법은 무엇입니까?

  23. 23

    모든 사용자가 프로그램에 액세스 할 수 있도록 올바른 폴더 권한을 설정하는 방법은 무엇입니까?

  24. 24

    Inno-설정 창 제목을 지정하는 방법은 무엇입니까?

  25. 25

    Inno-설정 창 제목을 지정하는 방법은 무엇입니까?

  26. 26

    VLC가 본 콘텐츠 해상도에 따라 창 크기를 자동으로 조정하는 것을 방지하는 방법은 무엇입니까?

  27. 27

    다른 스레드에서 실행중인 창을 올바르게 제거하는 방법은 무엇입니까?

  28. 28

    정점을 업데이트하고 GPU로 보내는 올바른 방법은 무엇입니까?

  29. 29

    정점을 업데이트하고 GPU로 보내는 올바른 방법은 무엇입니까?

뜨겁다태그

보관