`
lushuaiyin
  • 浏览: 677080 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

swing jlabel 加背景图片 做出frame添加背景图片效果

 
阅读更多

//原理很简单,大家知道早Jlabel很容易添加背景图片,这个例子就是把一个JLabel放到一个Frame里,把它铺满,再加上图片,然后所有的组件都加到这个JLabel上,就回出现给Frame加上了背景图片的效果。(因为Frame没有添加背景图片的函数,所以没法加,只能靠其他办法)

package model;

import java.awt.*;

import javax.swing.*;
import java.awt.event.*;

public class TestImageWindow extends JFrame {
JLabel topLabel;
JLabel userNameLabel, passwordLabel;
JTextField userNameTextField;
JPasswordField passwordField;
JButton exitButton, loginButton;

public TestImageWindow() {
super("欢迎登录");
topLabel = new JLabel();
//topLabel.setIcon(new ImageIcon("/im/1.jpg"));
topLabel.setIcon(new ImageIcon(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/im/1.jpg"))));
add(topLabel);
topLabel.setLayout(null);

userNameLabel = new JLabel("用户名:");
userNameLabel.setForeground(Color.WHITE);
passwordLabel = new JLabel("密 码:");
userNameTextField = new JTextField(20);
passwordField = new JPasswordField(20);
exitButton = new JButton("退 出");
loginButton = new JButton("登 录");

ButtonListener bListener = new ButtonListener();
// 按钮注册事件监听器
exitButton.addActionListener(bListener);
loginButton.addActionListener(bListener);
userNameTextField.addActionListener(bListener);
passwordField.addActionListener(bListener);

MyKeyListener keylis = new MyKeyListener();
userNameTextField.addKeyListener(keylis);
passwordField.addKeyListener(keylis);

userNameLabel.setSize(45, 20);
userNameLabel.setLocation(40, 280);
topLabel.add(userNameLabel);

userNameTextField.setSize(50, 20);
userNameTextField.setLocation(85, 280);
topLabel.add(userNameTextField);

passwordLabel.setSize(40, 20);
passwordLabel.setLocation(140, 280);
topLabel.add(passwordLabel);

passwordField.setSize(50, 20);
passwordField.setLocation(195, 280);
topLabel.add(passwordField);

exitButton.setSize(80, 20);
exitButton.setLocation(260, 280);
topLabel.add(exitButton);

loginButton.setSize(80, 20);
loginButton.setLocation(350, 280);
topLabel.add(loginButton);

setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setSize(500, 350);
setVisible(true);
}

private void checkNamePwd() {
String userName = userNameTextField.getText().trim();
String pw = passwordField.getText();
if (userName.length() == 0) {
JOptionPane.showMessageDialog(null, "用户名不能为空!");
} else if (pw.length() == 0) {
JOptionPane.showMessageDialog(null, "密码不能为空!");
} else {
JOptionPane.showMessageDialog(null, "恭喜你成功登录!");
}
}

private void exitWindow() {
System.exit(0);
}

class ButtonListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
// 获取事件源
Object source = e.getSource();
if (source == exitButton) {
exitWindow();
} else if (source == loginButton) {
checkNamePwd();
}
}
}

class MyKeyListener extends KeyAdapter {
public void keyPressed(KeyEvent ke) {
int code = ke.getKeyCode();
if (code == 10) {
checkNamePwd();
} else if (code == 27) {
exitWindow();
}
}
}
public static void main(String[] kk){
TestImageWindow ww=new TestImageWindow();
ww.show();
}
}

分享到:
评论

相关推荐

    龟兔赛跑源代码程序课程设计

    程序设计这是一个权威人士做的 哦package dic; public class Main { public static void main(String[] args) { Frame DicFrame = new Frame(); DicFrame.setTitle(... ResaultLabel = new javax.swing.JLabel();

    Javaswing登录页面的实现

    import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JPasswordField; import javax.swing.JTextArea; import javax.swing.JTextField; import javax.xml....

    Java Swing 常用控件

    目录Swing 常用控件1....在 Swing 组件中,最常见的一个控件就是 JFrame,它和 Frame 一样是一个独立存在的顶级窗口,不能放置在其他容器中。JFrame 支持通用窗口所有的基本功能,例如窗口最小化、设定窗口

    跟我学Java面向对象程序设计技术及应用——Java-Swing-GUI组件技术教学参考示例(第2部分).pdf

    JFrame 对象本身是不能附加组件的(尽管它为顶层容器,但是不能把组件直接加到顶层 容器中),也就是说调用 frame.append(...)这样的方法会出错,是不正确的。添加组件应该放 在内容面板(Content Panel),内容面板是...

    JAVA图形用户界面

    import javax.swing.JLabel; import javax.swing.JTextField; import javax.swing.LayoutStyle.ComponentPlacement; import javax.swing.JSeparator; import javax.swing.JButton; public class ff { private ...

    基于Java的图形用户界面文档

    import java.awt.Color; import java.awt.event.MouseAdapter; import java.awt.event....import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextArea; import javax.swing.JTextField;

    java课程设计斗地鼠游戏源码

    import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.Timer; public class MousePaly implements ActionListener { private JFrame frame; private Container contentPane; private ...

    C++自动取款机源代码

    import javax.swing.JLabel; import javax.swing.JPasswordField; import javax.swing.JTextField; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.Connection; import...

    图书馆图书管理系统 oracle数据库

    //titleLabel=new JLabel("欢迎使用图书管理系统",JLabel.CENTER); //titleLabel.setFont(new Font("TimesRoman",Font.BOLD,24)); //AuthorLabel=new JLabel("作者:麦密辉",JLabel.RIGHT); //DateLabel=new ...

    操作系统进程调度用JavaGUI模拟

    import javax.swing.*; class PCDD { public static void main(String []args) { ProcessFrame PF=new ProcessFrame(); PF.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); PF.setVisible(true); } } ...

    Java 版蛋疼游戏,开发工具:MyEclipse

     将下面的图片添加到MyEclipse的src文件夹下,第一幅图片名1.gif,第二幅图片名4.gif =================================================================================== import java.awt.*; import java....

    以前下载的局域网聊天工具代码

    //Construct the frame public Server() { jbInit(); } class MyThread extends Thread{//该线程负责接受数据 public void run(){ try{ while(true){ this.sleep(100); instr= new BufferedReader(new ...

    java编写的计算器,能实现加减乘除

    java编写的计算器,能实现加减乘除。 //***该梦幻计算器与Windows附件自带计算器的标准版功能、界面相仿***// //******但还不支持键盘操作,如有需要,下一次等级将满足你**********// import java.awt.*; import ...

    BuildListener

    JLabel qLabel=new JLabel("Question:"); JLabel aLabel=new JLabel("Answer"); mainPanel.add(qLabel); mainPanel.add(qScroller); mainPanel.add(aLabel); mainPanel.add(aScroller); mainPanel.add...

    学生管理系统

    public class DengLuJieMian extends Frame implements ActionListener { JLabel JLUserName =new JLabel("用户名:"); //使用文本创建一个标签对象 JLabel JLPaw =new JLabel("密 码:"); //使用文本创建一个标签...

    frashcardss

    import javax.swing.*; import java.awt.*; import java.io.*; public class QuizCardBuilder{ private JTextArea question; private JTextArea answer; private ArrayList<QuizCard> cardList; private ...

    旅店管理系统界面-手工书写

    import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JPopupMenu; import javax.swing.JRadioButton; import javax.swing.JTextField; public class ...

    仿QQ登录窗体,拉伸展开!

    import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JPasswordField; import javax.swing.JTextField; import javax.swing.UIManager; import com.jdbc.DB...

    Java程序设计复习要点.doc.pdf

    public class A2 implements ActionListener{ J Frame f ¶ new J Frame C «¡ ) £» JLabel lab=new JLabel( £ z " ´ ¶¡ ); JTextFi eld red ¶ new JTextFi eld (3); JTextField green ¶ new JTextField(3...

    上机实验-2 (1).doc

    //给窗体加个panel作为内容面板 contentPane.setLayout(null); numberField = new JTextPane(); numberField.addKeyListener(new KeyAdapter() {//键盘事件监听者 public void keyTyped(final KeyEvent e) {...

Global site tag (gtag.js) - Google Analytics