2011-04-29 5 views
4

Java에서 GUI를 만드는 방법에 대한 지침이 필요합니다. 저는 대학생이고 결코 집중하지 않는 것 중 하나입니다. 나는 현재 내 프로그램의 나머지 부분을 설정하고 작업하고 있으며 이제는 GUI를 만들려고 노력하고있다. 나는 이것을위한 새로운 GUI 클래스를 만들고있다. (나는 이것이 이것이 가장 좋은 방법이라고 생각한다.) 나는 기본 설정을 만드는 방법을 이해하지만 GUI와 상호 작용하는 방법을 이해하지 못합니다. 내가하고 싶은 일은 창을 띄운 다음 두 장의 그림을 각각 밑에 라벨로 나란히 표시합니다. 이미지를 클릭 할 수 있고 클릭하면 두 개의 새로운 이미지가로드됩니다 (레이블이 아래로 변경됨). 나는 이처럼 아무것도하지 않았고 이미지를 추가하는 데 여러 가지 다른 방법을 사용 했으므로 모범 사례가 있는지 궁금합니다.Swing을 사용하는 Java GUI

필요한 경우 코드를 제공 할 수 있지만 내 질문이 제기 될 때 필자가 필요하다고 생각하지 않았습니다. 모든 도움에 미리

감사합니다.

+9

꽤 좋은 (http://download.oracle.com/javase/tutorial/uiswing/). – asgs

+1

ide를 사용하는 경우 Netbeans에는 http://netbeans.org/kb/docs/java/quickstart-gui.html – grantk

+0

"내 질문에 대한 답변"과 같은 훌륭한 자습서가 있습니다. 질문이 끝나는 지점은 '?'입니다. 그 텍스트는 '?'이 부족합니다. 다른 말로하면 - 아무런 의문의 여지가 없습니다. –

답변

7

제안 :

  • 는 ImageIcons로 이미지를 넣습니다. ImageIcon의 ArrayList를 가지는 것을 고려하십시오.
  • ImageIcon을 JLabel에 표시하십시오. setIcon (...)을 호출하여 아이콘을 변경할 수 있습니다.
  • 텍스트를 동일한 JLabel로 표시합니다 (또는 JPanel을 사용하여 BorderLayout이 보유하고있는 이미지 JLabel 아래에 다른 JLabel을 유지함). setText (...) 메소드를 통해 JLabel 텍스트를 변경하십시오.
  • 이미지 보관 용 JLabel에 MouseListener를 추가하고 수신기의 mousePressed 메서드에서 JLabel 아이콘을 변경합니다. mousePressed MouseEvent 매개 변수의 getSource() 메서드를 통해 클릭 한 레이블에 대한 참조를 가져올 수 있습니다.
  • asgs의 설명에 언급 된 자습서를 사용하면이 모든 작업에 도움이됩니다.

편집 1 :

  • 더 나은 - 내 게시물 아래에 코멘트에 Puce의 추천과 함께 할 것입니다!
+3

또는 JButton에 die imageicons를 표시하십시오 (마음에 들지 않으면 테두리를 해제 할 수 있습니다). 그런 다음 MouseEvents (하위 수준) 대신 ActionEvents (상위 수준)를 수신 할 수 있습니다. – Puce

+0

+1 좋은 제안. – Boro

3

내 5 년간의 스윙 경험에 대한 개인적인 조언 2 개.

GUI 작성기 대신 LayoutManagers를 사용하여 GUI를 작성하는 방법을 학습하십시오. (MigLayout이 최선의 선택)

DefaultTableModel을 사용하는 대신 TableModel을 작성하는 방법을 학습합니다.

0

도 일부는 아마도 [스윙 추적]을 읽기 시작한다 tutorials