2015-07-10 2 views
0

В значительной степени моя кнопка «Пуск» обычно не увеличивается, когда я навис над ним. Вот мой код ниже любой идеи о том, почему это не так? и если бы мог показать мне пример кода, который бы действительно помог! :) «Я все еще довольно новичок в java», поэтому поэтому примерный код мне помог бы заблаговременно !.Как увеличить изображение JButton, когда MouseOver «Мышь нависает над ним»

public class Window extends JFrame implements MouseListener { 

private static final long serialVersionUID = 1L; 
private static JButton button; 
private static JFrame frame = new JFrame("Scroller Runner v0.2.0"); 

public static void main(String[] args) throws IOException { 
    new Window(); 
    JButton button = new JButton(); 
    JTextPane TEXT = new JTextPane(); 
    BufferedImage buttonIcon; 
    button = new JButton(new ImageIcon("C:\\Users\\GOULDEN\\Desktop\\MENU_START.png")); 
    button.setBorder(BorderFactory.createEmptyBorder()); 
    button.setContentAreaFilled(false); 
    button.setBounds(490, 250, 300, 75); 
    button.setCursor(new Cursor(Cursor.HAND_CURSOR)); 
    button.addMouseListener(null); 

    frame.setSize(1280, 720); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    frame.setLocationRelativeTo(null); 
    frame.setVisible(true); 
    frame.setResizable(false); 
    frame.setContentPane(new JLabel(new ImageIcon(ImageIO.read(new File("C:\\Users\\GOULDEN\\Desktop\\MAIN_MENU.png"))))); 
    frame.pack(); 
    frame.add(button); 
    frame.setVisible(true); 
}@Override 
public void mouseEntered(MouseEvent e) { 
    button.setBounds(550, 300, 300, 75); 
    this.repaint(); 
} 
+2

Рассматривали ли вы пытаетесь использовать [ 'JButton #setRolloverIco n'] (http://docs.oracle.com/javase/7/docs/api/javax/swing/AbstractButton.html#setRolloverIcon (javax.swing.Icon))? – MadProgrammer

+0

Я вижу много проблем в вашем коде 1) у вас есть 'extend'' jframe', но вы создаете 'new frame()' 2) вы вызываете 'button.addMouseListener (null);' –

+0

Я не думаю, что я 'когда-либо видел setContentPane(), вызываемый в JLabel – BoDidely

ответ

0

Эта часть кода работает для меня.

Как вы хотите изменить размер только setSize() для этого лучше.

button.addMouseListener(new java.awt.event.MouseAdapter() { 
     public void mouseEntered(java.awt.event.MouseEvent evt) {     
      button.setSize(WIDTH,HEIGHT);     
     } 
    }); 
0

заменить:

button.setBounds(550, 300, 300, 75); 

с:

button.setPreferredSize(new Dimension(500, 100)); 
0

Попробуйте прилагаемую код свою работу для меня

private JFrame myFrame = new JFrame(); 

    @Override 
    public void mouseEntered(java.awt.event.MouseEvent evt) { 
      SwingUtilities.invokeLater(new Runnable() { 
       public void run() { 
        myFrame.setAlwaysOnTop(true); 
        myFrame.initialize(instance); 

        myFrame.setLocation(instance.nMainPanelXPosition,instance.nMainPanelYPosition); 
        myFrame.setVisible(true); 
       } 
      }); 
     } 

public void mouseExited(java.awt.event.MouseEvent evt) { 
      SwingUtilities.invokeLater(new Runnable() { 
       public void run() { 
        myFrame.setVisible(false); 
       } 
      }); 
     } 
Смежные вопросы