2014-12-06 80 views
0

我试图在页面中间添加一个按钮,在图像上。我尝试了几种方法,最后我用了这个方法。我不确定为什么,但它肯定不会像按钮(按下/释放时的动画)。 下面是一段代码Java图像按钮

public class Window extends JFrame 
{ 
    public static final int WIDTH=400, HEIGHT=550; 
    private JPanel panel=new JPanel(); 

    public Window() 
    { 
     super("Tetris"); 
     setSize(WIDTH,HEIGHT); 

     setDefaultCloseOperation(EXIT_ON_CLOSE); 

     panel.setBackground(new Color(176,224,230)); 

     add(panel); 

    } 

    public void addLogo() 
    { 
     String address="C:/Users/Lorena/Desktop/Calculatoare Engleza/Anul II/OOP/Tetris v2//bin/Tetris/tetris.png"; 
     ImageIcon icon=new ImageIcon(address); 

     Image img = icon.getImage(); 
     Image newimg = img.getScaledInstance(320, 150, java.awt.Image.SCALE_SMOOTH); 
     icon = new ImageIcon(newimg); 

     JLabel label = new JLabel(); 
     label.setIcon(icon); 
     panel.add(label); 
     this.getContentPane().add(panel); 
    } 

    public void addStartButton() 
    { 

     String address="C:/Users/Lorena/Desktop/Calculatoare Engleza/Anul II/OOP/Tetris v2//bin/Tetris/play.png"; 
     ImageIcon icon=new ImageIcon(address); 

     //Used to resize image 
     Image img = icon.getImage(); 
     Image newimg = img.getScaledInstance(200, 200, java.awt.Image.SCALE_SMOOTH); 
     icon = new ImageIcon(newimg); 

     /*JLabel label = new JLabel(); 
     label.setIcon(icon); 
     panel.add(label); 
     this.getContentPane().add(panel);*/ 

     //this.add(panel2,BorderLayout.CENTER); 
     JButton start=new JButton(icon); 
     start.setBorder(BorderFactory.createEmptyBorder()); 
     start.setContentAreaFilled(false); 

     panel.add(start); 
     this.getContentPane().add(panel); 

    } 

    public void addBottomFirstPage() 
    { 
     String address="C:/Users/Lorena/Desktop/Calculatoare Engleza/Anul II/OOP/Tetris v2//bin/Tetris/bigbricks.png"; 
     ImageIcon icon=new ImageIcon(address); 

     Image img = icon.getImage(); 
     Image newimg = img.getScaledInstance(370, 150, java.awt.Image.SCALE_SMOOTH); 
     icon = new ImageIcon(newimg); 

     JLabel label = new JLabel(); 
     label.setIcon(icon); 
     panel.add(label); 
     this.getContentPane().add(panel); 
    } 
} 

回答

0

如果您注释掉

// start.setBorder(BorderFactory.createEmptyBorder()); 

它应该显示为普通的按钮就行了。

否则,我不知道你期望它做什么,因为边框通常是“点击”动画的责任。

+0

这就是事实,我不知道它到底会做什么。谢谢 – 2014-12-06 22:32:22