我有如下简单的 GUI 代码,其中我想使 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)
{}
}
现在,如果我想将按钮设置为半透明的,以便通过按钮可以看到背景图像,代码会怎样。顺便说一句,请不要将半透明与透明混淆!
最佳答案
我不能评论你的问题,所以我会在这里回答你..
如果您使用此代码:
myButton.setOpaque(false);
它不会绘制按钮 - 因为现在它是透明的。 要创建半透明的按钮,我认为您应该重写按钮绘制方法。
看看这个thread
关于java - JButton 的不透明度/半透明度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14303858/