导航:首页 > 编程语言 > javaswing背景

javaswing背景

发布时间:2024-08-13 07:19:30

java swing如果做一个背景图片。如何在图片上显示控件

如果是背景图片的话,
重写paintComponent(Graphics g)这个方法,可以生成
protected void paintComponent(Graphics g) {
g.drawImage(图片对象.getImage(), 0, 0, this);
super.paintComponent(g);
}
.
如果还在要在图片上显示控件,可以考虑JLayeredPane
在这个上面分层放控件。
用label放一张图片,与窗体大小一样。放在最底层,控件放在上面一层。

Ⅱ Java Swing 怎么自定义界面背景图片

在java swing中需要为容器添加自定义图片或者背景图片。提兄大供两种简单的解枣尘氏决方案,一种利用JPanel,另一种利用JLabel,代码如下:

1、JPanel(源代码)

packageoo;
importjava.awt.Graphics;
importjava.awt.Image;
importjava.io.File;
importjavax.swing.ImageIcon;
importjavax.swing.JFrame;
importjavax.swing.JPanel;

publicclassDrawing{

JFramejframe=newJFrame();
publicstaticJPanelGImage=null;

publicDrawing(){
initFrame();
}

//初始化窗口
publicvoidinitFrame(){
//利用JPanel添加背景图片

GImage=newJPanel(){

protectedvoidpaintComponent(Graphicsg){
ImageIconicon=newImageIcon("image\benbenla.jpg");
Imageimg=icon.getImage();
g.drawImage(img,0,0,icon.getIconWidth(),
icon.getIconHeight(),icon.getImageObserver());
jframe.setSize(icon.getIconWidth(),icon.getIconHeight());

}

};
jframe.setTitle("测试背景图片");
jframe.add(GImage);
jframe.pack();
jframe.setVisible(true);
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

publicstaticvoidmain(String[]args){
newDrawing();

}

}

2、JLabel源代码

packageswing.draw;
importjava.awt.Image;
importjavax.swing.ImageIcon;
importjavax.swing.JFrame;
importjavax.swing.JLabel;

/**利用JLabel来构建图片*/
publicclassDrawing2{
JLabeljlpic=newJLabel();
JFramejframe=newJFrame();

publicDrawing2(){

init1Frame();
}

publicvoidinit1Frame(){
ImageIconicon=newImageIcon("image\benbenla.jpg");
凳散icon.setImage(icon.getImage().getScaledInstance(icon.getIconWidth(),
icon.getIconHeight(),Image.SCALE_DEFAULT));
System.out.println(icon.getIconHeight()+""+icon.getIconWidth());
jlpic.setBounds(0,0,1366,768);
jlpic.setHorizontalAlignment(0);
jlpic.setIcon(icon);
jframe.setSize(1366,768);
jframe.add(jlpic);
jframe.pack();
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jframe.setVisible(true);

}

publicstaticvoidmain(Stringargs[]){

newDrawing2();
}
}

添加控件:

jlpic.setIcon(icon);
Containerc=newContainer();
JLabeluser=newJLabel("用户:");
JLabelpassword=newJLabel("密码:");
JTextFieldtxf_userName=newJTextField();
JPasswordFieldpwd_password=newJPasswordField()
{
publicvoidpaste(){
UIManager.getLookAndFeel().provideErrorFeedback(this);
}
};
user.setBounds(200,25,50,25);
password.setBounds(200,52,50,25);
txf_userName.setBounds(300,25,150,25);
pwd_password.setBounds(300,52,150,25);
c.add(user);
c.add(txf_userName);
c.add(password);
c.add(pwd_password);
c.add(jlpic);
jframe.setSize(1366,768);
//jframe.add();
jframe.add(c);

Ⅲ JAVA代码添加背景图片。更改背景颜色!awt或swing!很简单!越简单越好!

设置颜色:

把pan-pan6的Background设为Null,这样他们就变为透明的了,以后只需要改变inquestFrame的颜色就可以改变全部的颜色,代码如下:

//设置整体布局

JPanelpan=newJPanel();

pan.setLayout(newGridLayout(6,1));

pan.add(pan1);

pan.add(pan2);

pan.add(pan3);

pan.add(pan4);

pan.add(pan5);

pan.add(pan6);

pan.setBackground(null);

pan1.setBackground(null);

pan2.setBackground(null);

pan3.setBackground(null);

pan4.setBackground(null);

pan5.setBackground(null);

pan6.setBackground(null);

r1.setBackground(null);

r2.setBackground(null);

inquestFrame.setBackground(Color.LIGHT_GRAY);

inquestFrame.setContentPane(pan);

inquestFrame.setSize(300,250);

inquestFrame.setVisible(true);

设置图片需要改的比较多,自己比较那不一样吧:

importjava.awt.Graphics;

importjava.awt.GridLayout;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.net.URL;

importjavax.swing.ButtonGroup;

importjavax.swing.ImageIcon;

importjavax.swing.JButton;

importjavax.swing.JFrame;

importjavax.swing.JLabel;

importjavax.swing.JPanel;

importjavax.swing.JRadioButton;

importjavax.swing.JTextField;

publicclassInquest{

JFrameinquestFrame;

JLabellab1,lab2,lab3,lab4,lab5,lab6;

JTextFieldtext1,text2,text4,text5,text6;

JRadioButtonr1,r2;

JButtoninqButton;

publicInquest(){

inquestFrame=newJFrame("教育经历管理系统-查询窗口");

MyPanelpan1=newMyPanel();

lab1=newJLabel("请输入编码:");

text1=newJTextField(10);

inqButton=newJButton("查询");

inqButton.addActionListener(newButtonHandler());

pan1.add(lab1);

pan1.add(text1);

pan1.add(inqButton);

MyPanelpan2=newMyPanel();

lab2=newJLabel("姓名:");

text2=newJTextField(10);

pan2.add(lab2);

pan2.add(text2);

MyPanelpan3=newMyPanel();

lab3=newJLabel("性别:");

r1=newJRadioButton("男");

r2=newJRadioButton("女");

//把两个单选按钮放到一个群组中,保持二选一

ButtonGroupgroup=newButtonGroup();

group.add(r1);

group.add(r2);

pan3.add(lab3);

pan3.add(r1);

pan3.add(r2);

MyPanelpan4=newMyPanel();

lab4=newJLabel("单位:");

text4=newJTextField(10);

pan4.add(lab4);

pan4.add(text4);

MyPanelpan5=newMyPanel();

lab5=newJLabel("职位:");

text5=newJTextField(10);

pan5.add(lab5);

pan5.add(text5);

MyPanelpan6=newMyPanel();

lab6=newJLabel("年龄:");

text6=newJTextField(10);

pan6.add(lab6);

pan6.add(text6);

//设置整体布局

MyPanelpan=newMyPanel();

pan.setLayout(newGridLayout(6,1));

pan.add(pan1);

pan.add(pan2);

pan.add(pan3);

pan.add(pan4);

pan.add(pan5);

pan.add(pan6);

pan.setBackground(null);

pan1.setBackground(null);

pan2.setBackground(null);

pan3.setBackground(null);

pan4.setBackground(null);

pan5.setBackground(null);

pan6.setBackground(null);

r1.setBackground(null);

r2.setBackground(null);

MyPanelpan0=newMyPanel();

pan0.setPreferredSize(pan.getPreferredSize());

pan0.setLayout(null);

pan.setBounds(0,0,pan.getPreferredSize().width,pan.getPreferredSize().height);

URLurl=Inquest.class.getResource("Winter.jpg");

ImageIconimg=newImageIcon(url);

JLabellab=newJLabel(img);

lab.setBounds(0,0,img.getIconWidth(),img.getIconHeight());

pan0.add(pan);

pan0.add(lab);

inquestFrame.setContentPane(pan0);

inquestFrame.pack();

inquestFrame.setVisible(true);

}

{

publicvoidpaint(Graphicsg){

paintChildren(g);

}

}

publicvoidsetBack(){

((JPanel)inquestFrame.getContentPane()).setOpaque(false);

//Winter.jpg这个图片的位置要跟当前这个类是同一个包下

URLurl=Inquest.class.getResource("Winter.jpg");

ImageIconimg=newImageIcon(url);

JLabelbackground=newJLabel(img);

inquestFrame.getLayeredPane().add(background,newInteger(Integer.MIN_VALUE));

background.setBounds(0,0,img.getIconWidth(),img.getIconHeight());

}

{

publicvoidactionPerformed(ActionEvente){

//生成SQL语句

Strings="select*frominformationwhereid="+"'"+text1.getText()+"'";

Stringdriver="sun.jdbc.odbc.JdbcOdbcDriver";

Stringurl="jdbc:odbc:test";

//DBdb=newDB(driver,url,"sa","");

//ResultSetrs=db.query(s);

//try{

//while(rs.next()){

//text2.setText(rs.getString(2));

//Stringsex=rs.getString(3);

//if(sex.trim().equals("男"))

//r1.setSelected(true);

//else

//r2.setSelected(true);

//

//text4.setText(rs.getString(4));

//text5.setText(rs.getString(5));

//text6.setText(rs.getString(6));

//}

//}catch(Exceptione2){

//e2.printStackTrace();

//}

}

}

publicstaticvoidmain(Stringargs[]){

newInquest();

}

}

阅读全文

与javaswing背景相关的资料

热点内容
java十进制十六进制转换 浏览:404
安卓手机怎么关闭识别物品 浏览:693
单片机通用烧录器 浏览:55
如何设置catia服务器开机运行 浏览:421
编程术语知多少 浏览:347
android模板代码下载 浏览:766
数据与程序员的区别 浏览:379
张勤编译青鸟 浏览:989
演出app哪个好 浏览:864
凤凰app推广开户哪个好 浏览:823
租服务器要关注什么 浏览:215
shell命令vi 浏览:673
javaem算法 浏览:588
闪送app哪里下载 浏览:654
java语言编译器词法分析 浏览:379
22岁程序员图片大全 浏览:954
ibm如何查看服务器raid 浏览:678
程序员那么可爱叶子是谁 浏览:716
gcc82编译器入口地址 浏览:693
上架一个服务器要做什么 浏览:854