2009-08-14 7 views
1

Java FileDialog를 표시하고 초기 크기를 적당한 크기로 설정합니다 (최대화 단추가 표시되지 않으며 많은 사용자가 alt-space X를 대신 사용할 수 있음을 알지 못할 수도 있음) . 나는 setBounds를 시도했지만 아무 것도하지 않았고 그것을 극대화하는 방법을 보지 못했다. 나는 무엇을 놓치고 있습니까?Java FileDialog 프로그래밍 방식으로 크기 설정

업데이트 : Windows에서 적어도 시스템 파일 대화 상자는 프로그램 호출 간에도 크기와 최대 상태를 기억하므로 원하는 크기로 한 번만 설정하면 그대로 유지됩니다. 그걸로 충분할 것 같아. 그래서 나는 그걸 남겨 둘 것이다.

+0

일부 사람들은 2560x1600 이상의 해상도를 가지고 있습니다. 그 해상도에서 최대화 된 창은 가증 스럽습니다. –

+1

@Dave : 수천 개의 파일을 나열 할 때가 아닙니다. –

답변

1

우선, 나는 swing에서 JFileChooser를 사용하는 것이 좋습니다. (어떤 이유로 든 awt로 제한되지 않는 한). 그것에는 훨씬 더 많은 선택권이 있습니다.

둘째, 둘 다 setsize 메소드가있는 Component에서 상속됩니다. 사용자의 화면 크기를 가져 와서 크기를 백분율로 설정할 수 있습니다.

당신은 그것을 극대화하고 싶습니까? 그렇다면 크기를 사용자의 화면 크기로 설정하면됩니다.

다음과 같이 화면 크기를 얻을 수 있습니다. Dimension dim = Toolkit.getDefaultToolkit(). getScreenSize();

귀하의 질문에 대한 답변이 정확하지 않은 경우 더 정확하게 대답하십시오.

+0

이 세상에서 좋은 모든 것을 사랑하기 때문에 사람들이 창문을 최대화 할 것을 제안하지 마십시오. 내 해상도는 2560 x 1600입니다. –

+0

lol! 나는 단지 수단만을 제공한다. 잘 사용하려면 좋은 감각이 필요하지 않습니다. ;) 그러나 나는 최대화에 관한 부분을 꺼낼 수 있었다. 그는 그것을 가져 오는 사람이었다! –

1

pack()을 호출 한 다음 setSize()를 호출해야합니다. 포장 될 때까지는 실현되지 않습니다. setVisible() 전에 팩을 수행하십시오. BTW, pack()은 내용이 원하는 크기가되도록 대화 상자의 크기를 조정하므로 원하는 내용이 될 수 있습니다.

필자는 AWT FileDialog를 사용하며 크기에 문제가 없었습니다 (제대로 배치하려고하면 문제가 발생했지만 별도의 문제 임). 내 코드는 명백합니다.

dlg=new FileDialog(owner,"Select File to Load",FileDialog.LOAD); 
dlg.setFile(null); 
dlg.setVisible(true); 

내 경험상 기본 크기는 완벽하게 합리적입니다. 물론 그것은 대화 상자이기 때문에 마우스로 크기를 조절할 수 있습니다. 프레임이 아닌 최대화 할 수 없습니다.

dlg.setVisible()을 실행 한 후 setSize()에 약간의 변형을 시도했지만 크기와 위치에 대한 자체 아이디어가있는 헤비급 창일 수 있기 때문에 완전히 무시합니다. FilenameFilter가 Windows에서 작동하지 않는다는 것에 항상 놀라움을 금치 못했습니다.

+0

pack()을 시도했지만 효과가 없습니다. – rwallace

관련 문제