2013-01-13 2 views
2

나는 GUI 코드가 JButton을 반투명로 만들고 싶으므로 JButton 뒤에있는 이미지를 볼 수 있습니다.JButton의 불투명도/투명도?

package dealORnodeal; 

import java.awt.BorderLayout; 
import java.awt.Color; 
import java.awt.Container; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 

import javax.swing.ImageIcon; 
import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JMenu; 
import javax.swing.JMenuBar; 
import javax.swing.JMenuItem; 

public class Deal extends JFrame implements ActionListener 
{ 
private Container contentPane = getContentPane(); 
private JButton one = new JButton("1"),two = new JButton("2"); 
private JMenu menu1 = new JMenu("JumpTo"); 
private JMenuBar bar1 = new JMenuBar(); 
private ImagePanel bg = new ImagePanel(new ImageIcon("bg.jpg").getImage()); 
public Deal() 
{ 

    super("Deal Or No Deal"); 
    setSize(800,850); 
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    setResizable(false); 
    setLayout(null); 
    contentPane.add(bg); 

    JMenuItem item1; 

    item1 = new JMenuItem("Start Game"); 
    item1.addActionListener(this); 
    menu1.add(item1); 

    item1 = new JMenuItem("GoTo Rules"); 
    item1.addActionListener(this); 
    menu1.add(item1); 

    item1 = new JMenuItem("GoTo Credits"); 
    item1.addActionListener(this); 
    menu1.add(item1); 

    item1 = new JMenuItem("GoTo Menu"); 
    item1.addActionListener(this); 

    menu1.add(item1); 
    bar1.add(menu1); 
    setJMenuBar(bar1); 

    //GAME CODE 
    one.setBounds(25,151,190,49); 
    one.addActionListener(this); 

    add(one); 
    //GAME CODE END 

setVisible(true); 
} 

@Override 
public void actionPerformed(ActionEvent e) 
{} 
} 

이제 단추를 통해 배경 이미지가 보이도록 단추를 반투명으로 설정하려면 어떻게해야합니까? 반투명과 투명을 혼동하지 마십시오.

+1

이 링크가 도움이 될 것 같아요. http://stackoverflow.com/questions/7373345/how-to-create-partly-transparent-jbutton-onfully-transparent-jframe – hmatar

+2

더 나은 도움을 받으려면 [SSCCE ] (http://sscce.org/) ('main (String)'추가),'ImageP anel' & 코드로 이미지를 만듭니다). –

+1

혼란을 피하기 위해 반투명과 투명도의 차이점을 말해 보지 않겠습니까? –

답변

1

나는 당신의 질문에 말씀 드릴 수 없습니다, 그래서 당신을 답변 해 드리겠습니다 ..

이 코드를 사용하는 경우 :

myButton.setOpaque(false); 

이 버튼을 페인트 않을 것이다 - 지금이야 때문에 trasnparent. 이

이 JButton의 작동하지 않습니다이 thread

1

setOpaque를 살펴 난 당신이 버튼을 페인트 메소드를 오버라이드 (override) 할 생각 버튼 반투명을 .. 만들 오른쪽 속성입니다 :

button.setContentAreaFilled(false);