import java.awt.Color;
import java.awt.Container;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.*;
import java.io.File;
import java.io.IOException;import javax.imageio.ImageIO;
import javax.swing.*;
public class login extends JFrame {
JFrame f;
JLabel j1,j2;
JTextField jt1;
JPasswordField jf1;
JButton jb1,jb2;
JComboBox jcb;
Font f1 = new Font("宋体",Font.PLAIN,16);
public login() throws IOException{
BackImage bi = new BackImage();
bi.setBounds(0, 0, 518, 286);
this.add(bi);
f = new JFrame();
j1=new JLabel("用户名:");
j1.setFont(f1);
j1.setBounds(177, 115, 80, 20);
jt1=new JTextField(20);
jt1.setFocusable(true);
jt1.setBorder(BorderFactory.createLoweredBevelBorder());//设置下凹
jt1.setBounds(250, 115, 120, 20);
j2 = new JLabel("密码:");
j2.setFont(f1);
j2.setBounds(174, 150, 60, 25);
jf1 = new JPasswordField("20");
jf1.setBorder(BorderFactory.createLoweredBevelBorder());
jf1.setBounds(250, 150, 120, 20);
String []stu={"管理员","教师","学生"};
jcb=new JComboBox(stu);
jcb.setBounds(283, 180, 80, 20);
jb1 = new JButton("确定");
jb1.setBounds(238, 219, 60, 20);
jb2 = new JButton("取消");
jb2.setBounds(238, 219, 60, 20);
f.add(j1);
f.add(jt1);
f.add(j2);
f.add(jf1);
f.add(jcb);
f.add(jb1);
f.add(jb2);
f.setSize(518,286);
f.setResizable(false);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
f.setTitle("用户登录");
f.validate();
}
class BackImage extends JPanel
{
Image im;
public BackImage() throws IOException{
try {
im = ImageIO.read(new File("image//login.jpg"));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void paintComponent(Graphics g){
g.drawImage(im, 0, 0,587,350,this);
}
}
public static void main(String[] args) throws IOException{
login l =new login();
}
}
这个是我写的代码,但是它运行的时候老是显示一下界面,然后就只剩下一个取消按钮了!背景图片也实现不了?为什么呢?
import java.awt.Container;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.*;
import java.io.File;
import java.io.IOException;import javax.imageio.ImageIO;
import javax.swing.*;
public class login extends JFrame {
JFrame f;
JLabel j1,j2;
JTextField jt1;
JPasswordField jf1;
JButton jb1,jb2;
JComboBox jcb;
Font f1 = new Font("宋体",Font.PLAIN,16);
public login() throws IOException{
BackImage bi = new BackImage();
bi.setBounds(0, 0, 518, 286);
this.add(bi);
f = new JFrame();
j1=new JLabel("用户名:");
j1.setFont(f1);
j1.setBounds(177, 115, 80, 20);
jt1=new JTextField(20);
jt1.setFocusable(true);
jt1.setBorder(BorderFactory.createLoweredBevelBorder());//设置下凹
jt1.setBounds(250, 115, 120, 20);
j2 = new JLabel("密码:");
j2.setFont(f1);
j2.setBounds(174, 150, 60, 25);
jf1 = new JPasswordField("20");
jf1.setBorder(BorderFactory.createLoweredBevelBorder());
jf1.setBounds(250, 150, 120, 20);
String []stu={"管理员","教师","学生"};
jcb=new JComboBox(stu);
jcb.setBounds(283, 180, 80, 20);
jb1 = new JButton("确定");
jb1.setBounds(238, 219, 60, 20);
jb2 = new JButton("取消");
jb2.setBounds(238, 219, 60, 20);
f.add(j1);
f.add(jt1);
f.add(j2);
f.add(jf1);
f.add(jcb);
f.add(jb1);
f.add(jb2);
f.setSize(518,286);
f.setResizable(false);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
f.setTitle("用户登录");
f.validate();
}
class BackImage extends JPanel
{
Image im;
public BackImage() throws IOException{
try {
im = ImageIO.read(new File("image//login.jpg"));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void paintComponent(Graphics g){
g.drawImage(im, 0, 0,587,350,this);
}
}
public static void main(String[] args) throws IOException{
login l =new login();
}
}
这个是我写的代码,但是它运行的时候老是显示一下界面,然后就只剩下一个取消按钮了!背景图片也实现不了?为什么呢?
import java.awt.Color;
import java.awt.Container;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.*;
import java.io.File;
import java.io.IOException;import javax.imageio.ImageIO;
import javax.swing.*;public class login extends JFrame {
BackImage f;
JLabel j1, j2;
JTextField jt1;
JPasswordField jf1;
JButton jb1, jb2;
JComboBox jcb;
Font f1 = new Font("宋体", Font.PLAIN, 16); public login() throws IOException {// BackImage bi = new BackImage();
// bi.setBounds(0, 0, 518, 286);
// this.add(bi); f = new BackImage();
f.setLayout(null);
f.setBounds(0, 0, 518, 286);
this.add(f);
j1 = new JLabel("用户名:");
j1.setFont(f1);
j1.setBounds(177, 115, 80, 20); jt1 = new JTextField(20);
jt1.setFocusable(true);
jt1.setBorder(BorderFactory.createLoweredBevelBorder());// 设置下凹
jt1.setBounds(250, 115, 120, 20); j2 = new JLabel("密码:");
j2.setFont(f1);
j2.setBounds(174, 150, 60, 25); jf1 = new JPasswordField("20");
jf1.setBorder(BorderFactory.createLoweredBevelBorder());
jf1.setBounds(250, 150, 120, 20); String[] stu = { "管理员", "教师", "学生" };
jcb = new JComboBox(stu);
jcb.setBounds(283, 180, 80, 20); jb1 = new JButton("确定");
jb1.setBounds(238, 219, 60, 20); jb2 = new JButton("取消");
jb2.setBounds(238, 219, 60, 20); // 位置跟确定按钮的位置重复了
jb2.setBounds(298, 219, 60, 20); f.add(j1);
f.add(jt1);
f.add(j2);
f.add(jf1);
f.add(jcb);
f.add(jb1);
f.add(jb2); this.setSize(518, 286);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("用户登录");
this.validate();
this.setVisible(true); } class BackImage extends JPanel {
Image im; public BackImage() throws IOException {
try {
//im = ImageIO.read(new File("image//login.jpg")); // 这里不需要两个/
im = ImageIO.read(new File("resources/apple.png")); // 这里不需要两个/
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} public void paintComponent(Graphics g) {
g.drawImage(im, 0, 0, 587, 350, this);
}
} public static void main(String[] args) throws IOException {
login l = new login();
}}