簡體   English   中英

當MouseOver“鼠標懸停在它上面”時,如何放大JButton圖像

[英]How to Enlarge JButton Image when MouseOver “Mouse hovers over it”

當我將鼠標懸停在“開始”按鈕上時,它幾乎不會放大。 這是我的代碼下面的任何想法,為什么不會呢? 如果能給我看一個示例代碼,那真的有幫助! :)“我還是Java的新手,所以這就是為什么示例代碼可以幫助我更好地感謝您!”。

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();
}

這段代碼對我有用。

當您要更改大小時,只有setSize()更好。

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

更換:

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

與:

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

嘗試隨附的代碼對我有用

   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);
                }
            });
      }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM