您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > Java带有图片的菜单
packagewindowcomponents;importjava.awt.Graphics;importjava.awt.Image;importjava.awt.Insets;importjavax.swing.ImageIcon;importjavax.swing.JFrame;importjavax.swing.JMenu;importjavax.swing.JMenuBar;importjavax.swing.JMenuItem;publicclassMenuWithPicture{/***@paramargs*/publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubDemoWindow14dw=newDemoWindow14(带有图片的菜单);dw.setBounds(dw.getToolkit().getScreenSize().width/3,dw.getToolkit().getScreenSize().height/3,dw.getToolkit().getScreenSize().width/3,dw.getToolkit().getScreenSize().height/3);dw.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);dw.setVisible(true);}}classDemoWindow14extendsJFrame{ImagenewImage=newImageIcon(images/NEW.jpg).getImage();ImageopenImage=newImageIcon(images/OPEN.jpg).getImage();ImagesaveImage=newImageIcon(images/SAVE.jpg).getImage();ImagesaveAsImage=newImageIcon(images/SAVE.JPG).getImage();ImagecutImage=newImageIcon(images/CUT.JPG).getImage();ImagecopyImage=newImageIcon(images/COPY.JPG).getImage();ImagepasteImage=newImageIcon(images/PASTE.JPG).getImage();JMenuBarmenuBar=newJMenuBar();JMenufile=newJMenu(文件);JMenuedit=newJMenu(编辑);JMenuItemnewItem=newImageMenu(newImage,新建);JMenuItemopenItem=newImageMenu(openImage,打开);JMenuItemsaveItem=newImageMenu(saveImage,保存);JMenuItemsaveAsItem=newImageMenu(saveAsImage,另存为);JMenuItemcutItem=newImageMenu(cutImage,剪切);JMenuItemcopyItem=newImageMenu(copyImage,复制);JMenuItempasteItem=newImageMenu(pasteImage,粘贴);publicDemoWindow14(Stringtitle){super(title);file.add(newItem);file.addSeparator();file.add(openItem);file.addSeparator();file.add(saveItem);file.addSeparator();file.add(saveAsItem);edit.add(cutItem);edit.addSeparator();edit.add(copyItem);edit.add(pasteItem);menuBar.add(file);menuBar.add(edit);setJMenuBar(menuBar);}}//带有图片的菜单类classImageMenuextendsJMenuItem{privateImageimage=null;publicImageMenu(Imageimage,Stringtitle){super(title);this.image=image;}//设置菜单项中显示文字图片的间隔大小publicInsetsgetInsets(){//获取间隔类变量引用Insetsinsets=(Insets)super.getInsets().clone();//在左边框留出和文字图片宽度一样的举例insets.left+=image.getWidth(null);returninsets;}//重载绘图函数publicvoidpaint(Graphicsg){super.paint(g);if(image!=null){//获取间隔Insetsinsets=getInsets();//绘制图片g.drawImage(image,0,0,null);}}}
本文标题:Java带有图片的菜单
链接地址:https://www.777doc.com/doc-2880975 .html