자바에서 스윙 윈도우 프레임을 조작하는 방법은 무엇입니까? 색상을 변경하는 방법, PC 테마의 기본 스타일이 아니라 어떻게 이미지로 만들 수 있습니까?자바 스윙 윈도우 프레임
답변
내가 아는대로, 그것을 할 방법이 없습니다. JWindow를 확장하는 사용자 정의 된 윈도우에 대한 고유 한 클래스를 생성 할 수 있습니다. 당신은 자신의 스타일을 만들 수 있습니다. 할 일이 조금 있습니다.
// add pacakge and imports as needed...
/**
* Sample class implementation for windows with own frame style.
* Additional constructors may be added as needed. Default constructor used
* to show principle.
*/
public class MyWindow extends JWindow {
public MyWindow() {
super();
initUI();
}
private void initUI() {
setLayout(new BorderLayout());
add(new MyWindowFrameTop(this));
add(new MyWindowFrameLeft(this));
add(new MyWindowFrameRight(this));
add(new MyWindowFrameBottom(this));
}
}
JWindow는 Java API 문서에서 말하는 "일급 시민"입니다. 그것은 바탕 화면 내의 모든 기능을 갖춘 창이지만 닫기, 최대화, 최소화 및 창 메뉴와 같은 창 작업에 대한 모든 구현이 누락되었습니다. 이 기능의 구현은 BorderLayout을 사용하고 프레임 객체의 자체 구현을 작동 시켜서 위와 같이 추가 할 수 있습니다. MyWindowFrameXXX 객체는 원하는 프레임 상자 부분, 제목 이미지 등을 그릴 수있는 JPanel 일 수 있습니다. 또한 창 동작을위한 버튼을 추가하고 크기 조정을위한 마우스 동작을 구현할 수도 있습니다. 이를 구현하기 위해 프레임 객체는 윈도우에서 모든 액션을 수행하기 위해 부모 윈도우 참조가 필요합니다.
모든 것을 여기에 쓰려면 여기까지 가야합니다. 제 생각에는 원리가 보였습니다. 실제 효과가 실제로 무엇인지는 알지 못합니다.
몇 가지 예를 들려 줄 수 있습니까? – weardstuff
색상을 변경하려면 프레임 객체 또는 패널 객체에 setBackground (Color c) 메소드를 사용할 수 있습니다. 예 :
JFrame fr=new JFrame("Color demo");
fr.setBackground(Color.red); // color set to red
fr.setSize(900,200); // size changed
fr.setResizable(false); // you cant resize your window now
더 당신이 this 또는 this one을 수행 할 수 귀하의 자바 프레임을 사용자 정의하십시오. 스윙을 시작할 수 있습니다 this website
다른 스윙 구성 요소에도 setBackground (Color c)를 사용할 수 있습니다. –
프레임을 의미하는 것은 종료 버튼이 아니라 배경입니다. – weardstuff
스윙에서 윈도우가 보이는 방식과 관련된 모든 것이 Look & Feel (LaF)에 의해 처리 될 수 있습니다. 자세한 내용은 the LaF tag을 참조하십시오 (썼습니다). 대부분의 모양과 느낌은 창의 내용과 창 안의 모든 구성 요소의 스타일을 지정합니다.
JDK에서 Swing과 함께 제공되는 많은 기본 LaF가 있습니다. 여기에는 Motif, Metal 및 Synth (자신을 사용자 정의하는 빈 스타일)이 포함됩니다. 온라인에서 찾아서 다운로드 할 수있는 제품이 많이 있습니다. GUI를 표시하기 전에 classpath에 넣고 기본 방법으로 UIManager.setLookAndFeel(...)
을 실행하여 그 중 하나를 사용할 수 있습니다.
윈도우 프레임을 맞춤 설정하는 방법을 특별히 찾은 것처럼 들리지만 이는 자주 수행되지 않습니다. 저는 개인적으로 추천하지 않지만, 정말로 원한다면 Window
에 setUndecorated(true)
을 호출하여 프레임 장식을 끌 수 있습니다. 그러면 국경없는 창문이 열리게됩니다. 그런 다음 사용자 정의 닫기 버튼으로 닫기와 같이 원하는 창 기능을 다시 구현하는 방법을 결정해야합니다.
- 1. 센터 스윙 윈도우
- 2. 투명한 스윙 윈도우
- 3. 모든 스윙 프레임 "고정"얻을 대기가() 자바
- 4. 자바 스윙 애플릿 프레임 아이콘 변경
- 5. 자바 스윙에서 프레임, 윈도우 및 컴포넌트 간의 통신
- 6. 백그라운드에서 자바 스윙 초기화
- 7. 자바 스윙 디스플레이 문제
- 8. 자바 (스윙) : 왼쪽 하단을
- 9. 실생활 자바 스윙 프로젝트
- 10. 스윙 프레임 보이기
- 11. 회전 JLabel의 자바 스윙
- 12. 자바 스윙 콤보 박스
- 13. 자바 스윙 레이아웃 문제
- 14. 자바 스윙 디자인
- 15. 자바 스윙 JTable 정렬
- 16. 자바 스윙 : 포커스 문제
- 17. 자바 스윙 사용
- 18. 자바 스윙 JToolBar
- 19. 자바 스윙 보류 버튼
- 20. 자바 스윙 클리핑 문제
- 21. 자바 스윙 질의
- 22. 자바 스윙 테이블 질문
- 23. 자바 스윙 - JLabel 위치
- 24. 자바 스윙 버튼 색상
- 25. 자바 스윙 - JPanel과
- 26. 자바 스윙 다시 그리기()
- 27. 미생물 - 자바 스윙 도구
- 28. 자바 스윙 배경 이미지
- 29. 자바 스윙 코드의 문제점
- 30. 에뮬레이션 용 자바 스윙
여기에서 http://download.oracle.com/javase/tutorial/uiswing/components/frame.html을 방문하고 링크를 따라주십시오. –