为什么我看不到图像或按钮?

时间:2013-09-04 07:32:06

标签: java image swing netbeans jbutton

我正在尝试在图片上添加一个按钮。但是既没有看到按钮也没有看到图像。这是为什么 ?我刚刚在IDE调用initComponents方法之后从构造函数中调用此方法。

public void initD() {
    try {
        BufferedImage myPicture = ImageIO.read(new File("C:\\Users\\user\\Documents\\NetBeansProjects\\JavaApplication1\\src\\javaapplication1\\meaning.JPG"));
        JLabel picLabel = new JLabel(new ImageIcon(myPicture));
        JButton b = new JButton("Press me");
        jPanel1.add(picLabel);
        jPanel1.add(b);
        System.out.println("last statement");
    }catch(Exception exc) {
        exc.printStackTrace();
    }
}

我只看到帧作为输出。

1 个答案:

答案 0 :(得分:2)

我不知道您正在使用哪种布局,但是您应该像这样实现button.setIcon();;

public void initD() {
    JButton button = new JButton("Press me");
    try {
        BufferedImage myPicture = ImageIO.read(new File("C:\\Users\\user\\Documents\\NetBeansProjects\\JavaApplication1\\src\\javaapplication1\\meaning.JPG"));
        JLabel picLabel = new JLabel(new ImageIcon(myPicture));

        button.setIcon(new ImageIcon(myPicture));

        System.out.println("last statement");
    }catch(Exception exc) {
        exc.printStackTrace();
    }
}

此外,您可能需要考虑图像的资源,也许这种实现可能会有所帮助;

ImageIO.read(getClass().getResource("resources/meaning.JPG")));