about java_About.java
发布日期:2021-06-24 17:18:37 浏览次数:2 分类:技术文章

本文共 4581 字,大约阅读时间需要 15 分钟。

package cn.sx.xlj.NotePad;

import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.Desktop;

import java.awt.Font;

import java.awt.GradientPaint;

import java.awt.Graphics;

import java.awt.Graphics2D;

import java.awt.Image;

import java.awt.Toolkit;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

import java.io.IOException;

import java.net.URI;

import java.net.URISyntaxException;

import javax.swing.BorderFactory;

import javax.swing.ImageIcon;

import javax.swing.JDialog;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextArea;

class ShadePanel extends JPanel {

private static final long serialVersionUID = -2644424271663261406L;

public ShadePanel() {

super();

setLayout(null);

}

@Override

protected void paintComponent(Graphics g1) {// 重写绘制组件外观

Graphics2D g = (Graphics2D) g1;

super.paintComponent(g);// 执行超类方法

int width = getWidth();// 获取组件大小

int height = getHeight();

// 创建填充模式对象

GradientPaint paint = new GradientPaint(0, 0, Color.CYAN, 0, height,Color.MAGENTA);//实现颜色渐变

//GradientPaint paint = new GradientPaint(0, 0, Color.red, 0, height,Color.blue);

g.setPaint(paint);// 设置绘图对象的填充模式

g.fillRect(0, 0, width, height);// 绘制矩形填充控件界面

}

}

public class About extends JDialog {

private static final long serialVersionUID = 4693799019369193520L;

private JPanel contentPane;

private Font f1 = new Font("微软雅黑",Font.PLAIN,15);

private Font f2 = new Font("微软雅黑",Font.PLAIN,20);

private ImageIcon icon;

private JLabel label;

public About() {

setTitle("关于");//设置窗体标题

Image img=Toolkit.getDefaultToolkit().getImage("title.png");//窗口图标

setIconImage(img);

setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

setModal(true);//设置为模态窗口

setSize(410,380);

setResizable(false);

setLocationRelativeTo(null);

contentPane = new JPanel();// 创建内容面板

contentPane.setLayout(new BorderLayout(0, 0));

setContentPane(contentPane);

ShadePanel shadePanel = new ShadePanel();// 创建渐变背景面板

contentPane.add(shadePanel, BorderLayout.CENTER);// 添加面板到窗体内容面板

shadePanel.setLayout(null);

JTextArea J1 = new JTextArea("版本:2017_07_21_1.0.0\n开发者:XJX\n开发语言:Java\n"

+ "Email: thexjx@outlook.com");

J1.setFocusable(false);

J1.setFont(f2);

J1.setEditable(false);

J1.setOpaque(false);//背景透明

shadePanel.add(J1);

J1.setBounds(10, 10, 400, 180);

icon = new ImageIcon("title.png");

icon.setImage(icon.getImage().getScaledInstance(120,120,Image.SCALE_SMOOTH));//保持图片的清晰

label = new JLabel(icon);

shadePanel.add(label);

label.setBounds(270, 0, 130, 130);

JPanel p = new JPanel();

p.setBounds(5, 130, 395, 1);

p.setBorder(BorderFactory.createLineBorder(Color.black));

shadePanel.add(p);

JLabel J2 = new JLabel("欢迎访问我的主页:");

J2.setBounds(10, 145, 200, 20);

J2.setFont(f2);

shadePanel.add(J2);

JLabel MyGithub_Label = new JLabel("Github:");

MyGithub_Label.setFont(f2);

final JLabel MyGithub = new JLabel("https://github.com/JiaxinTse");

MyGithub.setFont(f2);

MyGithub.setBackground(Color.white);

MyGithub.addMouseListener(new InternetMonitor());

JLabel MyCnBlog_Label = new JLabel("博客园:");

MyCnBlog_Label.setFont(f2);

final JLabel MyCnBlog = new JLabel("http://www.cnblogs.com/journal-of-xjx/");

MyCnBlog.setFont(f2);

MyCnBlog.addMouseListener(new InternetMonitor());

JTextArea Copyright = new JTextArea(" Copyright @XJX2017.\n All rights reserved.");

Copyright.setFocusable(false);

Copyright.setOpaque(false);

Copyright.setFont(f1);

Copyright.setEditable(false);

shadePanel.add(MyGithub_Label);

MyGithub_Label.setBounds(10, 180, 400, 20);

shadePanel.add(MyGithub);

MyGithub.setBounds(10, 200, 400, 30);

shadePanel.add(MyCnBlog_Label);

MyCnBlog_Label.setBounds(10, 240, 400, 20);

shadePanel.add(MyCnBlog);

MyCnBlog.setBounds(10, 260, 400, 30);

shadePanel.add(Copyright);

Copyright.setBounds(10, 300, 400, 50);

setVisible(true);

}

public static void main(String[] args) {

new About();

}

}

class InternetMonitor extends MouseAdapter{

public void mouseClicked(MouseEvent e){

JLabel JLabel_temp = (JLabel)e.getSource();

String J_temp = JLabel_temp.getText();

System.out.println(J_temp);

URI uri ;

try {

uri = new URI(J_temp);

Desktop desk=Desktop.getDesktop();

if(Desktop.isDesktopSupported() && desk.isSupported(Desktop.Action.BROWSE)){

try {

desk.browse(uri);

} catch (IOException e1) {

e1.printStackTrace();

}

}

} catch (URISyntaxException e1) {

e1.printStackTrace();

}

}

public void mouseEntered(MouseEvent e){

JLabel JLabel_temp = (JLabel)e.getSource();

JLabel_temp.setForeground(Color.red);

}

public void mouseExited(MouseEvent e){

JLabel JLabel_temp = (JLabel)e.getSource();

JLabel_temp.setForeground(Color.blue);

}

}

一键复制

编辑

Web IDE

原始数据

按行查看

历史

转载地址:https://blog.csdn.net/weixin_34061793/article/details/114159038 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java hs_err 路径_JVM致命错误日志(hs_err_pid.log)解读
下一篇:java spring server_Java server框架之(1):spring中的IoC

发表评论

最新留言

不错!
[***.144.177.141]2024年04月22日 23时38分11秒