-1

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

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

我只将帧视为输出。

4

1 回答 1

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")));
于 2013-09-04T08:17:26.043 回答