//工具栏
      JButton toolNewFile = new JButton(new ImageIcon("images/toolNewFile.jpg"));      JButton toolOpenFile = new JButton(new ImageIcon("images/toolOpenFile.jpg"));      JButton toolSaveFile = new JButton(new ImageIcon("images/toolSaveFile.jpg"));     JButton toolCopy = new JButton(new ImageIcon("images/toolCopy.jpg"));      JButton toolCut = new JButton(new ImageIcon("images/toolCut.jpg"));     JButton toolPaste = new JButton(new ImageIcon("images/toolPaste.jpg"));     JButton toolSelectAll = new JButton(new ImageIcon("images/toolSelectAll.jpg"));图标都在imgages文件夹中,文件夹与源文件在同目录下
   

解决方案 »

  1.   

    图标都在imgages文件夹中,文件夹与源文件在同目录下 
     
    如果红色标记的不是失误的话,上述代码是没问题的,难道是没有编译。问问楼主用的什么编译器.
      

  2.   

    是images,上面写错了是eclipse本来用汉字代替是还能在按钮上显示汉字,但是换成图标后 就是空白了!
    import java.awt.*;
    import javax.swing.*;
    import java.net.*;public class JSplashWindowEx extends JWindow implements Runnable{

    Thread splashThread = null;
    private JProgressBar progress;

    public JSplashWindowEx(){
    setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
    JPanel splash = new JPanel(new BorderLayout());
    URL url = getClass().getResource("images/ok.jpg");
    if(url != null){
    splash.add(new JButton(new ImageIcon(url)),BorderLayout.CENTER);
    }
    progress = new JProgressBar(1,100);
    progress.setStringPainted(true);
    progress.setBorderPainted(false);
    progress.setString("Program is Now Loading...");
    progress.setBackground(Color.white);
    splash.add(progress,BorderLayout.SOUTH);
    setContentPane(splash);
    Dimension screen = getToolkit().getScreenSize();
    pack();
    setLocation((screen.width - getSize().width)/2 , (screen.height - getSize().height)/2);
    }

    public void start(){
    this.toFront();
    splashThread = new Thread(this);
    splashThread.start();
    }

    public void run(){
    //show();
    setVisible(true);
    try{
    for(int i =0;i<100;i++){
    Thread.sleep(100);
    progress.setValue(progress.getValue()+1);
    }
    }catch(Exception ex){
    ex.printStackTrace();
    }
    dispose();
    }

    static void showFrame(String title){
    JFrame frame = new JFrame(title);
    frame.setSize(640,480);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
    Dimension frameSize = frame.getSize();
    if(frameSize.height > screenSize.height){
    frameSize.height = screenSize.height;
    }
    if(frameSize.width > screenSize.width){
    frameSize.width = screenSize.width;
    }
    frame.setLocation((screenSize.width - frameSize.width)/2,(screenSize.height - frameSize.height)/2);
    try{
    Thread.sleep(10000);
    }catch(Exception ex){
    ex.printStackTrace();
    }
    frame.setVisible(true);
    }

    public static void main(String []args){
    JSplashWindowEx splash = new JSplashWindowEx();
    splash.start();
    showFrame("Splash window demo");
    }}
      

  3.   

    package demo;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;
    import java.io.*;
    import java.lang.*;
    import java.awt.datatransfer.*;
    import java.awt.print.*;
    //import java.net.URL;
    import javax.swing.Icon;
    import java.io.File;
    import javax.swing.ImageIcon;public class EditerDemo extends JFrame implements ActionListener{ 
     
        
       JMenuBar menuBar = new JMenuBar();
       JToolBar toolBar = new JToolBar();
       
       JTextArea textArea = new JTextArea();
       {
       textArea.setLineWrap(true);
       }
       //textArea.setEditbale(true);
       JScrollPane scrollPane = new JScrollPane(textArea);
       
       //菜单栏
       //JMenuBar menuBar = new JMenuBar();
       //菜单项
       JMenu fileMenu = new JMenu("文件(F)");
       JMenuItem newItem = new JMenuItem("新建(N)");
       JMenuItem openItem = new JMenuItem("打开(O)");
       JMenuItem saveItem = new JMenuItem("保存(S)");
       JMenuItem saveAsItem = new JMenuItem("另存为(A)");
       JMenuItem printItem = new JMenuItem("打印(P)");
       JMenuItem exitItem = new JMenuItem("退出(X)");
       
       JMenu editMenu = new JMenu("编辑(E)");
       JMenuItem copyItem = new JMenuItem("复制(C)");
       JMenuItem cutItem = new JMenuItem("剪切(T)");
       JMenuItem pasteItem = new JMenuItem("粘贴(P)");
       JMenuItem selectItem = new JMenuItem("全选(E)");   
       JMenu helpMenu = new JMenu("帮助(H)");
       JMenuItem aboutItem = new JMenuItem("关于记事本");
       
       //工具栏
       //JButton toolNewFile = new JButton("新建");
       JButton toolNewFile = new JButton(new ImageIcon("images/toolNewFile.jpg"));
       //JButton toolOpenFile = new JButton("打开");
       JButton toolOpenFile = new JButton(new ImageIcon("images/toolOpenFile.jpg"));
       //JButton toolSaveFile = new JButton("保存");
       JButton toolSaveFile = new JButton(new ImageIcon("images/toolSaveFile.jpg"));
       //JButton toolCopy = new JButton("复制");
       JButton toolCopy = new JButton(new ImageIcon("images/toolCopy.jpg"));
       //JButton toolCut = new JButton("剪切");
       JButton toolCut = new JButton(new ImageIcon("images/toolCut.jpg"));
       //JButton toolPaste = new JButton("粘贴");
       JButton toolPaste = new JButton(new ImageIcon("images/toolPaste.jpg"));
       //JButton toolSelectAll = new JButton("全选");
       JButton toolSelectAll = new JButton(new ImageIcon("images/toolSelectAll.jpg"));
       
       String fileName = "NoName";
       Toolkit toolkit = Toolkit.getDefaultToolkit();
       Clipboard clipBoard =toolkit.getSystemClipboard();
       
       /**打开文件对话框和保存对话框 */
       private FileDialog openFileDialog = new FileDialog(this,"Open File",FileDialog.LOAD);
       
       private FileDialog saveAsFileDialog = new FileDialog(this,"Save File As",FileDialog.SAVE);
          
       
       public EditerDemo(){
       
         setTitle("记事本Demo版");
         setFont(new Font("Times New Roman",Font.PLAIN,12));
        // SetBackground(Color.while);
         setSize(400,300);
         
         fileMenu.setMnemonic('F');
         editMenu.setMnemonic('E');
         helpMenu.setMnemonic('H');
         
         fileMenu.add(newItem);
         newItem.setMnemonic('N'); 
         newItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK));
         
         fileMenu.add(openItem);
         openItem.setMnemonic('O');
         openItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));
         
         fileMenu.add(saveItem);
         
         
         fileMenu.add(saveAsItem);
         saveAsItem.setMnemonic('A');
         saveAsItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK));
         
         fileMenu.addSeparator();
         
         fileMenu.add(printItem);
         printItem.setMnemonic('P');
         printItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,InputEvent.CTRL_MASK));
         
         fileMenu.addSeparator();
         
         fileMenu.add(exitItem);
         exitItem.setMnemonic('X');
         exitItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK));
         
         editMenu.add(copyItem);
         copyItem.setMnemonic('C');
         copyItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK));
         
         editMenu.add(cutItem);
         cutItem.setMnemonic('T');
         cutItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_T,InputEvent.CTRL_MASK));
         
         editMenu.add(pasteItem);
         pasteItem.setMnemonic('P');
         pasteItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,InputEvent.CTRL_MASK));
         
         editMenu.addSeparator();
         
         editMenu.add(selectItem);
         selectItem.setMnemonic('E');
         selectItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E,InputEvent.CTRL_MASK));
         
         helpMenu.add(aboutItem);
         
         
         toolBar.add(toolNewFile);
         toolBar.add(toolOpenFile);
         toolBar.add(toolSaveFile);
         
         toolBar.add(Box.createHorizontalStrut(4));
         //toolBar.add(new JSeparator(SwingConstants.VERTICAL));
         toolBar.add(Box.createHorizontalStrut(4));
         
         toolBar.add(toolCopy);
         toolBar.add(toolCut);
         toolBar.add(toolPaste);
         toolBar.add(toolSelectAll);
         
         menuBar.add(fileMenu);
         menuBar.add(editMenu);
         menuBar.add(helpMenu);
              
         setJMenuBar(menuBar);
         //setJMenuBar(toolBar);
         add(toolBar,BorderLayout.PAGE_START);
         add(scrollPane,BorderLayout.CENTER);
         
         //add(textArea);
         addWindowListener(new WindowAdapter(){
           public void windowClosing(WindowEvent e){
             System.exit(0);
           }
         });
         
         //添加事件监听
         
         newItem.addActionListener(this);
         openItem.addActionListener(this);
         saveItem.addActionListener(this);
         printItem.addActionListener(this);
         exitItem.addActionListener(this);
         copyItem.addActionListener(this);
         cutItem.addActionListener(this);
         pasteItem.addActionListener(this);
         selectItem.addActionListener(this);
         aboutItem.addActionListener(this);
         toolNewFile.addActionListener(this);
         toolOpenFile.addActionListener(this);
         toolSaveFile.addActionListener(this);
         toolCut.addActionListener(this);
         toolCopy.addActionListener(this);
         toolPaste.addActionListener(this);
         toolSelectAll.addActionListener(this);
       
         
       }
       
       
       
      

  4.   

    //实现监听接口
       
       public void actionPerformed(ActionEvent e){
         
         Object eventSource = e.getSource();
         
         if((eventSource == newItem) || (eventSource == toolNewFile)){
           textArea.setText("");
         }else if((eventSource == openItem) || (eventSource == toolOpenFile)){
           openFileDialog.setVisible(true);
           fileName = openFileDialog.getDirectory() + openFileDialog.getFile();
           if(fileName != null)
             readFile(fileName);
         }else if((eventSource == saveAsItem) || (eventSource == toolSaveFile)){
           saveAsFileDialog.setVisible(true);
           fileName = saveAsFileDialog.getDirectory() + saveAsFileDialog.getFile();
           if(fileName != null)
             writeFile(fileName);
         }else if((eventSource == selectItem) || (eventSource == toolSelectAll)){
           textArea.selectAll();
         }else if((eventSource == copyItem) || (eventSource == toolCopy)){
           String text = textArea.getSelectedText();
           StringSelection selection = new StringSelection(text);
           clipBoard.setContents(selection,null);
         }else if((eventSource == cutItem) || (eventSource == toolCut)){
           String text = textArea.getSelectedText();
           StringSelection selection = new StringSelection(text);
           clipBoard.setContents(selection,null);
           //剪切时用空串代替被选的字符
           textArea.replaceRange("",textArea.getSelectionStart(),textArea.getSelectionEnd());
         }else if((eventSource == pasteItem) || (eventSource == toolPaste)){
           Transferable contents = clipBoard.getContents(this);
           if(contents == null)
             return;
           String text;
           text = "";
           try{
             text = (String)contents.getTransferData(DataFlavor.stringFlavor);
           }catch(Exception exception){}
           textArea.replaceRange(text,textArea.getSelectionStart(),textArea.getSelectionEnd());
         }else if(eventSource == printItem){
          PrinterJob prtme = PrinterJob.getPrinterJob();
          prtme.printDialog();
         }else if(eventSource == exitItem){
           System.exit(0);
         }else if(eventSource == aboutItem){
          JFrame aboutFrame = new JFrame("关于记事本");
          JPanel aboutPanel = new JPanel(new GridLayout(0,1));
          JPanel exitPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT));
          JLabel label1 = new JLabel("感谢使用");
          JLabel label2 = new JLabel("欢迎技术交流");
          JLabel label3 = new JLabel("邮箱:[email protected]");
          JButton exitButton = new JButton("确定");
          
          //Container contentPane = getContentPane();
       /*   exitButton.addActionListener(new ActionListener(){
          public void actionPerformed(ActionEvent e){
          System.exit(0);
          }
          });
       */
          aboutPanel.add(label1);
          aboutPanel.add(label2);
          aboutPanel.add(label3);
          //exitPanel.add(exitButton);
          aboutFrame.add(aboutPanel);
          //aboutFrame.add(exitPanel);
          //aboutFrame.add(exitButton);
          
          //contentPane.add(aboutPanel,BorderLayout.NORTH);
          //contentPane.add(exitPanel,BorderLayout.CENTER);
          aboutFrame.setDefaultLookAndFeelDecorated(true);
          //aboutFrame.setSize(300,200);
          aboutFrame.pack();
          aboutFrame.setVisible(true);
          
         }    
       }
       
     /*  protected JButton buttonIcon(String imageName,String buttonName){
       
       String imgLocation = "images/" + imageName + ".gif";
       URL imageURL = EditerDemo.class.getResource(imgLocation);
       JButton button = new JButton();
       button.setIcon(new ImageIcon(imageURL));
       
       return button;
       }
    */   
       
       //读文件
       public void readFile(String fileName){
         try{
           File file = new File(fileName);
           FileReader readIn = new FileReader(file);
           int size = (int)file.length();
           int charsRead = 0;
           char[] content = new char[size];
           while(readIn.ready())
             charsRead += readIn.read(content,charsRead,size-charsRead);
           readIn.close();
           textArea.setText(new String(content,0,charsRead));  
         }catch(Exception e){
           System.out.println("Error opening file");
         }
       }
       
       //写文件
       public void writeFile(String fileName){
         try{
           File file = new File(fileName);
           FileWriter writerOut = new FileWriter(file);
           writerOut.write(textArea.getText());
           writerOut.close();
         }catch(Exception e){
           System.out.println("Error writing file");
         }
         
       }
       
       
       
       
       public static void main(String []args){
       
           
          JFrame frame = new EditerDemo();
          frame.setDefaultLookAndFeelDecorated(true);
          
          //frame.pack();
          frame.setVisible(true) ;
              
       }}
      

  5.   

    图片显示不出来肯定是路径的问题 用相对路径的时候最好使用
    class.getclassloader.getresource或classloader类的其他方法确保路径正确
      

  6.   

    images文件夹要放在项目文件夹下,与src文件夹在同一文件夹下吧
      

  7.   

    images要放在你这个class的同一个目录下
    注意class和包的关系。
      

  8.   

    setIcon(new ImageIcon(getClass().getResource("图片地址")));
      

  9.   

      路径应该没有问题,应该是图片的格式问题,我知道gif格式的图片肯定是可以的。
      

  10.   

    我也刚做完记事本  很多问题啊 Java就是这点不好  如果你以前不是jpg的格式用转换器转换后就会出现这种问题  还有就是你可以换几张图片试一试