import org.*;
import org.v1.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;
import javax.swing.border.Border;
import org.AbstractFrame;
import org.config.FrameConfig;
import org.config.FrameManager;
import org.dao.BaseDaoFactory;
import org.dao.UserDao;
import org.event.ResizeEvent;
import org.util.FrameUtil;
import org.util.PropertiesUtil;
/**
*
* 主登录窗口类
*
* @author weijian.zhongwj
*/
public class Login extends AbstractFrame {
public Login() {
InitBackGround();
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
this.setSize(FrameManager.currentWidth, FrameManager.currentHeight);
this.setResizable(true);
this.setMinimumSize(new Dimension(800,600));
// this.setLocationRelativeTo(null);
this.setLocation(FrameManager.currentX, FrameManager.currentY);
this.setVisible(true);
this.setTitle("");
addButtonEnter();
}
private JPanel panel;
public void InitBackGround() {
final ImageIcon icon = new ImageIcon(ClassLoader.getSystemResource(FrameConfig.WELCOME_IMAGE));
panel = new JPanel() {
protected void paintComponent(Graphics g) {
g.drawImage(icon.getImage(), 0, 0, FrameConfig.WIDTH, FrameConfig.HEIGH, null);
super.paintComponent(g);
}
};
panel.setLayout(null);
panel.setOpaque(false);
panel.setPreferredSize(new Dimension(750, 550));
JScrollPane scrollPane = new JScrollPane(panel);
getContentPane().add(scrollPane);
}
private void addButtonEnter() {
ImageIcon icon = new ImageIcon(FrameConfig.WELCOME_BUTTON);
JButton enter = new JButton(icon);
enter.setBounds(900, 380, 380, 270);
enter.setOpaque(false);
enter.setContentAreaFilled(false);
enter.setMargin(new Insets(0, 0, 0, 0));
enter.setFocusPainted(false);
enter.setBorderPainted(false);
enter.setBorder(null);
panel.add(enter);
enter.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
}
});
}
public static void main(String[] args) {
try {
JFrame.setDefaultLookAndFeelDecorated(true);
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
Login frame = new Login();
} catch (ClassNotFoundException ex) {
Logger.getLogger(Login.class.getName()).log(Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
Logger.getLogger(Login.class.getName()).log(Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
Logger.getLogger(Login.class.getName()).log(Level.SEVERE, null, ex);
} catch (UnsupportedLookAndFeelException ex) {
Logger.getLogger(Login.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
分享到:
相关推荐
在Java的Swing库中创建GUI界面时,我们经常需要为窗口添加个性化设计,比如设置登录界面的背景图片。这个任务可以通过使用`JLabel`组件和`ImageIcon`类来实现。下面将详细介绍如何实现这一功能。 首先,我们需要...
在Java Swing图形用户界面开发中,经常需要为各种组件(如JLabel、JButton等)设置背景图片,并且希望这些图片能够根据组件的大小自动调整,以实现美观且响应式的设计效果。本文将详细介绍如何在Swing中实现这一功能...
Java GUI 背景图片添加方法 在 Java 中添加背景图片到 GUI 界面是一项常见的需求。通过使用 Java 的图形用户界面(GUI)组件,例如 JFrame、JPanel、JLabel 等,可以轻松地将背景图片添加到 GUI 界面中。本文将详细...
在Swing中,我们可以为组件设置背景图片,这通常通过覆盖`paintComponent(Graphics g)`方法并在其中绘制背景图片来实现。在该方法中,使用`Graphics`对象的`drawImage()`方法加载并绘制背景图片,确保组件的大小与...
例如,可以使用一个带有透明背景的图片作为按钮的图标,这样即使按钮本身是透明的,也可以通过图标来吸引用户的注意力。 2. **动态调整透明度**:根据用户交互状态(如鼠标悬停或按下)动态调整按钮的透明度,可以...
在Java Swing中,我们经常需要为`JFrame`窗口设置背景图片来提升用户体验或实现特定的设计需求。本文将详细介绍如何在`JFrame`中添加背景图片,并通过一个示例程序来具体说明实现过程。 #### 一、基本原理 在Swing...
我们还使用setContentAreaFilled(false)方法来禁用JButton的背景绘制,以便我们可以自己画圆形按钮的背景。 在paintComponent方法中,我们使用Graphics对象来画圆形按钮的背景和标签。如果按钮是armed状态,我们...
1. **设置窗体背景图片**: - 首先,加载背景图片。你可以使用`ImageIcon`类来读取本地或网络上的图片资源。例如: ```java Image backgroundImage = new ImageIcon("path_to_your_image").getImage(); ``` -...
- 将读取到的图片设置为JPanel的背景,这需要重写`paintComponent(Graphics g)`方法,在其中调用`g.drawImage()`绘制图片。 2. **设置布局管理器** - 为了确保背景图片组件能填充整个JFrame,我们需要使用...
以上就是关于Java Swing中的`JButton`的基本使用,包括创建按钮、添加事件监听和设置背景图标的详细步骤。通过这些基础知识,你可以创建具有交互性的用户界面,满足各种需求。在实际开发中,你还可以探索更多高级...
比如,一个JPanel可以用来展示导入的图片,作为抽奖背景,增加视觉效果。而另一个JPanel则可以用来显示中奖名单。 在抽奖系统中,导入图片功能是通过JFileChooser实现的,这是一个内置的对话框组件,允许用户从本地...
右侧的图片显示界面,可能使用了JLabel或JScrollPane来展示背景图片。JLabel可以放置图像,并且可以响应用户的操作。如果图片过大,JScrollPane会提供滚动条以便用户查看。图片的选择和设置可能通过JComboBox实现,...
在Swing应用中集成Ibatis,首先要进行相关的配置,包括设置数据源、配置SQL映射文件等。接着,创建SqlSessionFactory,通过SqlSession对象执行SQL语句。Ibatis提供了动态SQL的能力,使得在处理复杂的查询和更新操作...
10. **资源管理**:游戏可能包含图标、背景图片等资源,开发者可能使用InputStream和ImageIcon来加载和显示这些资源。 11. **测试与调试**:为了确保游戏的稳定性和准确性,开发者需要进行单元测试和集成测试,使用...
Swing提供了一系列的组件,如JFrame、JButton、JLabel等,这些组件可以被用来创建窗口、按钮、标签等基本元素。在"植物大战僵尸"游戏中,我们可以利用这些组件来构建游戏界面,例如,用JPanel作为游戏的主要画布,用...
JButton则可以用于设置游戏的操作按钮,比如射击、暂停、重新开始等。 在描述中提到的“包含所有资源文件”,这通常包括图片、音频、字体等多媒体素材。在Java Swing中,这些资源可以通过类如javax.imageio.ImageIO...
10. **图标和图像处理**:Swing允许使用 ImageIcon 显示图像,通过Java2D API可以对图像进行缩放、裁剪、旋转等处理,用于创建动态图标或背景图片。 总的来说,Java Swing特效的实现需要对Swing组件、事件处理、...
3. JPanel:这是一个可定制的容器,可以用来组合多个组件,例如在美化窗体时,可能会使用自定义的布局管理器和背景图片。 4. JButton:用于创建按钮,这里可能是实现风格切换的关键。开发者可能为按钮绑定了事件...
背景图片可以使得界面更加美观,提供了一个可以添加背景图片的面板类`BackgroundPanel`。该类继承自`JPanel`,并重写了`paintComponent`方法,以便在面板上绘制背景图片。 事件监听器的使用 在该资源中,我们可以...