请问如何在Java的界面中插入背景图
请各位帮个忙。我做了个小程序,但在加入背景图时,大小总是不合适,请各位指教一下,谢谢~~原程序如下:importjava.awt.BorderLayout;importj...
请各位帮个忙。
我做了个小程序,但在加入背景图时,大小总是不合适,请各位指教一下,谢谢~~
原程序如下:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class BackgroundImage extends JFrame{
public BackgroundImage(){
Animater animator = new Animater();
animator.setOpaque(true);
animator.setBackground(Color.white);
setContentPane(animator);
JButton button1 = new JButton( "确定" );
JButton button2 = new JButton( "取消" );
JLabel lab=new JLabel("");
JLabel lab1=new JLabel("增添歌曲 请选择");
JLabel label1 = new JLabel("歌曲名:") ;
JLabel label2 = new JLabel("歌手:") ;
JLabel label3 = new JLabel("类型:") ;
JTextField text1 = new JTextField() ;
JTextField text2 = new JTextField() ;
JTextField text3 = new JTextField() ;
label1.setBounds(30, 5, 120, 120);
label2.setBounds(30, 80, 120, 120);
label3.setBounds(30, 150, 120, 120);
text1.setBounds(220, 50, 320, 30);
text2.setBounds(220, 120, 320, 30);
text3.setBounds(220, 190, 320, 30);
button1.setBounds(320, 300, 60, 50);
button2.setBounds(400, 300, 60, 50);
lab.add(button1);
lab.add(button2);
lab.add(label1) ;
lab.add(text1) ;
lab.add(label2) ;
lab.add(text2) ;
lab.add(label3) ;
lab.add(text3) ;
animator.add(lab);
animator.add(lab1,BorderLayout.NORTH);
this.setSize(700, 600);
this.setVisible(true);
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
}
public static void main(String args[]){
new BackgroundImage();
}
}
//给JPanel加入图片
class Animater extends JPanel{
Animater(){
super(new BorderLayout());
}
protected void paintComponent(Graphics g){
super.paintComponent(g);
ImageIcon img=new ImageIcon("c.jpg");
img.paintIcon(this, g, 0, 0);
}
}
这个好像是给JPanel加入图片的,请问如何给JFrame加图啊~~
还有就是,我的label1中的字“添加歌曲 请选择”,如何才能变大一点啊~~ 展开
我做了个小程序,但在加入背景图时,大小总是不合适,请各位指教一下,谢谢~~
原程序如下:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class BackgroundImage extends JFrame{
public BackgroundImage(){
Animater animator = new Animater();
animator.setOpaque(true);
animator.setBackground(Color.white);
setContentPane(animator);
JButton button1 = new JButton( "确定" );
JButton button2 = new JButton( "取消" );
JLabel lab=new JLabel("");
JLabel lab1=new JLabel("增添歌曲 请选择");
JLabel label1 = new JLabel("歌曲名:") ;
JLabel label2 = new JLabel("歌手:") ;
JLabel label3 = new JLabel("类型:") ;
JTextField text1 = new JTextField() ;
JTextField text2 = new JTextField() ;
JTextField text3 = new JTextField() ;
label1.setBounds(30, 5, 120, 120);
label2.setBounds(30, 80, 120, 120);
label3.setBounds(30, 150, 120, 120);
text1.setBounds(220, 50, 320, 30);
text2.setBounds(220, 120, 320, 30);
text3.setBounds(220, 190, 320, 30);
button1.setBounds(320, 300, 60, 50);
button2.setBounds(400, 300, 60, 50);
lab.add(button1);
lab.add(button2);
lab.add(label1) ;
lab.add(text1) ;
lab.add(label2) ;
lab.add(text2) ;
lab.add(label3) ;
lab.add(text3) ;
animator.add(lab);
animator.add(lab1,BorderLayout.NORTH);
this.setSize(700, 600);
this.setVisible(true);
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
}
public static void main(String args[]){
new BackgroundImage();
}
}
//给JPanel加入图片
class Animater extends JPanel{
Animater(){
super(new BorderLayout());
}
protected void paintComponent(Graphics g){
super.paintComponent(g);
ImageIcon img=new ImageIcon("c.jpg");
img.paintIcon(this, g, 0, 0);
}
}
这个好像是给JPanel加入图片的,请问如何给JFrame加图啊~~
还有就是,我的label1中的字“添加歌曲 请选择”,如何才能变大一点啊~~ 展开
1个回答
展开全部
public class BackgroundImage extends JFrame {
public BackgroundImage() {
JButton button1 = new JButton("确定");
JButton button2 = new JButton("取消");
JLabel lab = new JLabel(new ImageIcon("C:\\Documents and Settings\\All Users\\Documents\\My Pictures\\示例图片\\Blue hills.jpg"));
JLabel lab1 = new JLabel("增添歌曲 请选择");
JLabel label1 = new JLabel("歌曲名:");
JLabel label2 = new JLabel("歌手:");
JLabel label3 = new JLabel("类型:");
JTextField text1 = new JTextField();
JTextField text2 = new JTextField();
JTextField text3 = new JTextField();
label1.setBounds(30, 5, 120, 120);
label2.setBounds(30, 80, 120, 120);
label3.setBounds(30, 150, 120, 120);
text1.setBounds(220, 50, 320, 30);
text2.setBounds(220, 120, 320, 30);
text3.setBounds(220, 190, 320, 30);
button1.setBounds(320, 300, 60, 50);
button2.setBounds(400, 300, 60, 50);
lab.add(button1);
lab.add(button2);
lab.add(label1);
lab.add(text1);
lab.add(label2);
lab.add(text2);
lab.add(label3);
lab.add(text3);
setContentPane(lab);
this.setSize(700, 600);
this.setVisible(true);
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
}
public static void main(String args[]) {
new BackgroundImage();
}
}
注意图片路径啊
字体大小设置
jLabel1.setFont(new java.awt.Font("宋体", 0, 36)); // NOI18N
jLabel1.setText("jLabel1");
可能某些系统没有宋体字库会有异常,反正知道这个方法就是了
public BackgroundImage() {
JButton button1 = new JButton("确定");
JButton button2 = new JButton("取消");
JLabel lab = new JLabel(new ImageIcon("C:\\Documents and Settings\\All Users\\Documents\\My Pictures\\示例图片\\Blue hills.jpg"));
JLabel lab1 = new JLabel("增添歌曲 请选择");
JLabel label1 = new JLabel("歌曲名:");
JLabel label2 = new JLabel("歌手:");
JLabel label3 = new JLabel("类型:");
JTextField text1 = new JTextField();
JTextField text2 = new JTextField();
JTextField text3 = new JTextField();
label1.setBounds(30, 5, 120, 120);
label2.setBounds(30, 80, 120, 120);
label3.setBounds(30, 150, 120, 120);
text1.setBounds(220, 50, 320, 30);
text2.setBounds(220, 120, 320, 30);
text3.setBounds(220, 190, 320, 30);
button1.setBounds(320, 300, 60, 50);
button2.setBounds(400, 300, 60, 50);
lab.add(button1);
lab.add(button2);
lab.add(label1);
lab.add(text1);
lab.add(label2);
lab.add(text2);
lab.add(label3);
lab.add(text3);
setContentPane(lab);
this.setSize(700, 600);
this.setVisible(true);
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
}
public static void main(String args[]) {
new BackgroundImage();
}
}
注意图片路径啊
字体大小设置
jLabel1.setFont(new java.awt.Font("宋体", 0, 36)); // NOI18N
jLabel1.setText("jLabel1");
可能某些系统没有宋体字库会有异常,反正知道这个方法就是了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询