使用java时图像不工作/显示(JButton和JPanel)

时间:2016-06-25 21:39:32

标签: java swing

我尝试了无数的教程并查看了无数的网站(包括堆栈溢出),但没有一个代码对我有用。所以我最后问了我自己的问题,我的代码出了什么问题?

1& childRecordFromChildIndex, DependencyProperty dp, FrameworkElementFactory templateRoot)
   at System.Windows.StyleHelper.InvalidatePropertiesOnTemplateNode(DependencyObject container, FrameworkObject child, Int32 childIndex, FrugalStructList

}

2 个答案:

答案 0 :(得分:3)

你正在创建两个JFrame,一个是类本身的对象,this如果你愿意的话,你可以添加JButton,另一个是由变量显示和保持的f chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) { console.log(sender.tab.id); }); 1}}。解决方案:不要这样做 - 只创建并显示一个 JFrame,然后添加按钮。

我强烈建议你几乎不要扩展JFrame。你通过让你的类扩展JFrame来强迫你创建和显示JFrame,而通常需要更多的灵活性。事实上,我冒昧地说,我创建的大部分Swing GUI代码和我见过的扩展了JFrame,事实上你很少想做这个。更常见的是,您的GUI类将面向创建JPanels,然后可以将其放置到JFrames或JDialogs或JTabbedPanes中,或者在需要时通过CardLayouts交换。这将大大提高GUI编码的灵活性。

答案 1 :(得分:0)

Hooray我发现问题我只是错误的目录而且我显然没有接受过java的swing,并感谢评论中的所有帮助! (这是我的代码供参考) -

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenuBar;
import javax.swing.JPanel;

public class titlescreen extends JFrame {



private static final long serialVersionUID = 1L; 
JPanel jp = new JPanel();
JButton jb = new JButton();


public titlescreen() throws IOException {

    ImageIcon jbImage = new ImageIcon("/Users/Sammmy/Documents/workspace/Macrodom/src/button.jpg"); 
    jb = new JButton(jbImage); 

    //keep everything working   
    setTitle("MacroDom");
    setSize(5000, 5000);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setResizable(true);

    jp.add(jb);
    add(jp);

    setVisible(true);





}





public static void main(String[] args) throws IOException {

    new titlescreen();
}


}