Java桌面应用(1)---背景图设置

一、了解复杂容器JPanel

        JPanel是Java Swing中的一个容器类,用于在GUI应用程序中创建和管理组件。它是javax.swing.JPanel类的子类。

        JPanel提供了一种组织和布局其他组件的方式。可以向JPanel添加其他组件,如按钮、文本框、标签等,并使用布局管理器来控制它们的位置和大小。

        JPanel具有一些常用的属性和方法,包括设置背景颜色、设置布局管理器、添加和移除组件等。它还可以响应事件,并通过添加事件监听器来执行相应的操作。

        JPanel可以嵌套在其他容器类中,如JFrame或JDialog中,以创建复杂的GUI界面。它可以作为一个独立的组件,也可以作为其他容器类的子组件。

        总之,JPanel是一个用于创建和管理GUI组件的容器类,提供了一种组织和布局组件的方式。它是Java Swing中常用的一种容器类之一。

二、了解Java UI布局方式

Java UI布局方式指的是在Java图形界面编程中,对界面元素进行排列和布局的方式。常见的Java UI布局方式有以下几种:

1. 绝对布局(Absolute Layout):元素的位置和大小都是固定的,不随窗口大小的变化而变化。虽然简单易用,但是不适合开发适应不同窗口大小的应用程序。

2. 边界布局(Border Layout):将窗口分为五个区域,并可以在每个区域放置一个组件。五个区域分别为:北(North)、南(South)、东(East)、西(West)和中(Center)。可以通过调整各个组件的位置来实现不同的布局效果。

3. 流式布局(Flow Layout):将组件按从左到右的顺序依次排列,当窗口大小不足以容纳所有组件时,会自动换行。适用于需要自动调整布局的情况。

4. 网格布局(Grid Layout):将窗口划分为规则的行和列,然后将组件按照表格的形式排列。每个组件占据一个单元格,可以通过指定行数和列数来调整布局。

5. 卡片布局(Card Layout):将多个组件放置在堆叠的卡片上,然后只显示当前卡片。可以通过切换卡片来实现不同的界面效果。

6. 盒式布局(Box Layout):将组件沿着水平或垂直方向进行排列,可以通过指定对齐方式和间距来调整布局。

以上是常见的几种Java UI布局方式,开发者可以根据具体需求选择合适的布局方式来实现界面设计。

三、创建一个复杂容器

JPanel p1 =new JPanel(){
            @Override
            protected void paintComponent(Graphics g) {
                super.paintComponent(g);
                ImageIcon img = new ImageIcon("static/log.jpg");
                g.drawImage(img.getImage(),0,0,800,600,this);
            }
        };

此处需要将p1设置为null布局 

p1.setLayout(null);

四、完整代码

package UI;

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

public class Login extends JFrame {
    private JButton btn1;//登录
    private JButton btn2;//注册
    public Login(){
        JFrame j = new JFrame("个人通讯录");
        j.setLayout(new GridLayout(1,1));
        j.setSize(800,600);
        j.setResizable(false);
        btn1 = new JButton("登录");
        btn2 = new JButton("注册");
        JPanel p1 =new JPanel(){
            @Override
            protected void paintComponent(Graphics g) {
                super.paintComponent(g);
                ImageIcon img = new ImageIcon("static/log.jpg");
                g.drawImage(img.getImage(),0,0,800,600,this);
            }
        };
        p1.setLayout(null);
        p1.add(btn1);
        p1.add(btn2);
        btn1.setBounds(100,450,100,40);
        btn1.setFont(new Font("宋体",Font.BOLD,24));
        btn1.setBackground(new Color(22,120,120));
        btn1.setBorderPainted(false);

        btn2.setBounds(240,450,100,40);
        btn2.setFont(new Font("宋体",Font.BOLD,24));
        btn2.setBackground(new Color(22,120,120));
        btn2.setBorderPainted(false);

        j.add(p1,BorderLayout.CENTER);


        j.setLocationRelativeTo(null);
        j.setVisible(true);
        j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        btn1.addActionListener(e -> {
            new LoginIn();

        });
        btn2.addActionListener(e -> {
            j.dispose();
            new Reg();
        });

    }

    public static void main(String[] args) {
        new Login();
    }
}

从代码中可以看出,最后需将p1添加至主窗体中去。

五、效果图

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在开发 Java 桌面应用程序时,可以使用 Swing 或 JavaFX。 Swing 是一个用于创建桌面应用程序的图形用户界面 (GUI) 工具包,是 Java 的标准 GUI 工具包。它提供了丰富的界面组件和布局管理器,可以让你创建复杂的界面。Swing 在 Java 1.2 版本中推出,现在已经是一个成熟的工具包。 JavaFX 是 Oracle 公司推出的一个新的 GUI 工具包,它提供了比 Swing 更多的界面组件和布局管理器,并且使用起来更简单。JavaFX 在 Java 1.8 版本中推出,是一个较新的工具包。 对于新项目,建议使用 JavaFX,因为它是 Java 的最新 GUI 工具包,提供了更多的功能和更好的用户体验。但是,如果你已经熟悉 Swing 并且项目对兼容性要求较高,也可以使用 Swing。 ### 回答2: Java开发桌面应用程序可以选择使用Swing或JavaFX。 Swing是Java提供的原生UI工具包,已经存在了很长时间,并且被广泛使用。它提供了丰富的UI组件,可以满足大多数桌面应用程序的需求。Swing使用起来相对简单,文档和教程也很丰富,对于有Java编程经验的开发人员来说,上手容易。另外,Swing在各个平台上的兼容性也相对较好,可以在Windows、Linux和Mac OS等操作系统上运行。 然而,相比于Swing,JavaFX是一个更加现代化和强大的桌面应用程序开发框架。它提供了更多的UI组件和动画效果,可以构建出更漂亮和交互性更强的用户界面。JavaFX还含有更高级的功能,如支持3D图形、媒体播放和Web视图等,可以为应用程序提供更多样的功能。此外,JavaFX也更加注重可扩展性和可重用性的设计,使得开发者可以更容易地构建复杂的应用程序。 因此,选择使用Swing还是JavaFX,取决于具体的开发需求和个人技术背景。如果主要追求简单、快速的开发,并且项目不需要太多高级功能,可以选择Swing。如果对于用户体验和视觉效果有更高的要求,也希望能够方便地集成现代化的功能,可以选择JavaFX。 最后,JavaFX也在逐渐取代Swing成为Java桌面应用程序开发的主流选择,未来可能更受推荐和支持。因此,对于新项目的开发,也可以考虑选择JavaFX以避免技术落后的问题。 ### 回答3: 要选择使用Java开发桌面应用程序,可以选择使用Swing或JavaFX。 Swing是Java最早提供的GUI工具包,它简单易学,适合初学者和小型项目。Swing提供了丰富的组件和布局管理器,可以轻松构建传统的桌面应用程序界面。它的跨平台性好,可以在各种操作系统上运行,但其界面设计相对较为简单,视觉效果不够美观。 与Swing相比,JavaFX是一种更现代化、更强大的GUI工具包。它提供了更丰富的视觉效果和动画效果,支持更灵活的布局和样式。JavaFX还提供了许多更高级的功能,如多媒体支持、网络通信和3D图形支持等。JavaFX也是跨平台的,可以在各种操作系统上运行。 因此,在选择Swing或JavaFX时,需要考虑项目的规模和需求。如果是一个简单的桌面应用程序,并且对界面设计的要求不高,可以选择Swing。但如果需要更好的视觉效果和更多的功能,可以选择JavaFX。另外,如果已经很熟悉Swing,也可以选择继续使用它,因为它仍然是一个可靠和强大的GUI工具包。 总之,选择使用Swing还是JavaFX取决于项目的要求和开发者的经验,需要综合考虑功能、界面设计、跨平台性和开发成本等因素。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值