加一个背景图片
package xingge;import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
/**
*
* @author xingge
*
*/
public class XLoginFrm extends JFrame{
/**
* 模拟从数据库中获取数据
*/
String userName = "qwe";//
String passWord = "xzt123";
JLabel JLabel1,JLabel2,leixing;//标签
JFrame mainJFrame;//主界面
Container con;//容器
JPanel jpanel;
JButton loginBtn,cancelBtn;//登陆按钮 重置按钮
JTextField userText,leixingtxt;//用户名框
JPasswordField passwordField;//密码框
XLoginFrm(){
//JLabel lable=new JLabel();
JLabel1=new JLabel("用户名");
JLabel2=new JLabel("密 码");
leixing=new JLabel("类 型");
mainJFrame=new JFrame("炒鸡酒店管理系统");
// con=new Container();
con=mainJFrame.getContentPane();
loginBtn=new JButton("登录");
// mainJFrame.setVisible(true);
//登陆事件监听器
loginBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(userText.getText().equals("")){
JOptionPane.showMessageDialog(null,"请输入用户名");
}else if(passwordField.getText().equals("")){
JOptionPane.showMessageDialog(null,"请输入密码");
}else if(userText.getText().equals(userName)&&passwordField.getText().equals(passWord)){
int var =JOptionPane.showConfirmDialog(mainJFrame, "登陆成功,请点击是");
if(var==JOptionPane.YES_OPTION){
mainJFrame.setVisible(false);//关闭登录窗口
new XMainFrm();
setVisible(true);
dispose();
}else{
System.exit(0);
}
} else{
JOptionPane.showMessageDialog(null,"用户名和密码错误,请重新输入");
}
}
});
//重置 信息
cancelBtn=new JButton("重置");
//cancelBtn.addActionListener(handleAction);
cancelBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
passwordField.setText("");
userText.setText("");
// Test1 t3=new Test1();
// setVisible(true);
// dispose();
}
});
//未设置Layout时,java默认为flowLayout布局的,
//设置为null即为清空布局管理器,之后添加组件,常常是
//设置组件左上角坐标相对于容器左上角(0,0)的x,y值来
//确定组件的位置,即使更改容器大小也不会改变位置。这种
//方式常常用于窗体大小固定的容器里。
// GridBagLayout gridbag = new GridBagLayout();
// setLayout(gridbag);
passwordField=new JPasswordField();
leixingtxt=new JTextField();
userText=new JTextField();
//设置文本框的宽度,这个很重要
leixingtxt.setColumns(18);
userText.setColumns(18);
//设置密码框的宽度
passwordField.setColumns(18);
userText.setBounds(100, 100, 150, 30);
//设置流式布局管理器
con.setLayout(new FlowLayout());
con.add(JLabel1);
con.add(userText);
con.add(JLabel2);
con.add(passwordField);
con.add(leixing);
con.add(leixingtxt);
con.add(loginBtn);
con.add(cancelBtn);
//使窗口可见
//con.setBackground(Color.yellow);
/// con.setBounds(getBounds());
// jpanel=new JPanel();
// jpanel.add(con);
// jpanel.add(mainJFrame);
con.add(new Ib());
mainJFrame.setVisible(true);
//设置窗口大小不可调整
setResizable(false);
//设置弹出窗口位置
mainJFrame.setLocation(600, 200);
// mainJFrame.setLocationRelativeTo(null);//setLocationRelativeTo(null);
// mainJFrame.setSize(300,300);
mainJFrame.pack();
//mainJFrame.setVisible(true);
mainJFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new XLoginFrm();
}
class Ib extends JPanel
{
public Ib()
{
ii = new ImageIcon("C:\\Users\\xingge\\Desktop\\image\\loginbeijing.jpg");
}
public void paintComponent(Graphics g)
{
Image i = ii.getImage();
g.drawImage(i, 0, 0, this);
}
ImageIcon ii = null;
}