2011-12-28 4 views
2

이미지를 jmenubar + jtoolbar의 배경으로 설정할 수 있는지 알고 싶습니다. (theym 중 하나뿐 아니라 각각의 theym 중 하나는 아니지만 둘 다 사용합니다.). ..jmenubar + jtoolbar 안에 이미지 배치하기

누구나 아이디어가 있습니까 ?? 가능하면 어떻게해야합니까?

감사합니다. 나는 (내의 JMenuBar + JToolBar의 스위트 오른쪽 크기의 cutted)이 개 이미지를 사용하고 무시와 객체의 선언이 추가 :: enter image description here

가 해결 그것은 잘 작동 : 여기

이미지

설명합니다! 다음은 코드 코드입니다.

/////////////////////////////// 
    JToolBar toolBar = new JToolBar(){ 
     @Override 
     protected void paintComponent(Graphics g){ 

      Image photo = getToolkit().getImage("src/MainFrame/Images/xtremeCalliBottom.png"); 
      super.paintComponent(g) ; 
      int x=(mainFrame.getWidth()-200), y=0 ; 
      if(photo != null) 
       g.drawImage (photo, x, y, this); 
     } 
    }; 

    // ............ 

    //========== Menu Bar 
    jMenuBar = new JMenuBar(){ 
     @Override 
     protected void paintComponent(Graphics g){ 

      Image photo = getToolkit().getImage("src/MainFrame/Images/xtremeCalliTop.png"); 
      super.paintComponent(g) ; 
      int x=(mainFrame.getWidth()-200), y=0 ; 
      if(photo != null) 
       g.drawImage (photo, x, y, this); 
     } 
    }; 

    // ................ 


    jMenuBar.setPreferredSize(new Dimension(100, 25)); 
    toolBar.setPreferredSize(new Dimension(100,40)); 

답변

3

물론이 있지만 별도로 무시해야합니다. 또한 각 변수의 크기를 알 수 있도록 전역 변수 (또는 둘 사이에 전달할 수있는 변수)를 유지해야합니다.

그림을 그리려면 paintComponent()를 재정의하거나 고유 한 UI 대리인을 추가해야합니다. 이미지를로드하고 도구 모음의 위쪽 부분 (또는 상대 백분율) 만 칠한 다음 도구 모음의 아래쪽 부분 또는 상대 비율을 칠할 수 있습니다.

+0

두 컨테이너 사이에 내 이미지를 분할하는 것 외에 다른 방법이 없습니까? (예를 들어, 이미지의 jframe- 위치에 상대적) – Jsncrdnl

+0

나는 당신의 솔루션을 사용했습니다. 나는 그것이 좋지 않을 것이라고 생각했다. (이미지 들간의 이격, 이것들을 떼어내는 것 등의 문제가 없다.) 문제가 없다. 감사 ! – Jsncrdnl