导航:首页 > 编程语言 > java图形化界面框架

java图形化界面框架

发布时间:2023-01-29 18:58:03

⑴ 如何在Eclipse中进行java的可视化界面设计

准备工作:
1、下载JDK;
2、下载Eclipse;
3、下载相应的EMF、GEF、VE;
注意:三个插件的版本要和Eclipse的版本配套才能正确使用,至于配套的说明请参考下载页面的说明http://download.eclips.org/ve

开始安装:
1、安装JDK;
这个比较容易,标准的Windows安装程序,下一步,再下一步即可,安装完成后,也不需要重启。

2、安装Eclipse;
Eclipse是绿色软件,不需要安装,只需要解压缩,然后即可运行。
为了说明方便,我把它解压缩到C盘根目录下,得到C:\eclipse目录,运行C:\eclipse\eclipse.exe即可。
注意:下面的安装,需要先关闭eclipse程序。

3、安装EMF、GEF、VE;
对于Eclipse来说,这些都是它的插件,所以,安装方法都是一样的。插件下载地址http://download.eclips.org/ve
A、在C:\eclipse目录下,建立四个子目录:C:\eclipse\emf、C:\eclipse\gef、C:\eclipse\ve、C:\eclipse\links;
B、把下载的EMF、GEF、VE都解压缩到相应的目录中,即:把EMF压缩包解压缩到C:\eclipse\emf中,得到C:\eclipse\emf\eclipse目录,以此类推,完成GEF、VE的解压缩;
C、在C:\eclipse\links目录下,新建一个文本文件,名字可随便取,如:link.txt。
然后在link.txt文件中,加入以下三行文字:
path=emf
path=gef
path=VE
注意:这里用的是相对路径,也可以把EMF、GEF、VE解压缩到其它地方,再用绝对路径即可。
再注意:绝对路径是用 “/” 或者 “\\” 分隔,而不是“\”
补充知识:为什么ve需要emf和gef:

Visual Editor 所利用的最为明显的工具是 GEF,即图形化编辑框架(Graphical Editing
Framework)。GEF 建立于本地 Eclipse 图形化工具集 SWT
之上,以使得开发一个图形化编辑器或者所见即所得文本编辑器更为容易。如果您熟悉 SWT (或者
AWT/Swing,在这方面它们是类似的)中的图形原语,那么您会知道绘制和处理任意的形状(比如矩形、箭头和椭圆)是比较困难的,更不用说管理它们之间的关系以及它们所代表的数据模型了。
GEF 被划分为两个部分:第一部分是 Draw2D 插件,这是一个轻量级的绘图和呈现包,用于帮助您绘制图形。第二部分是 GEF 插件,除了其他工具以外,这一部分中还增加了选择和创建工具、工具选项板,以及用于在数据模型和视图之间进行映射的控制器框架。
GEF
是一个模型无关的框架,但是作为 Visual Editor (以及其他生成代码的图形化工具)的一部分,它在后台使用 Eclipse
建模框架(Eclipse Modeling Framework, EMF),以在模型、Java 类和图形化表示之间进行映射,其中模型是使用
XML 元数据交换(XML Metadata Interchange, XMI)在内部存储的。EMF
的重要特性之一是它确保所有这些映射都是一对一的;所以尽管 XMI
可以被认为是模型的标准表示,但是在代码和图形之间来回切换并不会丢失任何信息。这就是为什么 Visual Editor
只需要保存模型的一种表示(即 Java 源代码),以及开发人员可以自由地在图形化编辑器之外编辑该源代码的原因。

4、安装完毕,再次运行Eclipse,它启动时会自动查找links目录下所有的文本文件,并加载其中path指向的所有插件,这里当然包括VE。
A、如果不能确定是否已经加载,可选择菜单Help->Software Updates->Manage Configuration,打开Proct Configuration窗体,在其左边的树形栏里,可以看到已加载的插件。
B、如果加载没有成功,可以试试用Eclipse -clear来运行程序。
C、如果加载仍没有成功,可以试试删除C:\eclipse\configuration下的内容,仅保留config.ini文件。然后再用Eclipse来运行程序。
================================================================
启动eclipse平台。刚开始,你可能觉得eclipse并没有什么变化。先别急,请新建一个项目,点击"文件"菜单下的"新建"子菜单,选择并建立一个新的"java项目"。然后在工具栏上的"新建Java类" 图标上,点击右边的小箭头,将展开如下图的菜单:

在此菜单上,多了一个"Visual Calss"的子菜单,这就是进入Visual Editor的入口之一。点击"Visual Class",就会弹出创建GUI程序的对话框,选择完毕后,就会进入可视化编辑画面:
用VE写个Hello:
1、新建一个项目;
File->New->Project...,选择“Java Project”,然后Next,输入一个项目名字:Hello,其它全部默认,最后回车,或者点击“Finish”完成。

2、设置SWT库;
A、选择项目Hello,右键菜单,打开Properties对话框。
B、选择左边树形中的Java Build Path,在其设置页中,选择Libraries页,点击“Add Library...”;
C、在打开的Add Library对话框里,选择Standard Widget Toolkit(SWT),Next;
D、在打开的SWT Library Options对话框中,勾选上“Include support for JFace library”,Finish即可。
E、回到Properties对话框,OK即可。

3、新建Hellworld.java文件;
A、选择项目Hello,右键菜单,New->Other...(或者点击工具栏里新建图标),打开Select a wizard对话框,选择Java/Visual Class,Next;
B、在打开的Java Visual Class对话框中,
在Package里,输入:com.cnblogs.pan;
在Name里,输入:Helloworld;
在Style里,选择SWT/Shell;
勾选上public static void main(String[] args);
最后Finish。

4、到了这一步,应该就可以看到窗体了,那些控件都在Palette里,点开就能看到了。
A、在窗体上右击,选择Set Layout,再选择null;(此处为个人习惯)
B、从Palette里,选中一个Button,并在窗体任意位置画一个Button,在下面的Properties窗口里,设置其text为ClickMe;
C、选中该按钮,右击选择Events->Add Event,在打开的对话框中,选择左边的widgetSelected,Finish。
D、这时,光标会自动定位到程序相应的位置,我们在程序里加入下面语句:
public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
System.out.println("widgetSelected()");

MessageDialog.openInformation(null, "Hello", "Hello World!");//加入这条语句
}
E、保存程序,点击菜单Run->Run As->Java Application,呵呵,跟全世界打个招呼吧!

⑵ java设计一个图形用户界面。

//用户界面基本内容都包含,界面不是很美观
//创建一个form表单 method就是你是以什么方式提交的
<form action="demo01.html" method="get">
用户名:<input type="text" name="input1" id="id1" /> <br />
密码 : <input type="password" name="input2" /> <br />
性别: <input type="radio" name="sex" value="nv" /> 女
<input type="radio" name="sex" value="nan" checked="checked"/>男 <br />
爱好: <input type="checkbox" name="hobby1" value="lol" /> LOL
<input type="checkbox" name="hobby2" value="lq" /> 篮球
<input type="checkbox" name="3" value="zq" /> 足球
<input type="checkbox" name="hobby4" value="code" /> 写代码 <br />

<!--<input type="button" name="btn" value="按钮"/>-->

地址: <select name="address" >
<option>黑龙江</option>
<option>吉林</option>
<option selected="selected">辽宁</option>
</select>
<input type="hidden" name="hidden" value="cardpassword" /><br />
上传头像:<input type="file" name="upload" /> <br />
<!--<input type="submit" value="提交" />-->
备注:<textarea class="" rows="20px" cols="30px"></textarea> <br />
<input type="image" src="img.jpg" />
<input type="reset" id="ID" value="重置" />
</form>

⑶ java编写一个应用程序,其功能为:显示一个图形框架界面,在其图形框架上摆放三个按钮。三个按钮的标

参考代码和注释如下

importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;

//本类继承自JFrame,实现了er接口
{

JButtonjb1,jb2,jb3;
//构造方法:组件的初始化,排版,窗口的设置
publicButtonFrame(){
jb1=newJButton("test1");
jb1.addActionListener(this);
jb2=newJButton("test2");
jb2.addActionListener(this);
jb3=newJButton("test3");
jb3.addActionListener(this);
add(jb1);
add(jb2);
add(jb3);
setLayout(newFlowLayout());
setTitle("窗口");//窗口标题
setSize(280,220);//窗口大小
setLocationRelativeTo(null);//窗口居中
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//当窗口关闭时,程序结束
}

//处理按钮点击事件
publicvoidactionPerformed(ActionEvente){
System.out.println("Button"+e.getActionCommand());

//比较啰嗦的写法
//JButtonjbTemp=(JButton)e.getSource();
//if(jb1==jbTemp){
//System.out.println("Buttontest1");
//}elseif(jb2==jbTemp){
//System.out.println("Buttontest2");
//}elseif(jb3==jbTemp){
//System.out.println("Buttontest3");
//}
}

publicstaticvoidmain(String[]args){
newButtonFrame().setVisible(true);//实例化窗口并可见
}
}

效果图

⑷ java图形化界面问题

main()方法名字错了 主函数你写成 mian了
jframe.show()已经不建议使用了最好用 jframe.setVisible(true);
另外最好写上jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
否则你的内存会被逐渐吃光

⑸ java 图形 框架

Jgraph http://www.jgraph.com/ 是一个开源的,兼容Swing的基于体系结构图形组件,具有以下特点:
1) 完全Swing兼容;
2) 简单、高效的设计;
3) 时间效率高;
4) 100 %纯Java;
jGraph简介

jGraph具有相当高的交互性和自动化,是一套为图定做的组件。其主要用途是在一些需要表示图结构的应用中,比如流程图、UML、交通线路、网络等等。
jGraph在本文撰写时版本为5.8.0.0,可以在链接出找到jGraph的主页。
jGraph主要包括以下一些产品:

JGraph - The Java Open Source Graph Drawing Component ( 有Open Source )
JGraph Layout Pro - The Java Graph Layout Solution
JGraphpad Pro Diagram Editor Framework
MxGraph Thin Client - JGraph in a browser!

咱们只是学习嘛,当然只用jGraph咯。jGraph Layout Pro是一个对图进行布局的软件,但是目前要收费的,jGraph对图的操作包括:图显示、图交互、图布局、图分析等。

JGraph 的基本SWING 组件如下:

org.jgraph Basic JGraph 类
org.jgraph.event Graph 事件模型
org.jgraph.graph Graph 结构及结点
org.jgraph.plaf Graph UI 委托组件
org.jgraph.util 常用的工具类

补充一下,与jGraph类似的可用于绘图的还有eclipse的GEF。

jGraph模型

一张图——JGraph 类 的主要结构:
JGraph extends JComponent {
org.jgraph.graph.GraphModel model; (DefaultGraphModel)
org.jgraph.plaf.GraphUI ui; (BasicGraphUI)
org.jgraph.graph.GraphLayoutCache cache;
}

JGraph 除了SWING的MVC结构,即引用了MODEL和UI外,他还保持着一个奇怪的应用GraphLayoutCache。 GraphLayoutCache 可以被看作是MODEL的一个扩展,它的作用是保证图中各结点的状态以及一些外观等。因为图的复杂性,使用一个GraphLayoutCache 可以用来处理这些复杂问题。
配置JGraph可以使用一系列的set方法,有许多很有用的功能可以开关。

图的逻辑结构——GraphModel 类:
满足MVC的要求,GraphModel保存着所有的图中的对象,它的默认实现DefaultGraphModel能够满足一般的需求。
GraphModel包含三个基本操作:insert() , edit() , remove() 。这些操作会起到与GraphLayoutCache相同的效果,但与GraphLayoutCache略微不同的是它的参数比较多,乍看下去比较麻烦。 其实GraphModel所要求的只是结点的逻辑结构,对于结点的细节它并不关心。所以可以在初始化图时使用GraphModel,不要常常用它的方法来 对细节做修改,这既不方便,也没必要。
另外,就是GraphModel提供了许多get方法,可以很方便检索相应的结点。

Cells

JGraph 的单位(Cells) 有三种:Vertex、 Edge、 Port。
Vertex 可以携带对象,由于JGraph是只负责表示的,并不真正负责数据的操作。那么在图形和数据间就需要一个使者,这就是Vertex ,Vertex 可以是文字、图形等对象。
Port 是一般比较陌生的单位,在图的算法中并不设计Port,但在图形表示中它十分有用。如同它的名字,他是Vertex上的一个端口,可以通过端口连接其他Vertex,而在JGraph中Port还可以用于改变Edge的形状等等。
Edge 与图算法中的边也有一点不同,Edge 是只能连接Port而不是Vertex的。这样,因为多了Port单元,使得Edge更加灵活、更加丰富了。

默认单元——DefaultCell:
它是DefaultEdge和DefaultPort的父类,又是DefaultMutableTreeNode的子类,其地位可以相当于Vertex。 一个DefaultCell可以携带一个UserObject。每个DefaultCell还有一个AttributeMap,负责它的属性(颜色、大小 等等)。用一套set方法可以修改AttributeMap。

边和端口单元——Edge、Port:
除了继承DefaultCell,Edge、Port还有一些独有的方法。
Edge有getSource() 和 getTarget() 方法,用以获得边的两端的对象(一般为Port)。还一个路由类,定义了一些路由方法。
Port 主要任务是承载Edge,所以有一些关于获得Edge的方法。另外,Port还定义了获得锚(比如一个Vertex中包含一个Port)的方法。

Cell的处理:
每个Cell包括Cell Object、Cell Renderer、Cell Editor、Cell Handle。其中Renderer负责Cell的表示,包括形状等等。Editor 做Cell的修改用,当双击Cell后则调用Editor来编辑Cell。以上都是类似与JTable 和 JTree的。
Handle 是SWING的组件中没有的,它的任务是处理Cell的大小与移动。可以重写paint()方法来指定经过鼠标拖动所导致的Cell大小和位置变化。

对于这些单元的属性的控制,可以仔细看看GraphConstants这个类的set方法,基本上所有的属性都是用这个类的set修改的。
二、JGraph设计
1) MVC
Swing是Java(Sun)提供的UI标准实现之一,Swing基于AWT(Abstract Windowing Toolkit)。JGraph完全兼容Swing,它的实现仍然基于MVC体系结构。
JGraph MVC
View:
JGraph不包含实际的数据,它提供了数据的视;JGraph对象画图的机制是:
将图元定义为一个一个的 cell,每个cell可以是一个顶点(vertex)、边(edge)或者节点(port)中的一种。顶点可以有邻接的顶点,他们通过边相联系,边联接 的两个端点称为目标和源,每个目标或者源是一个节点。节点是顶点的孩子。每个cell都可以有自己的孩子。
每个cell的外观由相应的属性定义,属性序列是指一系列的键-值对,他们以Map形式组织,例如:
Map cellAttrib = new Hashtable();
// Set bounds
Rectangle2D helloBounds = new Rectangle2D.Double(20, 20, 40, 20);
GraphConstants.setBounds(cellAttrib, helloBounds);
// Set black border
GraphConstants.setBorderColor(cellAttrib, Color.black);
一个cell有类似这样一个cellAttrib的Map,来定义其外观。
外观可以指定诸如一条边的箭头样式等属性。
Model:
数据对象可以看成是JGraph中两个独立结构 的链接点:grahp结构和group结构。Graph结构基于图论中的顶点、边定义。Group结构是cell的composition结构。 Graph结构中getSource()和getTarget()方法,获得源和目标节点。而在group中通过getChild(), getParent()来获得cell的组成结构。
2) 低层基于图论逻辑
即:一个图G包含一个非空的元 素集V(G)和一个E(G),其中,E(G)是V(G)中两个无序元素组成的二元组。V(G)称为图G顶点的集合,如果任意集合V(G)中的顶点x/y, (x,y)在E(G)中,边(x,y)可能以连接顶点x和y的边(弧)所代表,X与y就被称为邻接的,否则x与y不邻接。

⑹ Java中建立图形界面的一般步骤(模式)是什么

import java.swing.*;import java.awt.*;import java.awt.event.*; //图形类导入 public class 类名{ public class 类名 extends JFrame implements ActionListener{ //监听 JPanel jp = new JPanel(); //创建双缓冲和流布局 JTextField txtfile=new JTextField(10); //单行文本编辑 JLabel jb = new JLable(); //用于短文本字符串或图像或二者的显示区 public 类名() { }//构造函数 public void actionPerformed(ActionEvent e) { } } public static void main(String args[]) { new 类名(); }//实现} awt和swing 的类很多 其他的你自己查查API 吧,给你一个简单的框架

⑺ java图形界面初学者提问 swing atm(大概是这个名字) Javafx的区别是什么

简单的描述三者的区别如下:

  1. awt 组件较少, 运行时占用系统资源较少, 适合嵌入式平台等

  2. swing组件略多,运行时占用系统资源较多, 有较多的技术参考资料, 适合PC等

  3. javaFX 组件丰富. 支持3D ,动画, 特效, 多媒体, 也支持html5 ,方便的属性绑定,UI层和事件层分离 ,是更加现代化的图形界面框架.但是资料教材有点少

所以写PC上的java图形界面一般推荐使用swing或JavaFX

⑻ java图形界面的布局

没用过SWT的人路抄过,提供一个SWING:
窗口用JFrame(frame),布局为BorderLayout.
顶部为JLabel(labelTop),带图片和文字,用frame.add(labelTop, BorderLayout.NORTH)加入
左面为JPanel(panelLeft),布局为BoxLayout,参数Y_AXIS.需要在创建JPanel时设置Layout为NULL,然后再创建BoxLayout时需要把已经建立的panelLeft作为参数传进去,然后再设置panelLeft的Layout为那个BoxLayout。用frame.add(panelLeft, BorderLayout.WEST)加入
中间为一堆不同功能的JPanel,布局根据功能而定了,在点击按钮时,移除frame此时中间的panel(记录在一个自己的变量panelCenter里),然后加入按钮对应的panel,再把加入的panel存入变量panelCenter.

⑼ java怎么实现图形化界面

java图形化界面还是有很多内容要学习的,可以参考 如下实例:

publicclassTestextendsJFrame{
MyPanelmp=null;
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
Testjf=newTest();
}
publicTest(){
mp=newMyPanel();
this.add(mp);
//设置标题
this.setTitle("绘图");
//设置窗体大小
this.setSize(400,300);
//设置窗体的位置
this.setLocation(100,100);
//限制窗体的大小
this.setResizable(false);
//关闭窗体时,同时退出java虚拟机
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//显示窗体
this.setVisible(true);
}
}
//定义一个MyPanel(我自己的面板,用于绘图和实现绘图区域)
classMyPanelextendsJPanel
{
//覆盖JPanel的paint方法
//Graphics是绘图的重要类,可以把它理解成一只画笔
publicvoidpaint(Graphicsg)
{
//1。调用父类函数完成初始化
super.paint(g);
////画圆
//g.drawOval(100,100,20,20);
////画直线
//g.drawLine(50,150,150,200);
////画矩形边框
//g.drawRect(150,150,30,40);
//
////设置颜色。默认为黑色
//g.setColor(Color.blue);
////填充矩形
//g.fillRect(10,10,20,30);
//画弧形
g.drawArc(200,10,100,150,120,-80);
//在面板上画图片
Imageim=Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("图片路径"));
//显示图片
g.drawImage(im,10,10,200,180,this);
//画字
g.setColor(Color.red);
g.setFont(newFont("华文彩云",Font.BOLD,20));
g.drawString("要写的字",80,220);
}
}

⑽ java 什么叫MVC框架

MVC是一种框架。它并不属于任何一种语言。
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

阅读全文

与java图形化界面框架相关的资料

热点内容
如何制作虚拟货币app 浏览:303
ug50能通过补丁升级到高版本吗 浏览:766
dxf文件cad打不开的原因 浏览:525
2012怎么改域用户密码 浏览:550
dtv网络电视手机版下载 浏览:954
mfc100u放在哪个文件夹 浏览:359
javaweb插件 浏览:58
pto密码忘记 浏览:567
logo竞赛教程 浏览:481
贵阳去哪里学编程比较好 浏览:132
java将string转为json 浏览:291
ppt2013制作exe文件 浏览:80
linux文件只读不能复制 浏览:597
开关代码 浏览:91
word绘图板 浏览:359
苹果minecraftpe注册 浏览:775
ps怎么存储文件卡 浏览:728
微信清除缓存图片恢复 浏览:305
安卓app会闪退怎么解决 浏览:429
哪些app背单词是免费的 浏览:889

友情链接