当前位置: 首页 > 面试题库 >

JButton()仅在鼠标悬停时起作用

武睿
2023-03-14
问题内容
    import java.awt.*;
    import java.awt.image.*;
    import java.awt.event.*;
    import javax.imageio.*;
    import java.lang.*;
    import java.io.*;
    import javax.swing.*;
    public class MainClass extends Component{
       private Image bg;
       private ImageIcon newgame;
       private ImageIcon quit;
       private ImageIcon options;
       private JButton bquit;
       private JButton boptions;
       private JButton bnewgame;
       private static Container pane; //Container

    public void loadImage() {
        try {
            bg=ImageIO.read(new File("bg1.png"));
        } catch (Exception e) {
        }
        if(bg!=null)
            repaint();

    }
    public void paint(Graphics g) {
        g.drawImage(bg,0,0,null);
    }
    public void imageButtons(JFrame f) {
        try {
            quit= new ImageIcon("quit.png");
            options=new ImageIcon("options.png");
            newgame= new ImageIcon("newgame.png");
        }catch(Exception e){}    
        bnewgame= new JButton(newgame);
        boptions= new JButton(options);
        bquit= new JButton(quit);
        bnewgame.setBounds(150,100,400,89);
        boptions.setBounds(150,200,400,89);
        bquit.setBounds(150,300,400,89);
        pane.add(bquit);
        pane.add(boptions);
        pane.add(bnewgame);
    }


    public static void main(String args[]) {

        MainClass o=new MainClass();    
        FullScreen fs=new FullScreen(); 
        JFrame f1=new JFrame("TITLE");
        pane=f1.getContentPane();
        fs.fullScreenIt(f1);
        pane.add(o);
        f1.setVisible(true);
        o.loadImage();
        o.imageButtons(f1);
    }
}

全屏是提供全屏框架的另一类。JButton上面有ImageIcon。bg1.png是背景图像 问题
是这些JButton仅在鼠标悬停时才可见,否则它们不出现。


问题答案:

您可能会遇到布局问题,在该问题中,您尝试将具有绝对界限的JButton添加到使用非null布局管理器的容器中。意见建议

  • 不要使用setBounds和绝对定位来调整和放置组件。
  • 阅读并使用布局管理器为您完成繁重的工作:课程:在容器中布置组件
  • pack()添加所有组件后,别忘了调用JFrame
  • 调用setVisible(true)后调用pack(),仅在将所有组件添加到GUI 后再调用 两者
  • 如果绝对需要使用组件的绝对位置,则可以使用空布局,但是无论如何,都应避免使用它。


 类似资料:
  • 问题内容: 我正在尝试在JButton上创建自定义鼠标悬停事件。原因是我的JButton当前是图像,因此我必须删除所有边框和动画,而不能删除所有边框和动画。所以我这样做: 这非常适合仅显示图像,并且按钮实际上可以正常工作。我想知道是否有任何预建方法可以做到这一点,或者我将如何学习做自己想做的事情。 更具体地说,当我将鼠标悬停在上方时,我希望图像做的只是使其变得更大一点。 到目前为止,我已经尝试过这

  • 我有这个样本: 链接 CODE超文本标记语言: 所有人都能清楚地理解错误所在,并能清楚地了解所有人的行为,包括发明者的行为,并能清楚地了解自己的真实性和准建筑风格。 代码CSS: 代码JS: 我希望div

  • 问题内容: 是否有某种方法可以阻止动画播放?我当时正在考虑为gif分配一个静态jpg,然后当我将鼠标悬停时分配给gif动画,但是我认为没有发生将鼠标取下的事件,因此可以加载静态jpg。 gif在按钮中循环,但是,如果我将鼠标悬停在它上面,它将消失。 如果鼠标光标不在按钮上,如何使gif静态化? 如果使用,如果我取下鼠标,是否会触发事件? 问题答案: 看到: 无需设置显式鼠标侦听器,切换将自动发生。

  • 我有一系列使用d3创建的行。我写了一些和事件事件。 当I时,事件通过增加行的值正常工作。 但是在上,在我编写代码的地方,事件不能正常工作,将值设置为初始值。 小提琴 帮我修一下。

  • 问题内容: 当有人将鼠标悬停在元素上时,我想显示一个div ,但是我想在CSS中而不是在JavaScript中执行此操作。您知道如何实现吗? 问题答案: 您可以执行以下操作: 这使用相邻的兄弟选择器,是the下拉菜的基础。 HTML5允许锚元素包装几乎所有内容,因此在这种情况下,该元素可以成为锚的子元素。否则原理是相同的-使用伪类更改另一个元素的属性。

  • 问题内容: libgdx中是否有任何侦听器可以让我检测到鼠标悬停而不是鼠标悬停。在场景2D的按钮类中,您有2种方法isOver和isPressed,但是它们执行相同的操作…还有其他问题吗?还有另一种方法来检测鼠标悬停在actor上吗? 问题答案: 还有的可以连接到和它提供的事件,如下面的: 该事件从根本上来说意味着鼠标开始悬停在角色上,意味着它“离开”了角色的区域。它还有一个事件,您可以使用该事件