java有啥好的gui框架知乎

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java有啥好的gui框架知乎相关的知识,希望对你有一定的参考价值。

 1:java GUI框架类型
  一种是比较老的AWT框架,一种是新的Swing框架。awt(Abstract window toolkit)的消息机制是基于分层处理的,事件沿着层次结构沿着容器的上方传递。自从java1.1开始,java开始采用新的事件处理模型,采用委托事件模型。
  2:委托事件处理
  事件源与事件处理程序分开,其实就是建立一种事件源,监听器的模式,事件源就是产生消息的源头,指的是Button,Checkbox ,CheckboxGroup,Choice,List,TextArea,TextField,Menu等各种各样的空间。
  监听器就是各种各样的接口,程序要处理相应的时间就必须实现这些接口。
  事件处理的逻辑步骤,(1)事件源添加监听器(2)实现监听器的接口。
  3:事件类型,监听器相关接口
  事件 监听器
  ActionEvent ActionListener
  AdjustmentEvent AdjustmentListener
  ComponentEvent ComponentListener
  Containe rEvent ContainerListener
  FocusEvent FocusListener
  KeyEvent KeyListener
  MouseEvent MouseListener
  WindowEvent WindowListener
  ItemEvent ItemListener
  TextEvent TextListener
  事件添加以及删除函数,形式都如下所示:
  addActionListener( ) //添加监听器
  removeActionListener( ) //删除监听器
  每个事件监听器都有一个或者几个接口,当implements interface时必须实现所有的的监听器的接口函数,即便函数什么也不做,为了减少这种写空函数的麻烦,java为监听器中函数多于一个提供了一个适配器,适配器里面有默认的函数,需要的时候仅仅重写需要重写的函数即可,如下所示:
  class MyWindowListener extends WindowAdapter
  public void windowClosing(WindowEvent e)
  System.exit(0);
  
  
  4:applet
  applet是可以在html网页中运行的程序,它在运行的时候会有安全限制,它可以不需要main函数,一个典型的applet程序如下所示:
  import java.awt.*;
  import java.applet.*;
  public class Applet1 extends Applet
  public void paint(Graphics g)
  g.drawString("First applet", 10, 10);
  
  
  所有public类必须继承Applet类,Applet中主要的方法有 init(),start(),paint(),stop(),destroy(),
  init 在程序片被创建时候调用;start在程序片进入web浏览器后调用,是在Init之后;stop是在程序片离开浏览器中的视野时关闭响应操作;destroy是在程序片不再被需要时销毁程序片。
  5:常用组件类型
  (1)Button 按键
  public Button();public Button(String label);
  (2)TextFiled 输入框
  TextField();TextField(int columns);TextField(String text);TextField(String text, int columns)
  (3)TextArea 文本输入区域
  TextArea();TextArea(int rows,int columns);TextArea(String text);
  TextArea(String text,int rows,int columns);TextArea(String text,int rows,int columns,int scrollbars);
  (4)Lable 标签
  Label();Label(String text);Label(String text,int alignment)
  (5)Checkbox 复选框
  Checkbox();Checkbox(String label);Checkbox(String label, boolean state);
  Checkbox(String label, boolean state, CheckboxGroup group);
  Checkbox(String label, CheckboxGroup group, boolean state);
  (6)CheckboxGroup 单选按钮
  CheckboxGroup()
  它把Checkbox 放在一起,如下所示:
  CheckboxGroup cbg = new CheckboxGroup();
  add(new Checkbox("one", cbg, true));
  add(new Checkbox("two", cbg, false));
  add(new Checkbox("three", cbg, false));
  (7)Choice 下拉列表
  Choice();
  点击会会出现一个下拉列表,可以向其中添加Item,如下程序所示:
  Choice ColorChooser = new Choice();
  ColorChooser.add("Green");
  ColorChooser.add("Red");
  ColorChooser.add("Blue");
参考技术A swing有很多封装UI的框架,如果嫌弃界面不好看可以考虑用封好的ui的框架,SWT/JFace/RCP的框架相对比较成熟吧,Swing不了解,据说也很不错。
但是客户端软件还是C#的好。
参考技术B Eclipse-Sapphire Eclipse用的界面

.NET 有啥好的分布式代理/服务模型吗? [关闭]

【中文标题】.NET 有啥好的分布式代理/服务模型吗? [关闭]【英文标题】:Any good distributed agent/service models for .NET? [closed].NET 有什么好的分布式代理/服务模型吗? [关闭] 【发布时间】:2010-09-16 10:21:15 【问题描述】:

我正在寻找实现分布式代理/服务模型的工具......我想我们也可以称之为网格或云计算,但我不确定这个术语是否完全类似。分布式代理模型是开发人员构建代理,然后将其分派到框架,然后框架在分布式环境中的某处执行代理。

具体来说,我正在寻找一个支持跨网格/云的动态分布的框架,但用更持久的服务替换瞬态代理。这里的目标是最大限度地减少将服务部署到网格/云容器中所需的时间和精力。

FWIW,我认为 Digipede 非常接近这一点,但我对那里的其他东西很感兴趣。我的印象是,必须考虑装配分布才能使解决方案可行。

【问题讨论】:

太糟糕了,它被关闭了。试试这些。 MPAPIMPI.NETMpiVisor我隶属于后者。 【参考方案1】:

这可能有点晚了 - 但我们是 Alchemi 的开发者。我们开发了更好的框架版本来解决其局限性。

您可能想查看 Utilify 平台 (www.utilify.com) - 它在概念上类似于 Alchemi - 具有更灵活的模型。

您确实需要一个网格管理器和一个数据库 - 但是,您可以使用免费的 SQL Server Express 版本,它经过测试可以在 Windows Vista、XP、2003 上运行。

我们很乐意帮助您将 Utilify 用于您的应用程序。

问候, 克里希纳

【讨论】:

【参考方案2】:

MySpace 使用 Qizmt 进行分布式 MapReduce 操作。它类似于 Java 世界中的 Hadoop。这两个项目都基于谷歌的 MapReduce。它在普通的 Windows 机器上运行,不像 Dryad 需要 Windows Server 高性能计算 (HPC)

此外,它是开源的。这很好。 http://code.google.com/p/qizmt/

【讨论】:

【参考方案3】:

微软有一个名为 Dryad 的项目。这是一个很好的播客,包含更多信息: http://www.dotnetrocks.com/default.aspx?showNum=378 它使用 LINQ 并且应该易于使用。微软让它为微软的 AdCenter 做一些生产工作。 这是研究页面。 http://research.microsoft.com/research/sv/Dryad/

Dryad 很有表现力。它完全包含其他计算框架,例如 Google 的 map-reduce 或关系代数。此外,Dryad 还负责作业创建和管理、资源管理、作业监控和可视化、容错、重新执行、调度和会计。

附:我没有看到下载,但如果你联系他们并且你是认真的,你可能会得到它。

更新:现在可以在此处下载: http://research.microsoft.com/en-us/downloads/03960cab-bb92-4c5c-be23-ce51aee0792c/default.aspx

【讨论】:

【参考方案4】:

来自Recursion Software 的Voyager 为多种风格的分布式架构提供了成熟的框架。

【讨论】:

voyager 无论如何都与大约十年前由 ObjectSpace 创建的名为 Voyager 的产品有关。那是一个基于 Java 的代理框架。 是的,它是一样的,当然更新/维护。在 ObjectSpace 失效之前,Recursion 从 ObjectSpace 购买了 Voyager 的权利。 Voyager 可用于 java 和 .Net。【参考方案5】:

我一直在为自己的工作寻找类似的东西。到目前为止,我已经找到了 Digipede、Alchemi 和 NGrid,但它们都需要一个 SQL 数据库作为网格管理器,除了不太成熟的 NGrid。

【讨论】:

嗨,Cameron,您认为拥有网格管理器是个问题,有什么特别的原因吗?您是否希望调度、故障管理、与多台机器的通信等都在客户端上处理? - 克里希纳。 不,我只是更喜欢不使用 SQL 的经理。

以上是关于java有啥好的gui框架知乎的主要内容,如果未能解决你的问题,请参考以下文章

.NET 有啥好的分布式代理/服务模型吗? [关闭]

如何编写 Yii 扩展?有啥好的参考吗?

与 Liferay 一起去还是不去?有啥好的、坏的和丑陋的? [关闭]

Spark Streaming性能测试有啥好的benchmark吗

java调用restful api接口,有没有啥好的框架推荐

指南针精灵生成器有啥好的替代品吗? (Rails 精灵生成器)