JFrame怎么添加背景图片

package edu.jmi.xyh.view;

import java.awt.BorderLayout;

public class LoginView extends JFrame {
private JTextField txID;
private JTextField txPw;
private JPanel contentPane;
private JTextField textField;
private JPasswordField passwordField;

/**
 * Launch the application.
 */
public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
        public void run() {
            try {
                LoginView frame = new LoginView();
                frame.setVisible(true);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });
}

/**
 * Create the frame.
 */
public LoginView() {
    setTitle("\u6B22\u8FCE\u767B\u5F55\u5B66\u751F\u7BA1\u7406\u7CFB\u7EDF");
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBounds(100, 100, 445, 306);
    contentPane = new JPanel();
    contentPane.setBackground(Color.WHITE);
    contentPane.setForeground(Color.BLACK);
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    setContentPane(contentPane);
    contentPane.setLayout(null);

    JLabel lblNewLabel = new JLabel("\u7528\u6237\u540D\uFF1A");
    lblNewLabel.setFont(new Font("宋体", Font.PLAIN, 12));
    lblNewLabel.setBounds(114, 98, 54, 15);
    contentPane.add(lblNewLabel);

    JLabel lblNewLabel_1 = new JLabel("\u5BC6\u7801\uFF1A");
    lblNewLabel_1.setFont(new Font("宋体", Font.PLAIN, 12));
    lblNewLabel_1.setBounds(114, 135, 54, 15);
    contentPane.add(lblNewLabel_1);

    textField = new JTextField();
    textField.setBounds(204, 95, 118, 21);
    contentPane.add(textField);
    textField.setColumns(10);

    passwordField = new JPasswordField();
    passwordField.setBounds(204, 132, 118, 21);
    contentPane.add(passwordField);

    JButton btnNewButton = new JButton("\u767B\u5F55");
    btnNewButton.setFont(new Font("宋体", Font.PLAIN, 12));
    btnNewButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            //登陆代码,将用户输入的内容打印在控制台中
            String id=txID.getText();
            String pw=txPw.getText();
            StudentDao studentDao=new StudentDao();
            System.out.println("id="+id+"pw="+pw);
        }
    });
    btnNewButton.setBounds(75, 198, 93, 23);
    contentPane.add(btnNewButton);

    JButton btnNewButton_1 = new JButton("\u53D6\u6D88");
    btnNewButton_1.setFont(new Font("宋体", Font.PLAIN, 12));
    btnNewButton_1.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            //单击事件
            System.exit(0);
        }
    });
    btnNewButton_1.setBounds(260, 198, 93, 23);
    contentPane.add(btnNewButton_1);

    JLabel label = new JLabel("\u6B22 \u8FCE \u767B \u5F55 \u5B66 \u751F");
    label.setFont(new Font("宋体", Font.PLAIN, 17));
    label.setBounds(131, 21, 186, 23);
    contentPane.add(label);

    JLabel label_1 = new JLabel("\u7BA1 \u7406 \u7CFB \u7EDF");
    label_1.setFont(new Font("宋体", Font.PLAIN, 17));
    label_1.setBounds(156, 54, 130, 23);
    contentPane.add(label_1);

    JLabel lblAdmin = new JLabel("\u5982\u679C\u60A8\u9996\u6B21\u767B\u9646\u7528\u6237\u540D\u4E3A  admin  \u5BC6\u7801\u4E3A\u7A7A\uFF01");
    lblAdmin.setForeground(Color.RED);
    lblAdmin.setBounds(86, 173, 267, 15);
    contentPane.add(lblAdmin);


}

}

1个回答

创建一个类,继承JPanel,然后重写paintComponent(Graphics g),在JPanel上利用画笔Graphics g画出图片
代码大致如下:图片说明
ImageIcon imageIcon = new ImageIcon(priturePath);
Image image = imageIcon.getImage();
g.drawImage(image, 20, 20, 450, 600, this);

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
关于在JFrame中设置背景图片问题。

在写JAVA小游戏中新建了一个继承JFrame的类,然后重写了paint方法,在里面绘制了一个空白图像用于双缓冲,之后我想设置JFrame的背景图片,或是在其中添加组件都无法显示,如果在paint方法中加super(g)后,才会显示出来,但窗口会不停的闪烁。请问有什么办法可以解决么?

JFrame中使用JLabel添加背景图片不显示

import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; public class image { public static void main(String[] args) { JFrame frame = new JFrame("image"); ImageIcon image = new ImageIcon("/img/timg.jpg"); JLabel la3 = new JLabel(image); la3.setBounds(0, 0, frame.getWidth(),frame.getHeight() );//添加图片,设置图片大小为窗口的大小。 frame.getLayeredPane().add(la3,new Integer(Integer.MIN_VALUE)); //将JLable加入到面板容器的最高层 JPanel jp = (JPanel)frame.getContentPane(); jp.setOpaque(false); //设置面板容器为透明 frame.setSize(100, 500); frame.setResizable(true); frame.setVisible(true); } } 如题,求助

java swing中如何为一个窗体添加背景图片

java swing中如何为一个窗体添加背景图片,java swing中如何为一个窗体添加背景图片

Netbeans的UI如何通过图形化界面去给窗体添加背景图片?

Netbeans的UI如何通过图形化界面去给窗体添加背景图片? Netbeans的UI如何通过图形化界面去给窗体添加背景图片? Netbeans的UI如何通过图形化界面去给窗体添加背景图片?

Java怎么给窗口添加背景图片

package Three; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPasswordField; import javax.swing.JTextField; public class CopyOfTest3 { JFrame frame = new JFrame("小小熊^_^管理系统>"); JTextField userName = new JTextField(); JPasswordField password = new JPasswordField(); JButton ok = new JButton("确定"); JButton cancel = new JButton("取消"); JLabel l1 = new JLabel("用户名:"); JLabel l2 = new JLabel("密 码:"); JLabel l3 = new JLabel("小小熊^_^管理系统> 登录"); private void initFrame() { frame.setLayout(null); frame.setBounds(400,150,600,400); l1.setBounds(150, 105, 150, 40); l2.setBounds(150, 165, 150, 40); l3.setBounds(220, 10, 500, 40); userName.setBounds(220,110,200,35); password.setBounds(220,170,200,35); ok.setBounds(220, 250, 80, 35); cancel.setBounds(340, 250, 80, 35); frame.add(l1); frame.add(l2); frame.add(l3); frame.add(userName); frame.add(password); frame.add(ok); frame.add(cancel); frame.setResizable(false); frame.setVisible(true); } public static void main(String[] args) { new CopyOfTest3().initFrame();; } } //怎么把D盘根目录下的 123.jpg添加到这个登录界面的背景

java swing 中怎么设置窗体背景图片?

java swing 中怎么设置窗体背景图片而不覆盖其他组件比如按钮文本框这些,我用边框布局,把他们都添加到内容面板层上,但图片把其他组件覆盖了,是怎么回事?求大神们解答,谢谢

怎么在一个JFrame的顶部显示一张图片可以随着窗口宽度改变啊?

![图片说明](https://img-ask.csdn.net/upload/201506/28/1435460205_540081.jpg) 我把这图片用drawImage方法画在一个Panel上,再把Panel添加到JFrame的北部就成这样了!?怎么让图片有个初始高度而且能随着窗口改变宽度??求解!

Java如何添加背景。。。。。。。

如何为面板添加背景图片,求大神指导,代码如下:(自己添加的时候总是把组件遮挡了或者添加不上去) 万分感谢!! import java.awt.*; import java.awt.event.*; import java.io.File; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.*; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; public class Main extends JFrame implements ActionListener { /** * @param args */ JLabel l1 = new JLabel("武汉纺织大学学生信息查询"); JLabel l2 = new JLabel("用户登陆"); JLabel l3 = new JLabel("用户名 :"); JLabel l4 = new JLabel("密 码 :"); JTextField t1 = new JTextField(); JPasswordField t2 = new JPasswordField(); JButton button1 = new JButton("登陆"); JButton button2 = new JButton("重置"); static JPanel p1 = new JPanel(new FlowLayout(FlowLayout.CENTER, 2, 2)); Font f1 = new Font("宋体", Font.BOLD, 20); Font f2 = new Font("宋体", Font.BOLD, 30); Font f3 = new Font("宋体", Font.BOLD, 15); public static String currentSID = ""; public Main() { GUI(); } public void GUI() { // 面板设计 p1.add(l1); p1.add(l2); p1.add(l3); p1.add(l4);// 文字 p1.add(t1); p1.add(t2);// 文本框 p1.add(button1); p1.add(button2);// 按钮 add(p1); p1.setBackground(Color.black); p1.setLayout(null); l1.setBounds(100, 50, 400, 30); l1.setFont(f2); l1.setForeground(Color.cyan); l2.setBounds(250, 150, 130, 40); l2.setFont(f1); l2.setForeground(Color.cyan); l3.setBounds(170, 230, 100, 40); l3.setFont(f1); l3.setForeground(Color.cyan); l4.setBounds(170, 280, 100, 40); l4.setFont(f1); l4.setForeground(Color.cyan); t1.setBounds(280, 240, 130, 20); t1.setFont(f3); t2.setBounds(280, 290, 130, 20); t2.setFont(f3); button1.setBounds(200, 350, 80, 30); button1.setFont(f1); button2.setBounds(300, 350, 80, 30); button2.setFont(f1); button1.addActionListener(this); button2.addActionListener(this); } public void actionPerformed(ActionEvent e) { // 登陆消息响应 // TODO Auto-generated method stub Object source = e.getSource(); if (source == button1) { String user = t1.getText(); String password = t2.getText(); if((user.equals("admin")==true)&&(password.equals("123")==true)) { setVisible(false); new panel(); } else if(login(user,password)) { setVisible(false); new vo(); } else if((user.equals("")==true&&(password.equals("")==true))) { JOptionPane.showMessageDialog(null, "请输入用户名和密码!", "提示", 2); } else{ JOptionPane.showMessageDialog(null, "输入的用户名或密码错误!请重新输入!", "提示", 2); t1.setText(null); t2.setText(null); } } if (source == button2) { t1.setText(null); t2.setText(null); } } public boolean login(String name,String password){ // 调用xml文档中的参数登陆 try { DocumentBuilderFactory factory = DocumentBuilderFactory .newInstance(); DocumentBuilder domParser = factory.newDocumentBuilder(); Document document = domParser.parse(new File("class.xml")); try { NodeList imags = document.getElementsByTagName("student"); int j = imags.getLength(); for (int k = 0; k < j; k++) { Element elink = (Element) imags.item(k); String number = elink.getElementsByTagName("number").item(0) .getTextContent(); String classes = elink.getElementsByTagName("classes") .item(0).getTextContent(); if(name.equals(number) && password.equals(classes)){ currentSID = number; return true; } } } catch (Exception e) { System.out.println(e); System.out.println("错误"); } } catch (Exception e) { System.out.println(e); System.out.println("错误"); } return false; } public static void main(String[] args) { // TODO Auto-generated method stub Main f = new Main(); f.setTitle("武汉纺织大学"); f.add(p1); f.setSize(600, 600); f.setLocationRelativeTo(null); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setVisible(true); try { // 设置界面的外观,为系统外观 UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); SwingUtilities.updateComponentTreeUI(f); } catch (Exception e) { e.printStackTrace(); } } }

java面板的背景图片为什么显示不出来?下面是程序代码?

import java.awt.Graphics; import java.awt.Image; import java.awt.Toolkit; import javax.swing.JFrame; import javax.swing.JPanel; public class Exam9_4 extends JPanel{ private Image image; Exam9_4(){ super(); image=Toolkit.getDefaultToolkit().getImage("AB.jpg"); } public void paintComponent(Graphics g){//绘制此容器中的每个组件 super.paintComponent(g); g.drawImage(image, 0, 0, this.getWidth(),this.getHeight(),this); }//图片会自动缩放 public static void main(String[] args) { JFrame frame=new JFrame("添加了背景的面板"); Exam9_4 panel = new Exam9_4(); frame.add(panel);//将面板添加到JFrame上 frame.setVisible(true); frame.setBounds(300, 300, 400, 500); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }

如何解决Java窗口中添加背景图后,再添加图片无法显示?

Pool.java package com_Tentact_FishGame; //捕鱼达人游戏 import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.JPanel; public class Pool extends JPanel{ Pool pool; Fish fish; Net net; BufferedImage poolImage; public Pool() throws IOException { poolImage=ImageIO.read(new File("src/image/bg.jpg")); //读取图片 } @Override //读取图片后画图片 public void paint(Graphics g) { g.drawImage(poolImage,0,0,null); //g.drawImage(fish.fishImage,fish.point.x,fish.point.y,null); ** //就是上面这行代码,添加进去后就无法正常显示图片了。** ** //求大佬解决呀** //g.drawImage(net.netImage,net.point.x,net.point.y,null); } } Fish.java package com_Tentact_FishGame; import java.awt.Point; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.util.Random; import javax.imageio.ImageIO; public class Fish { Fish fish; Point point;//用点来代替鱼的位置 BufferedImage fishImage; Random random=new Random();//随机生成数 public Fish() throws IOException { fishImage=ImageIO.read(new File("src/image/fish01_01.png")); int x=random.nextInt(80);//生成x坐标 int y=random.nextInt(50);//生成y坐标 point=new Point(x,y);//生成鱼的位置 } } Windows.java package com_Tentact_FishGame; import java.io.IOException; import javax.swing.JFrame; public class Window extends JFrame{ public Window() throws IOException { this.setSize(800,500); this.setTitle("捕鱼达人"); this.setLocationRelativeTo(null);//居中 this.setResizable(false);//不可调节 this.setDefaultCloseOperation(DISPOSE_ON_CLOSE); Pool pool=new Pool(); this.add(pool); this.setVisible(true); } } Test.java package com_Tentact_FishGame; import java.io.IOException; public class Test { public static void main(String[] args) throws IOException { Window window= new Window(); } }

java绘图闪屏问题,在以绘图的JFrame上加上JPanel画图

我在画了图的JFrame上再加个JPanel画图,就会出现图片闪屏闪得很严重,因为是在做小游戏想背景和人物分开来画如何解决这个问题 ``` import java.awt.*; import javax.swing.*; import java.util.*; public class Baground extends JFrame{ Image baground; Random random; int bgNum; People p=new People(); public Baground(){ JFrame frame=new JFrame(); this.setSize(1200,336*2-100); this.setVisible(true); this.setResizable(false); random=new Random(); random.setSeed(49849); bgNum=(int)(random.nextDouble()*10); System.out.print(bgNum); baground=Toolkit.getDefaultToolkit().getImage("素材/背景图片/"+bgNum+".gif"); this.getContentPane().add(p); } public void paint(Graphics g){ p.paint(g); int w=baground.getWidth(this); int h=baground.getHeight(this); g.drawImage(baground,1,0,w+400,h*2-100,this); } public static void main(String[] args){ new Baground(); } } class People extends JPanel{ Image peopleImage; public People(){ peopleImage=Toolkit.getDefaultToolkit().getImage("素材/people1/1.gif"); } public void paint(Graphics g){ super.paint(g); int a=peopleImage.getWidth(this); int b=peopleImage.getHeight(this); g.drawImage(peopleImage,150,350,this); } } ```

一个JFrame上添加2个JPanel之后,第一个JPanel上的画东西会在第二个JPanel上显示

![图片说明](https://img-ask.csdn.net/upload/201707/12/1499846738_463403.png) 右上角那个小的JPanel我是没有加网格的,还有就是左边那个正在掉的“L”也出现在右边了。 下面贴上我有关的代码: main方法里关于JFrame和JPanel的设置, JFrame jf=new JFrame("Tetirs"); TetirsGame game=new TetirsGame(); jf.setLayout(null);//设置为空布局,自定义 jf.getContentPane().setBackground(Color.cyan);//设置窗口的背景色 jf.setSize(600, 657);//设置窗口大小 jf.setVisible(true); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jf.setAlwaysOnTop(true); jf.setLocationRelativeTo(null); game.setBackground(Color.white); game.setBounds(5, 5, WIDTH, HEIGHT);//将game放在jf的哪个位置,宽高 game.action(jf); jf.getContentPane().add(game);//将game添加到jf上 drawOther(jf,game);//画其他的JLabel等东西 jf.getContentPane().add(scbd); scbd.setBackground(Color.cyan);//scbd是一个静态的小面板的对象 scbd.setBounds(460, 50, 80, 80); 我在大的JPanel里面的定时器里调用了这个: scbd.drawScoreBoard(tetrominos[1]);//在大面板的定时器里调用小面板的画“下一个”的方法 这个方法是这样的: public void drawScoreBoard(Tetromino tero) { this.t=tero; repaint(); } public void paint(Graphics g) { if(t!=null && t.state ==Tetromino.INACTIVE) { while(t.centerCell.getRow() >60 ||t.cell_1.getRow()>60 || t.cell_2.getRow()>60 || t.cell_3.getRow()>60 ) { t.leftMove(); } while(t.centerCell.getRow() <0 ||t.cell_1.getRow() < 0 || t.cell_2.getRow()<0 || t.cell_3.getRow()<0 ) { t.rightMove(); } while(t.centerCell.getCol() >60 ||t.cell_1.getCol() >60 || t.cell_2.getCol() >60 || t.cell_3.getCol() >60 ) { t.centerCell.setCol(t.centerCell.getCol()-20); t.getTetromino(); } while(t.centerCell.getCol()<0 ||t.cell_1.getCol() <0 || t.cell_2.getCol() <0 || t.cell_3.getCol() <0 ) { t.downMove(); } BufferedImage image=t.getImage(); g.drawImage(image, t.centerCell.getRow(), t.centerCell.getCol(), null); g.drawImage(image, t.cell_1.getRow(), t.cell_1.getCol(), null); g.drawImage(image, t.cell_2.getRow(), t.cell_2.getCol(), null); g.drawImage(image, t.cell_3.getRow(), t.cell_3.getCol(), null); } } 我的game是继承了JPanel的,主要逻辑也都在这里面, 因为我要在小的JPanel里面画game里面的Tetrominos[1],而且Tetrominos[1]是不断变化的。我就在game里面的定时器里面重复调用了方法,我觉得问题可能就出在这附近,但不是很懂,请各路大神指点下咯。

java开发中我设置了一个JPanel里面装了图片作为背景 但是为什么没有显示出来背景图片

此段代码中什么地方出错了?为什么我的ip,h还有rs,drgl这三个地方的背景图片 无法显示或者切换? p4=new JPanel(new BorderLayout()); p2=new JPanel(new CardLayout()); //处理p2,p3,p4 p2_lab1=new JLabel(new ImageIcon("image/21.jpg")); p2_lab2=new JLabel(new ImageIcon("image/22.jpg")); //把以上俩加入到P2中 p2.add(p2_lab1,"0"); p2.add(p2_lab2,"1"); this.cardp3=new CardLayout(); p3=new JPanel(this.cardp3); //先给P3加入一个主界面的卡片 Image zhu_image=null; try { zhu_image = ImageIO.read(new File("image/11.jpg")); } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); } ImagePanel ip=new ImagePanel(zhu_image); p3.add(ip,"0"); //对P3添加几个JLabel JLabel rs=new JLabel(new ImageIcon("image/renshi.jpg")); p3.add(rs,"1"); JLabel drgl=new JLabel(new ImageIcon("image/dengru.jpg")); p3.add(drgl,"2"); //把p2 p3装入P4中 p4.add(p2,"West"); p4.add(p3,"Center"); //做一个拆分窗口分别存放P1 P4 jsp1=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,p1,p4); //指定左边的面板占多大像素 jsp1.setDividerLocation(120); //把边界线设为没有 jsp1.setDividerSize(0);

java 关于添加图片到窗体背景

代码如下 Game.java import javax.swing.JFrame; public class Game{ public static void main(String[] args){ JFrame window = new JFrame(); window.setSize(800,600); window.setLocation(270,100); window.setTitle("我的图片"); window.show(); } } MyJFrame.java import java.awt.Color; import java.awt.Graphics; import java.awt.Image; import java.io.File; import javax.imageio.ImageIO; import javax.swing.JFrame; public class MyJFrame extends Game{ Image mapImage; Image lxyImage; public MyJFrame(){ try{ File file = new File("D:/素材/地图/0.png"); mapImage = ImageIO.read(file); lxyImage = ImageIO.read(new File("D:/素材/图片/0.png")); }catch(Exception e){ e.printStackTrace(); } } public void paint(Graphics g){ g.drawImage(mapImage, 0, 0, null); g.drawImage(lxyImage, 400, 300, null); } } 求解答,新人,尽量详细点,不胜感激!

JAVA的Jframe图标怎么修改

![图片说明](https://img-ask.csdn.net/upload/201903/29/1553842955_581633.jpg) 试了好多种办法图标这两个替换不掉,代码如下 ``` package demo; import java.awt.BorderLayout; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import java.awt.Toolkit; public class test2 extends JFrame { private JPanel contentPane; /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { test2 frame = new test2(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the frame. */ public test2() { setIconImage(Toolkit.getDefaultToolkit().getImage("C:\\Users\\yyj\\Desktop\\testPostOrder\\lib\\icon.jpg")); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 450, 300); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); contentPane.setLayout(new BorderLayout(0, 0)); setContentPane(contentPane); } } ```

能不能直接在swing插件中插入背景图片?

能不能直接在swing插件中插入背景图片?我发现swing制作的东西制作完后就不能再弄别的东西了,往按钮里插入算法就要改好多东西怎么办?

Java JFrame 使用 paint 方法不显示绘制图像。

``` public class Show extends JFrame{ public Show(){ setTitle("Calcutor"); setSize(90*3,160*3); setVisible(true); } } public class Main { public static void main(String args[]){ Show show=new Show(); Graphics g= show.getGraphics(); g.setColor(Color.pink); g.fillRect(0, 0, show.getWidth(), show.getHeight()); } } ``` 上面这个不能显示图片。 ``` public class Main { public static void main(String args[]){ Show show=new Show(); Graphics g= show.getGraphics(); try { Thread.currentThread().sleep(1000);//毫秒 } catch(Exception e){} g.setColor(Color.pink); g.fillRect(0, 0, show.getWidth(), show.getHeight()); } } ``` 当我加上 ``` try { Thread.currentThread().sleep(1000);//毫秒 } catch(Exception e){}; ``` 时就会显示图像,这是怎么回事?能不能 不加这个也能显示图像呢?

怎么在jdbc里添加背景图片,怎么把两个代码和起来

1. package edu.jmi.xyh.view; import java.awt.*; public class LoginView_3 extends JFrame { //创建一个容器 Container ct; //创建背景面板。 BackgroundPanel bgp; public static void main(String[] args) { new LoginView_3(); } public LoginView_3() { //不采用任何布局方式。 ct=this.getContentPane(); getContentPane().setLayout(null); //在这里随便找一张400*300的照片既可以看到测试结果。 bgp=new BackgroundPanel((new ImageIcon("C:\\Users\\asus123\\Desktop\\images\\2.jpg")).getImage()); bgp.setBounds(0,0,400,300); ct.add(bgp); bgp.setLayout(null); this.setSize(400,300); this.setLocation(400,300); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); } } class BackgroundPanel extends JPanel { Image im; public BackgroundPanel(Image im) { this.im=im; this.setOpaque(true); } //Draw the back ground. public void paintComponent(Graphics g) { super.paintComponents(g); g.drawImage(im,0,0,this.getWidth(),this.getHeight(),this); } } 2. package edu.jmi.xyh.view; import java.awt.BorderLayout; public class LoginView extends JFrame { private JPanel contentPane; private JTextField txID; private JPasswordField txPw; protected int loginCount; /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { LoginView frame = new LoginView(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the frame. */ public LoginView() { setTitle("\u6B22\u8FCE\u767B\u5F55\u5B66\u751F\u7BA1\u7406\u7CFB\u7EDF"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 445, 306); contentPane = new JPanel(); contentPane.setBackground(Color.WHITE); contentPane.setForeground(Color.BLACK); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); contentPane.setLayout(null); JLabel lblNewLabel = new JLabel("\u7528\u6237\u540D\uFF1A"); lblNewLabel.setFont(new Font("宋体", Font.PLAIN, 12)); lblNewLabel.setBounds(114, 98, 54, 15); contentPane.add(lblNewLabel); JLabel lblNewLabel_1 = new JLabel("\u5BC6\u7801\uFF1A"); lblNewLabel_1.setFont(new Font("宋体", Font.PLAIN, 12)); lblNewLabel_1.setBounds(114, 135, 54, 15); contentPane.add(lblNewLabel_1); txID = new JTextField(); txID.setBounds(204, 95, 118, 21); contentPane.add(txID); txID.setColumns(10); txPw = new JPasswordField(); txPw.setBounds(204, 132, 118, 21); contentPane.add(txPw); JButton btnNewButton = new JButton("\u767B\u5F55"); btnNewButton.setFont(new Font("宋体", Font.PLAIN, 12)); btnNewButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { //登陆代码,将用户输入的内容打印在控制台中 String id=txID.getText(); String pw=txPw.getText(); //调用studentDao查询是否有该学生信息 Student student=StudentDao.query(id); loginCount++; if(student==null || !pw.equals(student.getStuPwd())){ if(loginCount<4) JOptionPane.showMessageDialog(null, "您的用户名或者密码输入错误"); else{ JOptionPane.showMessageDialog(null, "您以输错三次退出登录"); System.exit(0); } } else { LoginView.this.dispose(); MainView mv=new MainView(); mv.initView(); mv.setVisible(true); //JOptionPane.showMessageDialog(null, "您的用户名或者密码输入正确!"); } System.out.println("id="+id+"pw="+pw); } }); btnNewButton.setBounds(75, 198, 93, 23); contentPane.add(btnNewButton); JButton btnNewButton_1 = new JButton("\u53D6\u6D88"); btnNewButton_1.setFont(new Font("宋体", Font.PLAIN, 12)); btnNewButton_1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { //单击事件 System.exit(0); } }); btnNewButton_1.setBounds(260, 198, 93, 23); contentPane.add(btnNewButton_1); JLabel label = new JLabel("\u6B22 \u8FCE \u767B \u5F55 \u5B66 \u751F"); label.setFont(new Font("宋体", Font.PLAIN, 17)); label.setBounds(131, 21, 186, 23); contentPane.add(label); JLabel label_1 = new JLabel("\u7BA1 \u7406 \u7CFB \u7EDF"); label_1.setFont(new Font("宋体", Font.PLAIN, 17)); label_1.setBounds(156, 54, 130, 23); contentPane.add(label_1); JLabel lblAdmin = new JLabel("\u5982\u679C\u60A8\u9996\u6B21\u767B\u9646\u7528\u6237\u540D\u4E3A admin \u5BC6\u7801\u4E3A\u7A7A\uFF01"); lblAdmin.setForeground(Color.RED); lblAdmin.setBounds(86, 173, 267, 15); contentPane.add(lblAdmin); } protected Student StudentDao(String id) { // TODO Auto-generated method stub return null; } }

java 点击按钮改变窗口背景图

我把加载图片装成一个静态方法: public static void setBackground(String imagename){ img1 = new ImageIcon("Image/"+imagename); //img1为ImageIcon型,静态 Image im = img1.getImage(); im = im.getScaledInstance(400, 600, Image.SCALE_DEFAULT); img1.setImage(im);//压缩图片 imgLabel = new JLabel(img1);//将背景图放进标签,imgLabel为JLabel型,静态 imgLabel.setBounds(0,0,400,600); } 然后哪个窗口需要设置背景就调用这个类的静态方法: 类名.setBackground("1.jpg"); window.getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE)); ((JComponent) con).setOpaque(false);//window、con分别是当前窗口,容器 但是如果我想点击按钮就给指定窗口换背景的话却没有反应,按钮响应部分代码: String name = s + ".jpg"; 类名.setBackground(s); 指定窗口.getLayeredPane().add(类名.imgLabel, new Integer(Integer.MIN_VALUE)); ((JComponent)指定窗口的容器).setOpaque(false); 求解应该怎么做???

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

Vue + Spring Boot 项目实战(十九):Web 项目优化解决方案

快来一起探索如何打脸我们的破项目,兄弟姐妹们把害怕打在公屏上!

你连存活到JDK8中著名的Bug都不知道,我怎么敢给你加薪

CopyOnWriteArrayList.java和ArrayList.java,这2个类的构造函数,注释中有一句话 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 public ArrayList(Collection&lt;? ...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

CSDN:因博主近期注重写专栏文章(已超过150篇),订阅博主专栏人数在突增,近期很有可能提高专栏价格(已订阅的不受影响),提前声明,敬请理解!

CSDN:因博主近期注重写专栏文章(已超过150篇),订阅博主专栏人数在突增,近期很有可能提高专栏价格(已订阅的不受影响),提前声明,敬请理解! 目录 博客声明 大数据了解博主粉丝 博主的粉丝群体画像 粉丝群体性别比例、年龄分布 粉丝群体学历分布、职业分布、行业分布 国内、国外粉丝群体地域分布 博主的近期访问每日增量、粉丝每日增量 博客声明 因近期博主写专栏的文章越来越多,也越来越精细,逐步优化文章。因此,最近一段时间,订阅博主专栏的人数增长也非常快,并且专栏价

一个HashMap跟面试官扯了半个小时

一个HashMap能跟面试官扯上半个小时 关注 安琪拉的博客 1.回复面试领取面试资料 2.回复书籍领取技术电子书 3.回复交流领取技术电子书 前言 HashMap应该算是Java后端工程师面试的必问题,因为其中的知识点太多,很适合用来考察面试者的Java基础。 开场 面试官: 你先自我介绍一下吧! 安琪拉: 我是安琪拉,草丛三婊之一,最强中单(钟馗不服)!哦,不对,串场了,我是**,目...

我说我不会算法,阿里把我挂了。

不说了,字节跳动也反手把我挂了。

记录下入职中软一个月(外包华为)

我在年前从上一家公司离职,没想到过年期间疫情爆发,我也被困在家里,在家呆着的日子让人很焦躁,于是我疯狂的投简历,看面试题,希望可以进大公司去看看。 我也有幸面试了我觉得还挺大的公司的(虽然不是bat之类的大厂,但是作为一名二本计算机专业刚毕业的大学生bat那些大厂我连投简历的勇气都没有),最后选择了中软,我知道这是一家外包公司,待遇各方面甚至不如我的上一家公司,但是对我而言这可是外包华为,能...

面试:第十六章:Java中级开发

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

培训班出来的人后来都怎么样了?(二)

接着上回说,培训班学习生涯结束了。后面每天就是无休止的背面试题,不是没有头脑的背,培训公司还是有方法的,现在回想当时背的面试题好像都用上了,也被问到了。回头找找面试题,当时都是打印下来天天看,天天背。 不理解呢也要背,面试造飞机,上班拧螺丝。班里的同学开始四处投简历面试了,很快就有面试成功的,刚开始一个,然后越来越多。不知道是什么原因,尝到胜利果实的童鞋,不满足于自己通过的公司,嫌薪水要少了,选择...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

工作八年,月薪60K,裸辞两个月,投简历投到怀疑人生!

近日,有网友在某职场社交平台吐槽,自己裸辞两个月了,但是找工作却让自己的心态都要崩溃了,全部无果,不是已查看无回音,就是已查看不符合。 “工作八年,两年一跳,裸辞两个月了,之前月薪60K,最近找工作找的心态崩了!所有招聘工具都用了,全部无果,不是已查看无回音,就是已查看不符合。进头条,滴滴之类的大厂很难吗???!!!投简历投的开始怀疑人生了!希望 可以收到大厂offer” 先来看看网...

大牛都会用的IDEA调试技巧!!!

导读 前天面试了一个985高校的实习生,问了他平时用什么开发工具,他想也没想的说IDEA,于是我抛砖引玉的问了一下IDEA的调试用过吧,你说说怎么设置断点...

都前后端分离了,咱就别做页面跳转了!统统 JSON 交互

文章目录1. 无状态登录1.1 什么是有状态1.2 什么是无状态1.3 如何实现无状态1.4 各自优缺点2. 登录交互2.1 前后端分离的数据交互2.2 登录成功2.3 登录失败3. 未认证处理方案4. 注销登录 这是本系列的第四篇,有小伙伴找不到之前文章,松哥给大家列一个索引出来: 挖一个大坑,Spring Security 开搞! 松哥手把手带你入门 Spring Security,别再问密...

97年世界黑客编程大赛冠军作品(大小仅为16KB),惊艳世界的编程巨作

这是世界编程大赛第一名作品(97年Mekka ’97 4K Intro比赛)汇编语言所写。 整个文件只有4095个字节, 大小仅仅为16KB! 不仅实现了3D动画的效果!还有一段震撼人心的背景音乐!!! 内容无法以言语形容,实在太强大! 下面是代码,具体操作看最后! @echo off more +1 %~s0|debug e100 33 f6 bf 0 20 b5 10 f3 a5...

程序员是做全栈工程师好?还是专注一个领域好?

昨天,有位大一的同学私信我,说他要做全栈工程师。 我一听,这不害了孩子么,必须制止啊。 谁知,讲到最后,更确定了他做全栈程序员的梦想。 但凡做全栈工程师的,要么很惨,要么很牛! 但凡很牛的,绝不是一开始就是做全栈的! 全栈工程师听起来好听,但绝没有你想象的那么简单。 今天听我来给你唠,记得帮我点赞哦。 一、全栈工程师的职责 如果你学习编程的目的只是玩玩,那随意,想怎么学怎么学。...

不要再到处使用 === 了

我们知道现在的开发人员都使用 === 来代替 ==,为什么呢?我在网上看到的大多数教程都认为,要预测 JavaScript 强制转换是如何工作这太复杂了,因此建议总是使用===。这些都...

什么是a站、b站、c站、d站、e站、f站、g站、h站、i站、j站、k站、l站、m站、n站?00后的世界我不懂!

A站 AcFun弹幕视频网,简称“A站”,成立于2007年6月,取意于Anime Comic Fun,是中国大陆第一家弹幕视频网站。A站以视频为载体,逐步发展出基于原生内容二次创作的完整生态,拥有高质量互动弹幕,是中国弹幕文化的发源地;拥有大量超粘性的用户群体,产生输出了金坷垃、鬼畜全明星、我的滑板鞋、小苹果等大量网络流行文化,也是中国二次元文化的发源地。 B站 全称“哔哩哔哩(bilibili...

十个摸鱼,哦,不对,是炫酷(可以玩一整天)的网站!!!

文章目录前言正文**1、Kaspersky Cyberthreat real-time map****2、Finding Home****3、Silk – Interactive Generative Art****4、Liquid Particles 3D****5、WINDOWS93****6、Staggering Beauty****7、Ostagram图片生成器网址****8、全历史网址*...

终于,月薪过5万了!

来看几个问题想不想月薪超过5万?想不想进入公司架构组?想不想成为项目组的负责人?想不想成为spring的高手,超越99%的对手?那么本文内容是你必须要掌握的。本文主要详解bean的生命...

用了这个 IDE 插件,5分钟解决前后端联调!

点击上方蓝色“程序猿DD”,选择“设为星标”回复“资源”获取独家整理的学习资料!作者 |李海庆我是一个 Web 开发前端工程师,受到疫情影响,今天是我在家办公的第78天。开发了两周,...

大厂的 404 页面都长啥样?最后一个笑了...

每天浏览各大网站,难免会碰到404页面啊。你注意过404页面么?猿妹搜罗来了下面这些知名网站的404页面,以供大家欣赏,看看哪个网站更有创意: 正在上传…重新上传取消 腾讯 正在上传…重新上传取消 网易 淘宝 百度 新浪微博 正在上传…重新上传取消 新浪 京东 优酷 腾讯视频 搜...

自从喜欢上了B站这12个UP主,我越来越觉得自己是个废柴了!

不怕告诉你,我自从喜欢上了这12个UP主,哔哩哔哩成为了我手机上最耗电的软件,几乎每天都会看,可是吧,看的越多,我就越觉得自己是个废柴,唉,老天不公啊,不信你看看…… 间接性踌躇满志,持续性混吃等死,都是因为你们……但是,自己的学习力在慢慢变强,这是不容忽视的,推荐给你们! 都说B站是个宝,可是有人不会挖啊,没事,今天咱挖好的送你一箩筐,首先啊,我在B站上最喜欢看这个家伙的视频了,为啥 ,咱撇...

代码注释如此沙雕,会玩还是你们程序员!

某站后端代码被“开源”,同时刷遍全网的,还有代码里的那些神注释。 我们这才知道,原来程序员个个都是段子手;这么多年来,我们也走过了他们的无数套路… 首先,产品经理,是永远永远吐槽不完的!网友的评论也非常扎心,说看这些代码就像在阅读程序员的日记,每一页都写满了对产品经理的恨。 然后,也要发出直击灵魂的质问:你是尊贵的付费大会员吗? 这不禁让人想起之前某音乐app的穷逼Vip,果然,穷逼在哪里都是...

Java14 新特性解读

Java14 已于 2020 年 3 月 17 号发布,官方特性解读在这里:https://openjdk.java.net/projects/jdk/14/以下是个人对于特性的中文式...

前端还能这么玩?(女朋友生日,用前端写了一个好玩的送给了她,高兴坏了)

前端还能这么玩?(女朋友生日,用前端写了一个好玩的送给了她,高兴坏了)

爬虫(101)爬点重口味的

小弟最近在学校无聊的很哪,浏览网页突然看到一张图片,都快流鼻血。。。然后小弟冥思苦想,得干一点有趣的事情python 爬虫库安装https://s.taobao.com/api?_ks...

工作两年简历写成这样,谁要你呀!

作者:小傅哥 博客:https://bugstack.cn 沉淀、分享、成长,让自己和他人都能有所收获! 一、前言 最近有伙伴问小傅哥,我的简历怎么投递了都没有反应,心里慌的很呀。 工作两年了目前的公司没有什么大项目,整天的维护别人的代码,有坑也不让重构,都烦死了。荒废我一身技能无处施展,投递的简历也没人看。我是不动物园里的猩猩,狒狒了! 我要加班,我要996,我要疯狂编码,求给我个机会… ...

相关热词 c# cad插入影像 c#设计思想 c#正则表达式 转换 c#form复制 c#写web c# 柱形图 c# wcf 服务库 c#应用程序管理器 c#数组如何赋值给数组 c#序列化应用目的博客园
立即提问