包含java渐变界面例题的词条

本文目录一览:

java 在默认黑色背景下画出一个随即色彩的渐变圆

您好,现给你一个简单MFC对话框例子,工程名为TEXT:

(1)Text.h:

class CTextApp : public CWinApp

{

public:

CTextApp();

~CTextApp();

// 重写

public:

virtual BOOL InitInstance();

ULONG_PTR gdiplusToken;

// 实现

DECLARE_MESSAGE_MAP()

};

extern CTextApp theApp;

注:ULONG_PTR gdiplusToken; ~CTextApp(); 为新添加的东西

(2)Text.cpp里

CTextApp::~CTextApp()

{

//GDI+释放

GdiplusShutdown(gdiplusToken);

}

BOOL CTextApp::InitInstance()

{

// 如果一个运行在 Windows XP 上的应用程序清单指定要

// 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式,

//则需要 InitCommonControlsEx()。否则,将无法创建窗口。

INITCOMMONCONTROLSEX InitCtrls;

InitCtrls.dwSize = sizeof(InitCtrls);

// 将它设置为包括所有要在应用程序中使用的

// 公共控件类。

InitCtrls.dwICC = ICC_WIN95_CLASSES;

InitCommonControlsEx(InitCtrls);

CWinApp::InitInstance();

//GDI+初始化

GdiplusStartupInput StartupInput;

GdiplusStartup(gdiplusToken, StartupInput, NULL);

AfxEnableControlContainer();

// 创建 shell 管理器,以防对话框包含

// 任何 shell 树视图控件或 shell 列表视图控件。

CShellManager *pShellManager = new CShellManager;

// 标准初始化

// 如果未使用这些功能并希望减小

// 最终可执行文件的大小,则应移除下列

// 不需要的特定初始化例程

// 更改用于存储设置的注册表项

// TODO: 应适当修改该字符串,

// 例如修改为公司或组织名

SetRegistryKey(_T(“应用程序向导生成的本地应用程序”));

CTextDlg dlg;

m_pMainWnd = dlg;

INT_PTR nResponse = dlg.DoModal();

if (nResponse == IDOK)

{

// TODO: 在此放置处理何时用

// “确定”来关闭对话框的代码

}

else if (nResponse == IDCANCEL)

{

// TODO: 在此放置处理何时用

// “取消”来关闭对话框的代码

}

// 删除上面创建的 shell 管理器。

if (pShellManager != NULL)

{

delete pShellManager;

}

// 由于对话框已关闭,所以将返回 FALSE 以便退出应用程序,

// 而不是启动应用程序的消息泵。

return FALSE;

}

注:GdiplusStartupInput StartupInput; GdiplusStartup(gdiplusToken, StartupInput, NULL);为新添加的东西

(3)stdafx.h

//GDI+

#includegdiplus.h

using namespace Gdiplus;

#pragma comment(lib, “gdiplus.lib”)

注:以上为为新添加的东西,需要的头文件就是上而这些

(4)接着你就可以使用LinearGradientBrush, 在TextDlg.cpp

void CTextDlg::OnPaint()

{

Graphics graphics(this-m_hWnd);

LinearGradientBrush linGrBrush(

Point(0,0),

Point(200,0),

Color(255,255,0,0),

Color(255,0,0,255));

graphics.FillRectangle(linGrBrush, 0, 0, 200, 200);

}

Java图像渐变如何显示图像

image=getImage(getCodeBase(),”a.gif”);

这一行描述图片的,显示图片是a.gif

image=getImage(getCodeBase(),”F:\\新建文件夹\\图片\\素材\\f.jpg”);

例如,要用绝对路径

如何做一个java和程序,能实现颜色的渐变功能的?

import javax.swing.JFrame ;

import javax.swing.JPanel ;

import java.awt.Color ;

public class ChangeColor extends JFrame implements Runnable {

private JPanel p ;

public static void main(String args[]) {

ChangeColor w = new ChangeColor();

w.setVisible(true) ;

}

public ChangeColor() {

//设置窗体属性

this.setSize(300,300) ;

//new出组件

p = new JPanel() ;

//初始化组件属性

//布置窗体

this.add(p) ;

//启动线程

new Thread(this).start() ;

}

public void run() {

while(true) {

for (int r = 0; r256; r++)

for (int g = 0; g256; g++)

for (int b = 0; b256; b++) {

this.p.setBackground(new Color(r , g ,b)) ;

try { Thread.sleep(10) ; } catch (Exception ex) { }

this.repaint() ;

}

}

}

}

怎么用Java多线程实现面板颜色渐变;麻烦给你具体例子。

用定时器不行么?

顺便写了个,参考而已

import javax.swing.JFrame;

import javax.swing.JButton;

import javax.swing.Timer;

import javax.swing.*;

import java.awt.event.*;

import java.awt.*;

import java.awt.event.ActionListener;

public class TestA extends JFrame implements ActionListener {

//—–要实现ActionListener接口

public Timer t;

public JButton jb;

//—–一个定时器一个按钮用来显示变色效果

public int red = 0;

public int green = 0;

public int blue = 0;

public TestA() {

jb = new JButton(“test”);

jb.setBackground(Color.BLUE);

//—–定时器设置为0.2秒触发1次事件

t = new Timer(200, this);

this.setSize(200, 200);

this.getContentPane().add(jb);

this.setVisible(true);

//—–定时器开始运行

this.t.start();

}

public void actionPerformed(ActionEvent e) {

red += 5;

green += 10;

blue += 15;

red %= 255;

green %= 255;

blue %= 255;

//—–三种颜色按你所需搞个渐变的规则

this.jb.setBackground(new Color(red, green, blue));

this.jb.setVisible(true);

}

public static void main(String[] _s) {

TestA a = new TestA();

}

}

给你需要变色的元件挂个定时器。

原创文章,作者:WTU6B,如若转载,请注明出处:https://www.506064.com/n/129484.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
WTU6BWTU6B
上一篇 2024-10-03 23:26
下一篇 2024-10-03 23:26

相关推荐

  • java client.getacsresponse 编译报错解决方法

    java client.getacsresponse 编译报错是Java编程过程中常见的错误,常见的原因是代码的语法错误、类库依赖问题和编译环境的配置问题。下面将从多个方面进行分析…

    编程 2025-04-29
  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • Java腾讯云音视频对接

    本文旨在从多个方面详细阐述Java腾讯云音视频对接,提供完整的代码示例。 一、腾讯云音视频介绍 腾讯云音视频服务(Cloud Tencent Real-Time Communica…

    编程 2025-04-29
  • Java Bean加载过程

    Java Bean加载过程涉及到类加载器、反射机制和Java虚拟机的执行过程。在本文中,将从这三个方面详细阐述Java Bean加载的过程。 一、类加载器 类加载器是Java虚拟机…

    编程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介绍

    本文将详细介绍Java Milvus SearchParam withoutFields的相关知识和用法。 一、什么是Java Milvus SearchParam without…

    编程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java语言中的一个版本,于2014年3月18日发布。本文将从多个方面对Java 8中某一周的周一进行详细的阐述。 一、数组处理 Java 8新特性之一是Stream…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29
  • VSCode为什么无法运行Java

    解答:VSCode无法运行Java是因为默认情况下,VSCode并没有集成Java运行环境,需要手动添加Java运行环境或安装相关插件才能实现Java代码的编写、调试和运行。 一、…

    编程 2025-04-29
  • Java任务下发回滚系统的设计与实现

    本文将介绍一个Java任务下发回滚系统的设计与实现。该系统可以用于执行复杂的任务,包括可回滚的任务,及时恢复任务失败前的状态。系统使用Java语言进行开发,可以支持多种类型的任务。…

    编程 2025-04-29
  • Java 8 Group By 会影响排序吗?

    是的,Java 8中的Group By会对排序产生影响。本文将从多个方面探讨Group By对排序的影响。 一、Group By的概述 Group By是SQL中的一种常见操作,它…

    编程 2025-04-29

发表回复

登录后才能评论