javaswing界面设计(javaswing界面设计ppt)

本篇文章给大家谈谈javaswing界面设计,以及javaswing界面设计ppt对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

1、java设计一个swing界面,如何从登录界面转到系统主窗口2、java swing怎样开发出漂亮的界面3、Java很神奇 用swing制作欢迎屏幕4、利用 Java Swing 实现游戏开发5、java开发:Swing是MVC设计的典范

java设计一个swing界面,如何从登录界面转到系统主窗口

java设计一个swing界面,如何从登录界面转到系统主窗口首先当我们遇到这样的一个问题时,我们先打开一个程序的主页面,然后在主页面里我我们对它进行一个设置,然后设置一个窗口的转换,然后就可以系统的转到系统的主窗口上

java swing怎样开发出漂亮的界面

使用Swing照样可以开发出漂亮的界面.

主要的解决方案如下:

1: 合理的布局 , 搭建好界面的框架. 熟悉常用的布局, 并且布局还可以嵌套布局.  可以实现复杂而又美观的界面.

2: 适当的图片,  按钮, 背景等 都可以使用图片, 当然了为了节省系统资源, 可以使用稍微压缩得比较小的图片.

3: 搭配html , swing支持html简单的标签, 所以美化JButton ,JLabel等组件时, 可以使用一些Html标签. 来美化~~

4: 颜色调和. 界面要美观, 也可以适当的添加颜色, 但是要注意搭配和协调

5: 重写部分组件, swing自带的组件外观, 的确不太让人恭维,  但是我们可以自己根据需求进行重写.

6: 添加动态效果, 我们写javaScript经常是用来做特效的 , 我们可以借鉴一些JS特效的思路, 使用线程, 来给swing组件 等,添加动态的效果 , 比如抖动,  移动 , 滑出 等 特效~

7: 更换皮肤和外观 , 或者使用第三方的皮肤 ,比大神制作的皮肤BeautyEye ,就想当的漂亮

javaswing界面设计(javaswing界面设计ppt)

Java很神奇 用swing制作欢迎屏幕

几乎所有时髦的应用都有一个欢迎屏幕 欢迎屏幕既是宣传产品的方法之一 而且在长时间的应用启动过程中 欢迎屏幕还用来表示应用正在准备过程中 现在教你怎么用java中的swing技术制作一个时髦的欢迎屏幕

下面是一个最简单的欢迎屏幕实现

Java代码

class SplashWindow extends JWindow

{

public SplashWindow (String filename Frame f)

{

super(f);

JLabel l = new JLabel(new ImageIcon(filename));

getContentPane() add(l BorderLayout CENTER);

pack();

Dimension screenSize =

Toolkit getDefaultToolkit() getScreenSize();

Dimension labelSize = l getPreferredSize();

setLocation(screenSize width/ (labelSize width/ )

screenSize height/ (labelSize height/ ));

setVisible(true);

screenSize = null;

labelSize = null;

}

}

SplashWindow 类从Swing的JWindow派生 JWindow是一个容器 它没有其他窗口所具有的各种窗口元素 如标题条 窗口管理按钮 甚至连突出显示的边框也没有 因此 JWindow对于制作欢迎屏幕来说是非常合适的 上面的代码假定图形文件在当前目录 图形通过ImageIcon装入内存 然后它就被放到了JWindow的中心 接着 窗口被pack() 这使得Swing把窗口调整到适当的大小 最后窗口被移到了屏幕的中心

如果我们运行上面的程序 可以发现虽然欢迎画面确实出现在屏幕中央 但遗憾的 它却不会关闭!要关闭欢迎画面 我们需要加入更多的代码 Java代码

class SplashWindow extends JWindow

{

public SplashWindow (String filename Frame f)

{

super(f);

JLabel l = new JLabel(new ImageIcon(filename));

getContentPane() add(l BorderLayout CENTER);

pack();

Dimension screenSize =

Toolkit getDefaultToolkit() getScreenSize();

Dimension labelSize = l getPreferredSize();

setLocation(screenSize width/ (labelSize width/ )

screenSize height/ (labelSize height/ ));

addMouseListener(new MouseAdapter()

{

public void mousePressed(MouseEvent e)

{

setVisible(false);

dispose();

}

});

setVisible(true);

}

}

和原先的SplashWindow 类相比 这个SplashWindow 类唯一的区别在于多出了一个安装到JWindow上的匿名MouseListener 经过这个改动之后 用户可以点击欢迎屏幕关闭它

现在我们有了一个很不错的欢迎屏幕 它可以通过点击的方法关闭 但它不会自己消失 接下来我们要加入代码 使得欢迎屏幕在显示一定的时间之后自动消失 这里我们要考虑到运用线程

Java代码

class SplashWindow extends JWindow

{

public SplashWindow (String filename Frame f int waitTime)

{

super(f);

JLabel l = new JLabel(new ImageIcon(filename));

getContentPane() add(l BorderLayout CENTER);

pack();

Dimension screenSize =

Toolkit getDefaultToolkit() getScreenSize();

Dimension labelSize = l getPreferredSize();

setLocation(screenSize width/ (labelSize width/ )

screenSize height/ (labelSize height/ ));

addMouseListener(new MouseAdapter()

{

public void mousePressed(MouseEvent e)

{

setVisible(false);

dispose();

}

});

final int pause = waitTime;

final Runnable closerRunner = new Runnable()

{

public void run()

{

setVisible(false);

dispose();

}

};

Runnable waitRunner = new Runnable()

{

public void run()

{

try

{

Thread sleep(pause);

SwingUtilities invokeAndWait(closerRunner);

}

catch(Exception e)

{

e printStackTrace();

// 能够捕获InvocationTargetException

// 能够捕获InterruptedException

}

}

};

setVisible(true);

Thread splashThread = new Thread(waitRunner SplashThread );

splashThread start();

}

}

这里的基本思路是利用一个在一定时间内暂停等待的Thread对象 在上面的代码中 线程的暂停时间是 秒 当这个线程唤醒时 它将关闭欢迎屏幕 由于Swing是非线程安全的 除非代码在事件分派线程上执行 否则它就不应该影响任何UI组件的状态 所谓事件分派线程 就是Swing中负责绘图和事件处理的线程

为了解决这个问题 Swing设计者赋予我们安全地把Runnable对象加入UI事件队列的能力 在本例中 我们用可运行对象closerRunner完成最关键的工作 我们把可运行对象传入SwingUtilities invokeAndWait()静态方法 然后wingUtilities invokeAndWait()进行所有未完成的UI操作 并执行传递给该方法的可运行对象closerRunner的run方法 通过运用一个独立的线程负责欢迎屏幕的关闭操作 应用担负起了显示和关闭欢迎屏幕之间的所有操作

如果要让欢迎屏幕总是显示且用户不能关闭它 你必须删除那些隐藏欢迎屏幕的代码 如果要让欢迎屏幕只能由用户手工关闭 你可以象使用任何其他JWindow对象一样调用SplashWindow 对象上的setVisible(false)和dispose()方法

lishixinzhi/Article/program/Java/hx/201311/26872

利用 Java Swing 实现游戏开发

Swing初体验 对于想学习Swing编程的朋友 我们特地为大家准备了一些小窍门 首先 下载并阅读代码是极有必要的 由于这是一篇关于Swing的教程 所以 我们只是尽可能讲解一些与Swing有关的内容 与Swing无关的内容一般不会涉及 例如算法部分 其次 受篇幅限制 也不可能在这里将每部分代码都写得完完整整的 所以 大家也需要对照完整代码来看 最后 为了使大家更容易把精力集中在Swing学习上 我们也将游戏开发中所需资源放在下载文件中 大家下载后便能够编译运行 看到执行结果 (下载游戏源文件) 顶层容器 什么是顶层容器?当我们使用Java进行图形编程的时候 图在哪里绘制呢?我们需要一个能够提供图形绘制的容器 这个容器就被称为顶层容器 你也可以把它想象成一个窗口 顶层容器是进行图形编程的基础 一切图形化的东西 都必然包括在顶层容器中 在Swing中 我们有三种可以使用的顶层容器 它们分别是:JFrame:用来设计类似于Windows系统中的窗口形式的应用程序 JDialog:和JFrame类似 只不过JDialog是用来设计对话框 JApplet:用来设计可以在嵌入在网页中的Java小程序 如果需要使用Swing制作一个窗口类程序 我们的代码看起来应该是这样:import javax swing *;public class KyodaiUIextends JFrame {……} 控件 控件是构成应用程序界面的基本元素 按钮 文本框 进度条等 这些都是控件 控件(这里我们只讨论可视化控件)又可以分为容器控件和非容器控件 从字面意义上来理解 容器控件就是能包含其他控件的特殊控件 例如 Java中的JPanel控件就属于容器型控件 我们可以在JPanel中放置按钮 文本框等非容器控件 你甚至可以在JPanel中再放置若干个JPanel控件(值得注意的是 顶层容器也是容器型控件 每一个窗口应用程序中有且只能有一个顶层容器控件 换句话说 顶层容器不能包括在其他的控件中) Java中的容器控件有很多 除刚才提到的JPanel外 还有JTabbedPane JScrollPane等 非容器控件有JButton JLabel JTextField等 如果你需要向某个容器型的控件中添加控件 你可以使用 add(Component p) 方法来实现 如:JPanel panel = new JPanel();JButton button = new JButton();panel add(button); 布局 什么是布局?布局是Java中用来控制控件排列位置的一种界面管理系统 使用过其他可视化编程开发语言的人在初次接触Java界面设计时 总会感觉到Java界面设计很别扭:居然没有提供所见即所得的设置控件坐标的方法!然而 事实证明 Java本身提供的布局管理系统也一样能够出色地完成我们的需要 而且在跨平台时表现得更有优势 常用的布局有:BorderLayout:将界面分割为上下左右以及中间一块区域的管理系统 在BorderLayout布局中 最多你只能放 个控件 如果超过 个控件 建议还是选用其他的布局系统吧 GridLayout:GridLayout是将用户界面切割为棋盘一样的布局管理系统 如果我们要设计一个类似于Windows中自带的计算器软件 GridLayout无疑是最佳选择 FlowLayout:FlowLayout与上述两类布局管理系统不太一样 在FlowLayout中 你不必指定每个控件放在哪 你只需要把控件加入到FlowLayout中 FlowLayout就会根据你添加控件的顺序依次放置控件 如果空间不够 会自动换行 在对这几个布局管理系统有了基本认识后 我们就一起来进入界面设计吧 在仔细观察了QQ游戏中 连连看 的设定后 我们可以发现 整个界面分为三个区 顶部是系统菜单区 占地面积最大的是用户游戏区 另外还有一个用户交互区 每个区域中都由若干控件组成 这么多控件 我们从哪开始入手呢?由于容器控件中可以放置其他控件 因此 我们只需要先确定放置的容器控件就可以了 既然已经知道需要使用容器控件的个数 接下来让我们就进入布局管理系统的选择 用GridLayout?似乎有点勉强 用FlowLayout?还有更好的选择吗?对了 我想你一定想到了是BorderLayout吧 如下图 所示 动手之前 大家一定要注意的是 界面的设计要先考虑好尺寸 不管是主程序界面的大小还是每个区域的大小 如果没有设计好合适的尺寸 将来改动起来会十分痛苦 下面便是相应的源程序:import java awt *;import javax swing *;public class KyodaiUI extends JFrame {public KyodaiUI() {this setSize( ); //将窗体的大小设定为 * this setDefaultCloseOperation(JFrame EXIT_ON_CLOSE);this setResizable(false); //窗体不能改变大小this setTitle( 连连看 ); //设置标题JPanel toolBar = new JPanel();toolBar setBackground(Color white);toolBar setPreferredSize(new Dimension( ));JPanel actionPanel = new JPanel(); //新建JPanel型的控件actionPanel setBackground(Color yellow); //设置背景色actionPanel setPreferredSize(new Dimension( )); //设置大小JPanel contentPanel = new JPanel();contentPanel setBackground(Color blue);contentPanel setPreferredSize(new Dimension( ));this getContentPane() add(toolBar BorderLayout NORTH);this getContentPane() add(actionPanel BorderLayout EAST);this getContentPane() add(contentPanel BorderLayout CENTER);}public static void main(String[] args) throws HeadlessException {KyodaiUI kyodaiUI = new KyodaiUI();kyodaiUI show();}}让我们来看看上面这段程序是如何运行的 首先 extends JFrame表明了这是从JFrame中继承过来的 JFrame是最基本的顶层容器控件 实际上 在JDK中 以字母J打头的控件都是Swing控件 然后设置了容器的属性 其中 setDefaultCloseOperation(JFrame EXIT_ON_CLOSE)是用来告诉Java虚拟机 当用户点击窗体右上角的 关闭 按钮时 关闭该窗口进程 如果不这么做的话 你会发现虽然你可以点将窗口关闭 然而程序却没有退出 在接下来的代码中 我们为顶层容器添加了三个Panel容器 要注意的是 在AWT中 我们可以直接写为add(toolBar BorderLayout NORTH) 而在 Swing 中却一定要写成getContentPane() add(toolBar BorderLayout NORTH) 否则程序就会出错 现在大家可以放在编译运行看看 是不是和我的运行结果一样(见图 )? 边框 虽然我们使用了不同前景色来区别不同的区域 然而却没有层次感 加上边框一定会漂亮许多 在Java中 所有以J打头的Swing控件都可以使用setBorder方法来为自己设置边框 边框有很多种 线型 凸起 凹下 空的 你甚至可以自由组合形成个人风格 所有的Border都必须使用javax swing BorderFactory中提供的静态方法来创建 比如:Border border = BorderFactory createBevelBorder(BevelBorder LOWERED new Color( ) new Color( ) new Color( ) new Color( ));现在 我们将toolBar setBackground(Color white)改为toolBar setBorder(border) 立体效果是不是已经出现了?实战??写上自己的大名现在我们已经有了一个能够运行的界面了 虽然它什么也做不了 但是请你别慌 罗马不是一天建成的 现在让我们在菜单区提供一个 关于 菜单 用来显示程序的信息 难道你不想让别人知道你的大名吗?Swing本身就提供了现成的按钮控件JButton 我们只需要创建一个新的按钮:JButton about = new JButton( 关于 );这个按钮该怎么放到菜单区而不是别的地方呢?我们可以加入下面的代码:toolBar add(about);咦 怎么点按钮没有反应?这是因为你还没有告诉程序点击按钮时要做什么事情呢 要为按钮添加事件响应 首先需要使用about addActionListener(this)来告诉程序监听按钮按下时的事件 由于ActionListener是一个程序接口 因此 我们在类的申明的地方也得做一点小小的修改:public class KyodaiUI extends JFrame implements ActionListener { }实现ActionListener接口是为了告诉程序我要进行事件处理了 当然 最后我们得添加响应事件的代码:public void actionPerformed(ActionEvent e) {if (e getSource() == about) {JOptionPane showMessageDialog(this 我的大名 关于 JOptionPane INFORMATION_MESSAGE);return ;}}其中 e getSource() 表示当前触发事件的控件 由于我们的程序中往往会有多个以上的控件 这些控件都有可能产生事件 所以我们必须使用这个方法来找到产生事情的控件 小结 让我们一起来回顾一下今天所学的内容:首先我们了解了顶层容器 也知道了控件分为容器控件和非容器控件 同时还知道使用边框 最后 我们还小小的处理了一下按钮的事件 学而时习之 不亦说乎 就让我留点小小的作业 帮助大家巩固一下今天所学的内容:上面我们添加的按钮在菜单栏的中间 并不美观 lishixinzhi/Article/program/Java/hx/201311/25907

java开发:Swing是MVC设计的典范

不管你的项目是否用到了Swing技术 我都要说 Swing是一个设计优秀的Java包 它充满了大师的智慧 如果你学了Java却连一个Button还不会写 就象你学习Visual Basic却不会用Button 那可绝对是不能被原谅的 Swing技术的应用已经在国外大行其道 由于java的免费 易学以及大家对于java技术的充分信赖 好多公司早早的就把应用程序的一切 从后台服务到前台人机交互界面 统统移到了java开发上 Swing出现了快 年了 凭借其先进的设计思想 一直未曾落后于哪种语言的界面开发技术 使用和理解Swing的设计思想 对软件开发者大有裨益

Swing的设计是MVC的典范 虽然MVC的概念有点泛滥 可是真正能够理解并熟练掌握 在设计和开发里面自然流露的并不多见 记得用VC++开发程序时候 MFC向导也是生成Document和View两个类 当时一直奇怪为什么这么绕圈子 再看Swing的设计 则到处充满了MVC的痕迹 仔细研究Swing中事件监听 Model View分离 Renderer/Editor机制 可插拔的LookAndFeel等机制 简直就是一门艺术 充满了美感 而如果你非常痛恨这些设计并觉得他们怪异 很可能你是刚从VB或者Delphi转过来 这些快速开发工具帮助了你也 害 了你

Swing设计的不错 不过可能过度学术化的设计也使得Swing跑起来并不灵巧 学习难度也大 这客观上确实使得Swing一直没有被广泛使用 而且广受诟病 记得以前 Swing有什么成功的应用吗? 之类的帖子一直是热门话题 IBM等则趁机抓住小辫子弄了SWT吸引了不少人 使得Java GUI技术面临分裂的危险

不过随着JAVA的不断升级和优化 Swing的速度一直在提高 美观性也在改善 基于Swing的成功应用也越来越多了 关于Swing是否消亡或被SWT代替或是否能作桌面应用的争论逐渐少了 不过喜欢并精通Swing技术的开发者 尤其在国内 依旧非常少

lishixinzhi/Article/program/Java/hx/201311/27176

关于javaswing界面设计和javaswing界面设计ppt的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年4月2日 18:04:42
下一篇 2024年4月2日 18:13:57

相关推荐

  • 界面设计java,界面设计图片

    简述java程序设计中界面设计中的三种布局方式 GridPane面板 它采用的布局策略是:将整个面板划分为若干个格子,每个格子的大小是一样的,每个格子中可以放置一个控件,类似于表格的方式。 FlowLayout 流式布局管理器 按照组件的添加顺序将组件从左到右放置在容器中。 布局?Java GUI布局吧?AWT/Swing/SWT三种.AWT 概述 Abst…

    2024年5月22日
    3600
  • java弹窗阻止,javaswing弹窗

    如何禁止网页弹窗? 具体操作:按Win+R键打开运行窗口,输入MSConfig,回车打开系统配置窗口,切换至启动项,禁止自启动的网页项。 点击菜单栏左上角的Safari浏览器点击偏好设置点击“偏好设置”窗口顶端的安全性在“网站”部分中,勾选“阻止弹出式窗口”复选框。 关闭方法一:游览器关闭。以百度游览器为例:在右上角找到“…”的展开选项点击。在下…

    2024年5月22日
    4100
  • ppt播放时打开excel的简单介绍

    如何在PPT演示中打开excel文档,但不是用超链接的办法 这几天在制作PPT演示文档,要用到这个效果,如果直接拖Word文件到PPT里,只能直接嵌入文档的内容,我想要的效果是显示一个图标,点击后打开Word文档。 首先在电脑上用2007版PPT软件打开目标文件。将光标放置在目标文字,在插入菜单中,点击“超链接”选项。然后在出来的窗口中,选择好目标表格文件插…

    2024年5月21日
    4400
  • vc可视化编程用的是c语言还是c,vc++可视化界面设计

    VC是平时说的C语言么 你好,vc和c语言是两个概念:vc是集成开发工具(IDE),全程Microsoft Visual C++,它是微软公司开发的一款用来开发软件的工具;c语言是一门计算机语言,在用vc开发软件的时候可以用c语言,c++,c#等计算机语言。 VC不是语言,而是一个C语言的编译器和开发平台,VC是一个软件,C是语言。 VC在你这个语境中,指的…

    2024年5月21日
    5000
  • 包含ppt数据如何导入excel的词条

    PPT图表怎么复制到Excel中 1、PPT保存后在Excel中选择插入-附件。选择想要插入的PPT文件,就可以把PPT嵌入到Excel里了。 2、打开PPT。2全选PPT上的表格。3在选定的表格中右击,在弹出的列表中选择“复制”。4打开Excel工作表。5点击要插入表格的单元格。6在选定的单元格上右击,在弹出的列表中选择“粘贴”,即可复制成功。 3、你把鼠…

    2024年5月21日
    4000
  • java计算器界面设计,java计算器课设

    如何用JAVA实现计算器界面 1、青少年读者可以通过Java编程语言,构建交互式计算器应用程序。 2、import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.…

    2024年5月21日
    6900
  • linux编程界面设计,定制linux ui界面

    Shell既是linux系统的用户界面,还是一种程序设计语言,是否正确?_百度知… 1、shell既是一个命令语言,也是一个程序设计语言;其次,shell也指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。 2、Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作…

    2024年5月20日
    5100
  • 中职c语言ppt,中职c语言编程题

    c语言教学教案7篇 c语言教学教案篇1 活动目标: 理解故事内容,懂得为大家做好事,自己也会得到快乐的道理。 能运用故事中的语言完整地回答问题。 愿意与别人交流。 引导幼儿在故事和游戏中学习,感悟生活。 应用电子是普招类(高中毕业生)学生,它们高中期间文化基础较扎实,但计算机专业知识薄弱,C语言程序设计是他们学习的第一门计算机语言类课程,开始学习时较困难,但…

    2024年5月19日
    4400
  • javajsp登录界面,java登录界面设计

    JSP编写一个登陆界面 实验目标 写一个JSP界面,用来模拟模拟用户登陆邮件系统的过程。 实现4项功能: 登陆;(action = login) 查看信箱;(action = check) 注销登陆。(action = logout) 直接访问系统时,提示登陆信息。 很简单的。你直接if判断,如果接收到的username等于wonder并且pwd等于wend…

    2024年5月17日
    4600
  • ppt中怎么用excel的简单介绍

    怎样在PPT中链接Excel? 首先在电脑上用2007版PPT软件打开目标文件。将光标放置在目标文字,在插入菜单中,点击“超链接”选项。然后在出来的窗口中,选择好目标表格文件插入,如图所示。 ppt超链接excel的操作方法如下:打开PPT,选定需要超链接的文字,右键选择超链接命令,在弹出的页面点击超链接。然后选择原有文件或网页,找到位置找到需要超链接的ex…

    2024年5月17日
    4000

发表回复

登录后才能评论



关注微信