2012-10-19 1 views
0

가능한 복제를 클릭은 :
How to display images on JPanels using image paths in Netbeans표시 이미지와 텍스트 문자열이 동시 가능 버튼

나는 버튼과 JPanel의와 GUI를 준비했습니다. JFrame에서 버튼을 클릭하면 3 가지 일이 발생합니다. 원본 패키지의 경로로 지정된 두 개의 큰 이미지가 두 개의 별도 JPanel에 표시되어야하며 빈 JLabel에 작은 텍스트 문자열을 표시해야합니다. 문제는 단추 처리 코드를 작성하는 방법을 알 수 없다는 것입니다. 또한 작동시키기 위해 일부 init 구성 요소를 구현해야하는지 알 수 없습니다. 이 내 프로젝트 인 경우

package db.SuperMarioGFX; 

import java.awt.image.BufferedImage; 
import java.io.File; 
import java.io.IOException; 
import javax.imageio.ImageIO; 
import javax.swing.ImageIcon; 
import javax.swing.JLabel; 

/** 
* 
* @author speterson86 
*/ 
public class EnemyGFX extends javax.swing.JFrame { 

    /** 
    * Creates new form EnemyGFX 
    */ 
    public EnemyGFX() { 
     initComponents(); 
    } 

    /** 
    * This method is called from within the constructor to initialize the form. 
    * WARNING: Do NOT modify this code. The content of this method is always 
    * regenerated by the Form Editor. 
    * 
    * SuppressWarnings("unchecked"), followed by over 1000 lines of Generated 
    * Code are below this, but not necessary to include in this code sample! 
    */ 
    private void btnBeachKoopaActionPerformed(java.awt.event.ActionEvent evt) { 
     // TODO add your handling code here: 
     /** 
     * For 'Land[JPanel]' (Panel-container for a set of buttons, not for 
     * displaying images) 
     * 
     * Note that "pbx" is short for "picture box". Unlike VB, I couldn't 
     * find any so-called picture boxes when I was building my GUI in 
     * Netbeans, so I hoped JPanels would be the next best thing to use for 
     * displaying relatively large (roughly 400 x 400 pixels or less each) 
     * images. Now, here's the 3 things I need to display on my EnemyGFX 
     * JFrame when the btnBeachKoopa button is clicked on: 
     * 
     * Display "GFX01.png" in pbxDefaultBinFile[JPanel] 
     * Display "Yoshi'sIsland2.zst, Level #$106" text in lblSaveState[JLabel] 
     * Display "Land1.PNG" in pbxFixedBinFile[JPanel] 
     * 
     * So how would I go about making that happen?... 
     */ 
    } 
+0

[친숙한] (http://stackoverflow.com/q/12964639/230513). – trashgod

답변

2

, 나는 (만약 너무 큰 너무 많은 이미지가 아닌 경우) 시작 프로그램에서 이미지를 업로드

  • 을 고려 ImageIcons에 배치 할 : 여기에 몇 가지 예제 코드는 . 이미하는 JButton의 ActionListener의 코드의 GUI
  • 의해 표시 JLabels에서 ImageIcons 표시
  • setIcon(...) 방법 setText(...) 통해 JLabel의 텍스트의 본문을 통해 이미지의 JLabel의 이미지 아이콘을 설정.
  • 실제로 이미지와 텍스트가 서로 가깝고 적절한 방향으로있을 경우 하나의 JLabel을 사용하여 이미지와 텍스트를 모두 저장할 수 있습니다.
  • 또한 NetBeans의 Matisse 드래그 앤 드롭 GUI 작성자와 같이 코드 생성기를 사용하여 스윙 코드를 생성하는 것으로 보입니다. Swing을 처음 접했을 때 나는 먼저 Swing을 손으로 코딩하는 법을 배워야하고, 나중에 Swing에 익숙한 경우에만 원하는 코드 생성기를 사용하도록 강요하십시오. 이렇게하면 일찍 슬픔의 세계를 구할 수 있습니다. 좀 더 구체적인 조언이 필요하면 우리가 전에 제안했듯이

, 다음, 우리가이 코드에 실제 시도 제시해주십시오 (생성 된 코드의하지 골격을 - 우리가 당신의 코드를 볼 필요)와 함께 현재 코드 시도가 가지고있는 문제점에 대한 자세한 설명.

+1

+1 건전한 조언; 또한'Icon' 인터페이스 구현을 고려하십시오. – trashgod

관련 문제