重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
用Swing包下的ImageIcon类就可以实现,比如在一个按钮中添加一张图片,就可以用以下代码实现:ImageIcon imageicon =new ImageIcon(String s);JButton b=new JButton(imageicon); 其中参数s是所要添加图片的路径(绝对路径或相对路径)和名字。如想添加D盘下的图片1.jpg,就可以将上面改成:ImageIcon imageicon =new ImageIcon("D:\1.jpg");
公司主营业务:成都做网站、网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联建站是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联建站推出子洲免费做网站回馈大家。
图片名字是img1.JPG,你放到本程序的目录下面就好了。
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.io.*;
import javax.imageio.*;
import javax.swing.*;
public class TestMenu1 extends JFrame{
private JTextArea textArea=new JTextArea();
private JMenuBar menuBar=new JMenuBar();
private JMenu fileMenu=new JMenu("文件");
private JMenu viewMenu=new JMenu("视图");
private JMenu toolMenu=new JMenu("工具栏");
private JMenuItem[] fileItem={new JMenuItem("新建"),new JMenuItem("打开"),new JMenuItem("保存"),new JMenuItem("退出")};
private JMenuItem[] viewItem={new JMenuItem("普通"),new JMenuItem("页面")};
private JCheckBoxMenuItem[] toolItem={new JCheckBoxMenuItem("常用"),new JCheckBoxMenuItem("绘图"),new JCheckBoxMenuItem("符号栏")};
private JPanel jPanel1;
private JLabel jLabel;
private Image image;
private ImageIcon imageIcon ;
public TestMenu1(String title){
super(title);
jPanel1=new JPanel();
image = Toolkit.getDefaultToolkit().getImage("img1.JPG");
jLabel = new JLabel();
imageIcon = new ImageIcon(image);
jLabel.setIcon(imageIcon);
add(jLabel, BorderLayout.NORTH);
add(jPanel1, BorderLayout.SOUTH);
setVisible(true);
setSize(600, 600);
ActionListener actListener=new ActionListener(){
public void actionPerformed(ActionEvent e){
if(((JMenuItem)e.getSource()).getText()=="退出"){
System.exit(0);
}else{
textArea.setText(((JMenuItem)e.getSource()).getText());
}
}
};
ItemListener itemListener=new ItemListener(){
public void itemStateChanged(ItemEvent e){
String str=new String("");
for(int i=0;itoolItem.length;i++){
if(toolItem[i].isSelected()){
str+=toolItem[i].getText()+"\n";
}
}
if(str.length()==0){
textArea.setText("没有复选");
}else{
textArea.setText(str);
}
}
};
for(int i=0;ifileItem.length;i++){
fileItem[i].addActionListener(actListener);
fileMenu.add(fileItem[i]);
if(i==2){
fileMenu.addSeparator();
}
}
for(int i=0;iviewItem.length;i++){
viewItem[i].addActionListener(actListener);
viewMenu.add(viewItem[i]);
}
viewMenu.addSeparator();
viewMenu.add(toolMenu);
for(int i=0;itoolItem.length;i++){
toolItem[i].addItemListener(itemListener);
toolMenu.add(toolItem[i]);
}
menuBar.add(fileMenu);
menuBar.add(viewMenu);
setJMenuBar(menuBar);
add(new JScrollPane(textArea));
}
public static void main(String[] args){
//TestMenu frame=
new TestMenu1("DEMO");
//frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//frame.setSize(300,180);
//frame.setVisible(true);
}
}
仅仅是给窗口添加背景的话是很简单的,添加上以下语句(自己去添加变量哈):\x0d\x0a\x0d\x0alabel = new JLabel(background); //background为ImageIcon\x0d\x0a// 把标签的大小位置设置为图片刚好填充整个面板 \x0d\x0alabel.setBounds(0, 0, this.getWidth(), this.getHeight());\x0d\x0a//添加图片到frame的第二层(把背景图片添加到分层窗格的最底层作为背景)\x0d\x0athis.getLayeredPane().add(label,new Integer(Integer.MIN_VALUE));\x0d\x0a//把内容窗格转化为JPanel,否则不能用方法setOpaque()来使内容窗格透明\x0d\x0ajPanel=(JPanel)this.getContentPane();\x0d\x0a//设置透明\x0d\x0ajPanel.setOpaque(false);\x0d\x0a\x0d\x0a然后你上面那个JPanel p也设置成透明就可以了