| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 487 人关注过本帖
标题:java 窗体设置背景图片问题 (附上登陆界面代码,我想加个背景图片,求大神帮 ...
只看楼主 加入收藏
jingchun
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2017-12-19
结帖率:0
  已结贴   问题点数:10  回复次数:2   
java 窗体设置背景图片问题 (附上登陆界面代码,我想加个背景图片,求大神帮忙改改)
我想①窗体设置背景图片,②左上角的logo换成自己的图片,求大神帮我改一下,谢谢

程序代码:

package com.qx;

import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.Toolkit;
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.JPanel;
import javax.swing.JTextField;
import javax.swing.*;
import java.awt.*;

public class ATMLoginFrame extends JFrame{
    private JLabel jblCardNo,jblPasswd;
    private JTextField jtfCardNo,jtfPasswd;
    private JButton jbOk,jbCancel;
    private JPanel jp1,jp2,jp3;
    private Bank bank;
   
    public ATMLoginFrame(){
        bank=new Bank();
        // 实例化所有组件
        jblCardNo=new JLabel("用户名 :");
        jblPasswd=new JLabel("密    码:");
        jtfCardNo=new JTextField(20);
        jtfPasswd=new JTextField(20);
        jbOk=new JButton("确定 ");
        jbCancel=new JButton("取消 ");
        jp1=new JPanel();
        jp2=new JPanel();
        jp3=new JPanel();
        jp1.add(jblCardNo);
        jp1.add(jtfCardNo);
        jp2.add(jblPasswd);
        jp2.add(jtfPasswd);
        jp3.add(jbOk);
        jp3.add(jbCancel);
        // 将每行逐行添加到 frame 中
        this.add(jp1);
        this.add(jp2);
        this.add(jp3);
        this.setLayout(new GridLayout(4, 1));// 取消默认管理器 ,设置为 3 行 1 列的网格布局
        Dimension d=Toolkit.getDefaultToolkit().getScreenSize();
        this.setTitle(" ATM柜员机模拟程序 ");
        this.setBounds((d.width-300)/2, (d.height-200)/2, 300, 200);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置关闭窗口时 JVM 同时推出
        this.pack();// 调整窗口至能容纳组件的最小尺寸
        this.setVisible(true);// 设置窗口可见
        this.setSize(700,500);
        this.setResizable(false);// 不能最大化
        
// 使用匿名内部类给 2 个按钮注册监听器
   
        jbCancel.addActionListener(
            new ActionListener(){
                public void actionPerformed(ActionEvent e) {
                    dispose();// 关闭窗口
                }
            }
        );
        jbOk.addActionListener(
            new ActionListener(){
                public void actionPerformed(ActionEvent e) {
                // 取出用户界面输入的用户名和密码
                long cardNo=Integer.parseInt(jtfCardNo.getText());
                String passwd=jtfPasswd.getText();
                // 调用 Bank 的相关方法将二者与正确的做比对
               
                Account account=bank.verifyAccount(cardNo, passwd);
                if(account!=null)// 假如正确 ,进入操作界面
                {
                    ATMMainFrame mainFrame=new ATMMainFrame(bank,account);//进入操作界面
                    dispose();// 关闭登陆界面
                }else{// 假如错误 ,使用对话框提示错误信息
                    JOptionPane.showMessageDialog(null, "卡号或密码错误 ", "信息提示 ",JOptionPane.ERROR_MESSAGE);
                }
                }
            }
        );
    }
   
    /*** @param args*/
    public static void main(String[] args) {
        ATMLoginFrame atm=new ATMLoginFrame();
    }

 }

 

 
附件: 您没有浏览附件的权限,请 登录注册
2018-12-19 00:13
林月儿
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:湖南
等 级:版主
威 望:114
帖 子:1823
专家分:7950
注 册:2015-3-19
  得分:10 

        // 将每行逐行添加到 frame 中
        // 顶部空白
        this.add(new JPanel());
        //加背景
        ImageIcon img = new ImageIcon("src/1.jpg");
        JLabel imgLabel = new JLabel(img);
        this.getLayeredPane().add(imgLabel);
        imgLabel.setBounds(0,0,img.getIconWidth(), img.getIconHeight());
        //图标
        this.setIconImage(new ImageIcon("src/1.jpg").getImage());


知命以下无敌
2018-12-19 19:47
jingchun
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2017-12-19
  得分:0 
回复 2楼 林月儿
谢谢姐,非常感谢,完美的解决了我的问题,java课得了满分
2018-12-27 19:31







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.083377 second(s), 8 queries.
Copyright©2004-2019, BCCN.NET, All Rights Reserved