重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
仅仅是给窗口添加背景的话是很简单的,添加上以下语句(自己去添加变量哈):\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也设置成透明就可以了
创新互联公司服务项目包括秭归网站建设、秭归网站制作、秭归网页制作以及秭归网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,秭归网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到秭归省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
读取图片可以有以下两种方法:\x0d\x0a①:ImageIO.read(new File("这里可以写目录,比如您提到的src/images/某张图片名"));\x0d\x0a②:new ImageIcon("目录").getImage();\x0d\x0a这两个方法都返回一个图片对象。可以用一个Image对象接收一下。\x0d\x0a\x0d\x0a相对路径是指您所运行的程序的包 所在的文件夹开始的路径。\x0d\x0a一般来说,上面两种读取方法读取时,是从项目的目录下开始找文件的。\x0d\x0a所以,您把图片放在src下的images包中,正确的读取方法应该是:\x0d\x0aImage img=ImageIO.read(new File("src/images/图片名"));或者\x0d\x0aImage img=new ImageIcon("src/images/图片名").getImage();\x0d\x0a得到这样一个Image对象后,就可以使用了。
public Qua_Main_JFrame() {
JPanel jpanel = new JPanel();
this.setContentPane(jpanel);
//
添加标签组件
GridLayout gird = new GridLayout(3,0);
jpanel.setLayout(gird);
ImageIcon img = new ImageIcon("src/JMXY.JPG");
JLabel imgLabel = new JLabel(img);//
将背景图放在标签里。
this.getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE));
imgLabel.setBounds(0,0,img.getIconWidth(), img.getIconHeight());
this.getLayeredPane().setLayout(null);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
jpanel.setOpaque(false);
initComponents();
}
其中
Qua_Main_JFrame
为创建的
java
窗体项目名,图片按路径存放,注意一点,所有
的代码都应该放在
initComponents();
方法之上,这样你添加进窗体中的空间才会显示在
图片之上,否则看不见控件。
图片名字是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);
}
}