导航:首页 > 编程语言 > java图形化编程工具

java图形化编程工具

发布时间:2022-08-11 14:23:59

1. 用java实现的图形编辑器

楼主给你一个我的,直接保存成pb.java编译运行,就是你要的画图功能 ,可以参考一下
____________________________________________________________________

import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import java.awt.geom.*;
import java.io.*;

class Point implements Serializable
{
int x,y;
Color col;
int tool;
int boarder;

Point(int x, int y, Color col, int tool, int boarder)
{
this.x = x;
this.y = y;
this.col = col;
this.tool = tool;
this.boarder = boarder;
}
}

class paintboard extends Frame implements ActionListener,MouseMotionListener,MouseListener,ItemListener
{
int x = -1, y = -1;
int con = 1;//画笔大小
int Econ = 5;//橡皮大小

int toolFlag = 0;//toolFlag:工具标记
//toolFlag工具对应表:
//(0--画笔);(1--橡皮);(2--清除);
//(3--直线);(4--圆);(5--矩形);

Color c = new Color(0,0,0); //画笔颜色
BasicStroke size = new BasicStroke(con,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL);//画笔粗细
Point cutflag = new Point(-1, -1, c, 6, con);//截断标志

Vector paintInfo = null;//点信息向量组
int n = 1;

FileInputStream picIn = null;
FileOutputStream picOut = null;

ObjectInputStream VIn = null;
ObjectOutputStream VOut = null;

// *工具面板--画笔,直线,圆,矩形,多边形,橡皮,清除*/
Panel toolPanel;
Button eraser, drLine,drCircle,drRect;
Button clear ,pen;
Choice ColChoice,SizeChoice,EraserChoice;
Button colchooser;
Label 颜色,大小B,大小E;
//保存功能
Button openPic,savePic;
FileDialog openPicture,savePicture;

paintboard(String s)
{
super(s);
addMouseMotionListener(this);
addMouseListener(this);

paintInfo = new Vector();

/*各工具按钮及选择项*/
//颜色选择
ColChoice = new Choice();
ColChoice.add("black");
ColChoice.add("red");
ColChoice.add("blue");
ColChoice.add("green");
ColChoice.addItemListener(this);
//画笔大小选择
SizeChoice = new Choice();
SizeChoice.add("1");
SizeChoice.add("3");
SizeChoice.add("5");
SizeChoice.add("7");
SizeChoice.add("9");
SizeChoice.addItemListener(this);
//橡皮大小选择
EraserChoice = new Choice();
EraserChoice.add("5");
EraserChoice.add("9");
EraserChoice.add("13");
EraserChoice.add("17");
EraserChoice.addItemListener(this);
////////////////////////////////////////////////////
toolPanel = new Panel();

clear = new Button("清除");
eraser = new Button("橡皮");
pen = new Button("画笔");
drLine = new Button("画直线");
drCircle = new Button("画圆形");
drRect = new Button("画矩形");

openPic = new Button("打开图画");
savePic = new Button("保存图画");

colchooser = new Button("显示调色板");

//各组件事件监听
clear.addActionListener(this);
eraser.addActionListener(this);
pen.addActionListener(this);
drLine.addActionListener(this);
drCircle.addActionListener(this);
drRect.addActionListener(this);
openPic.addActionListener(this);
savePic.addActionListener(this);
colchooser.addActionListener(this);

颜色 = new Label("画笔颜色",Label.CENTER);
大小B = new Label("画笔大小",Label.CENTER);
大小E = new Label("橡皮大小",Label.CENTER);
//面板添加组件
toolPanel.add(openPic);
toolPanel.add(savePic);

toolPanel.add(pen);
toolPanel.add(drLine);
toolPanel.add(drCircle);
toolPanel.add(drRect);

toolPanel.add(颜色); toolPanel.add(ColChoice);
toolPanel.add(大小B); toolPanel.add(SizeChoice);
toolPanel.add(colchooser);

toolPanel.add(eraser);
toolPanel.add(大小E); toolPanel.add(EraserChoice);

toolPanel.add(clear);
//工具面板到APPLET面板
add(toolPanel,BorderLayout.NORTH);

setBounds(60,60,900,600); setVisible(true);
validate();
//dialog for save and load

openPicture = new FileDialog(this,"打开图画",FileDialog.LOAD);
openPicture.setVisible(false);
savePicture = new FileDialog(this,"保存图画",FileDialog.SAVE);
savePicture.setVisible(false);

openPicture.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{ openPicture.setVisible(false); }
});

savePicture.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{ savePicture.setVisible(false); }
});

addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{ System.exit(0);}
});

}

public void paint(Graphics g)
{
Graphics2D g2d = (Graphics2D)g;

Point p1,p2;

n = paintInfo.size();

if(toolFlag==2)
g.clearRect(0,0,getSize().width,getSize().height);//清除

for(int i=0; i<n ;i++){
p1 = (Point)paintInfo.elementAt(i);
p2 = (Point)paintInfo.elementAt(i+1);
size = new BasicStroke(p1.boarder,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL);

g2d.setColor(p1.col);
g2d.setStroke(size);

if(p1.tool==p2.tool)
{
switch(p1.tool)
{
case 0://画笔

Line2D line1 = new Line2D.Double(p1.x, p1.y, p2.x, p2.y);
g2d.draw(line1);
break;

case 1://橡皮
g.clearRect(p1.x, p1.y, p1.boarder, p1.boarder);
break;

case 3://画直线
Line2D line2 = new Line2D.Double(p1.x, p1.y, p2.x, p2.y);
g2d.draw(line2);
break;

case 4://画圆
Ellipse2D ellipse = new Ellipse2D.Double(p1.x, p1.y, Math.abs(p2.x-p1.x) , Math.abs(p2.y-p1.y));
g2d.draw(ellipse);
break;

case 5://画矩形
Rectangle2D rect = new Rectangle2D.Double(p1.x, p1.y, Math.abs(p2.x-p1.x) , Math.abs(p2.y-p1.y));
g2d.draw(rect);
break;

case 6://截断,跳过
i=i+1;
break;

default :
}//end switch
}//end if
}//end for
}

public void itemStateChanged(ItemEvent e)
{
if(e.getSource()==ColChoice)//预选颜色
{
String name = ColChoice.getSelectedItem();

if(name=="black")
{c = new Color(0,0,0); }
else if(name=="red")
{c = new Color(255,0,0);}
else if(name=="green")
{c = new Color(0,255,0);}
else if(name=="blue")
{c = new Color(0,0,255);}
}
else if(e.getSource()==SizeChoice)//画笔大小
{
String selected = SizeChoice.getSelectedItem();

if(selected=="1")
{
con = 1;
size = new BasicStroke(con,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL);

}
else if(selected=="3")
{
con = 3;
size = new BasicStroke(con,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL);

}
else if(selected=="5")
{con = 5;
size = new BasicStroke(con,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL);

}
else if(selected=="7")
{con = 7;
size = new BasicStroke(con,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL);

}
else if(selected=="9")
{con = 9;
size = new BasicStroke(con,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL);

}
}
else if(e.getSource()==EraserChoice)//橡皮大小
{
String Esize = EraserChoice.getSelectedItem();

if(Esize=="5")
{ Econ = 5*2; }
else if(Esize=="9")
{ Econ = 9*2; }
else if(Esize=="13")
{ Econ = 13*2; }
else if(Esize=="17")
{ Econ = 17*3; }

}

}

public void mouseDragged(MouseEvent e)
{
Point p1 ;
switch(toolFlag){
case 0://画笔
x = (int)e.getX();
y = (int)e.getY();
p1 = new Point(x, y, c, toolFlag, con);
paintInfo.addElement(p1);
repaint();
break;

case 1://橡皮
x = (int)e.getX();
y = (int)e.getY();
p1 = new Point(x, y, null, toolFlag, Econ);
paintInfo.addElement(p1);
repaint();
break;

default :
}
}

public void mouseMoved(MouseEvent e) {}

public void update(Graphics g)
{
paint(g);
}

public void mousePressed(MouseEvent e)
{
Point p2;
switch(toolFlag){
case 3://直线
x = (int)e.getX();
y = (int)e.getY();
p2 = new Point(x, y, c, toolFlag, con);
paintInfo.addElement(p2);
break;

case 4: //圆
x = (int)e.getX();
y = (int)e.getY();
p2 = new Point(x, y, c, toolFlag, con);
paintInfo.addElement(p2);
break;

case 5: //矩形
x = (int)e.getX();
y = (int)e.getY();
p2 = new Point(x, y, c, toolFlag, con);
paintInfo.addElement(p2);
break;

default :
}
}

public void mouseReleased(MouseEvent e)
{
Point p3;
switch(toolFlag){
case 0://画笔
paintInfo.addElement(cutflag);
break;

case 1: //eraser
paintInfo.addElement(cutflag);
break;

case 3://直线
x = (int)e.getX();
y = (int)e.getY();
p3 = new Point(x, y, c, toolFlag, con);
paintInfo.addElement(p3);
paintInfo.addElement(cutflag);
repaint();
break;

case 4: //圆
x = (int)e.getX();
y = (int)e.getY();
p3 = new Point(x, y, c, toolFlag, con);
paintInfo.addElement(p3);
paintInfo.addElement(cutflag);
repaint();
break;

case 5: //矩形
x = (int)e.getX();
y = (int)e.getY();
p3 = new Point(x, y, c, toolFlag, con);
paintInfo.addElement(p3);
paintInfo.addElement(cutflag);
repaint();
break;

default:
}
}

public void mouseEntered(MouseEvent e){}

public void mouseExited(MouseEvent e){}

public void mouseClicked(MouseEvent e){}

public void actionPerformed(ActionEvent e)
{

if(e.getSource()==pen)//画笔
{toolFlag = 0;}

if(e.getSource()==eraser)//橡皮
{toolFlag = 1;}

if(e.getSource()==clear)//清除
{
toolFlag = 2;
paintInfo.removeAllElements();
repaint();
}

if(e.getSource()==drLine)//画线
{toolFlag = 3;}

if(e.getSource()==drCircle)//画圆
{toolFlag = 4;}

if(e.getSource()==drRect)//画矩形
{toolFlag = 5;}

if(e.getSource()==colchooser)//调色板
{
Color newColor = JColorChooser.showDialog(this,"调色板",c);
c = newColor;
}

if(e.getSource()==openPic)//打开图画
{

openPicture.setVisible(true);

if(openPicture.getFile()!=null)
{
int tempflag;
tempflag = toolFlag;
toolFlag = 2 ;
repaint();

try{
paintInfo.removeAllElements();
File filein = new File(openPicture.getDirectory(),openPicture.getFile());
picIn = new FileInputStream(filein);
VIn = new ObjectInputStream(picIn);
paintInfo = (Vector)VIn.readObject();
VIn.close();
repaint();
toolFlag = tempflag;

}

catch(ClassNotFoundException IOe2)
{
repaint();
toolFlag = tempflag;
System.out.println("can not read object");
}
catch(IOException IOe)
{
repaint();
toolFlag = tempflag;
System.out.println("can not read file");
}
}

}

if(e.getSource()==savePic)//保存图画
{
savePicture.setVisible(true);
try{
File fileout = new File(savePicture.getDirectory(),savePicture.getFile());
picOut = new FileOutputStream(fileout);
VOut = new ObjectOutputStream(picOut);
VOut.writeObject(paintInfo);
VOut.close();
}
catch(IOException IOe)
{
System.out.println("can not write object");
}

}
}
}//end paintboard

public class pb
{
public static void main(String args[])
{ new paintboard("画图程序"); }
}

2. 做java开发中,一般用什么UML建模工具

Visual Paradigm。

3. 有没有图形化编程软件

图形化编程软件

ArinoScratch是一款图形化编程软件

构成程序的命令和参数通过积木形状模块来实现

4. java图形界面编程软件哪个好

NetBeans,集成了图形开发面板,直接拖动就可以实现界面的布局

5. java GUI界面的设计工具有哪些

Eclipse开发环境下Java可视化编程。
首先打开eclipse
Help→Instal
New
Software
在Work
with输入
http://download.eclipse.org/windowbuilder/WB/release/R201506241200-1/4.4/
这里把4.4改成你自己的eclipse版本号,如果搜索不到适合版本的,再选择4.4版本
将下方出现的全部安装。
等安装完成后,要重启eclipse。
启动eclipse
在包名上右键→New→Other→WindowBuilder
文件夹下,就是实现可视化编程功能
然后输入类名,完成创建。
创建完成会直接出现基本代码
在代码最下,有两个按键
Source就是当前页面的代码
Design就是可视化编程设计界面
点击Design后,稍等一会。
当出现设计界面,就可以设计图形界面了。
原文:http://blog.csdn.net/dkbnull/article/details/48368913

6. Java里面有没有类似于VB那样的图形化编程软件

有,NetBeans
Eclipse 也有 Visual Editor 插件,但感觉没有 NetBeans 的好。

7. 目前java开发哪个开发工具最好用

常见的十四种Java开发工具的特点

1、JDK(JavaDevelopmentKit)Java开发工具集

从初学者角度来看,采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系,有利于理解Java面向对象的设计思想。JDK的另一个显着特点是随着Java(J2EE、J2SE以及J2ME)版本的升级而升级。但它的缺点也是非常明显的就是从事大规模企业级Java应用开发非常困难,不能进行复杂的Java软件开发,也不利于团体协同开发。

2、JavaWorkshop

3、NetBeans与SunJavaStudio5

NetBeans是开放源码的Java集成开发环境(IDE),适用于各种客户机和Web应用。

SunJavaStudio是Sun公司最新发布的商用全功能JavaIDE,支持Solaris、Linux和Windows平台,适于创建和部署2层JavaWeb应用和n层J2EE应用的企业开发人员使用。NetBeans是业界第一款支持创新型Java开发的开放源码IDE。开发人员可以利用业界强大的开发工具来构建桌面、Web或移动应用。同时,通过NetBeans和开放的API的模块化结构,第三方能够非常轻松地扩展或集成NetBeans平台。NetBeans3.5.1主要针对一般Java软件的开发者,而JavaOneStudio5则主要针对企业做网络服务等应用的开发者。Sun不久还将推出ProjectRave,其目标是帮助企业的开发者进行软件开发。NetBeans3.5.1版本与其他开发工具相比,最大区别在于不仅能够开发各种台式机上的应用,而且可以用来开发网络服务方面的应用,可以开发基于J2ME的移动设备上的应用等。在NetBeans3.5.1基础上,Sun开发出了JavaOneStudio5,为用户提供了一个更加先进的企业编程环境。在新的JavaOneStudio5里有一个应用框架,开发者可以利用这些模块快速开发自己在网络服务方面的各种应用程序。

4、Borland的JBuilder

Jbuilder进入了Java集成开发环境的王国,它满足很多方面的应用,尤其是对于服务器方以及EJB开发者们来说。下面简单介绍一下Jbuilder的特点:

1)Jbuilder支持最新的Java技术,包括Applets、JSP/Servlets、JavaBean以及EJB(EnterpriseJavaBeans)的应用。

2)用户可以自动地生成基于后端数据库表的EJBJava类,Jbuilder同时还简化了EJB的自动部署功能.此外它还支持CORBA,相应的向导程序有助于用户全面地管理IDL(分布应用程序所必需的接口定义语言InterfaceDefinitionLanguage)和控制远程对象。

3)Jbuilder支持各种应用服务器。Jbuilder与InpriseApplicationServer紧密集成,同时支持WebLogicServer,支持EJB1.1和EJB2.0,可以快速开发J2EE的电子商务应用。

4)Jbuilder能用Servlet和JSP开发和调试动态Web应用。

5)利用Jbuilder可创建(没有专有代码和标记)纯Java2应用。由于Jbuilder是用纯Java语言编写的,其代码不含任何专属代码和标记,它支持最新的Java标准。

6)Jbuilder拥有专业化的图形调试接口,支持远程调试和多线程调试,调试器支持各种JDK版本,包括J2ME/J2SE/J2EE。JBuilder环境开发程序方便,它是纯的Java开发环境,适合企业的J2EE开发;缺点是往往一开始人们难于把握整个程序各部分之间的关系,对机器的硬件要求较高,比较吃内存,这时运行速度显得较慢。

5、Oracle的JDeveloper

Oracle9iJDeveloper(定为9.0版,最新为10g)为构建具有J2EE功能,XML和Webservices的复杂的,多层的Java应用程序提供了一个完全集成的开发环境。它为运用Oracle9i数据库和应用服务器的开发人员提供特殊的功能和增强性能,除此以外,它也有资格成为用于多种用途Java开发的一个强大的工具。

Oracle9iJDeveloper的主要特点如下:

①具有UML(UnifiedModelingLanguage,一体化建模语言)建模功能。可以将业务对象及e-business应用模型化。

②配备有高速Java调试器(Debuger)、内置Profiling工具、提高代码质量的工具“CodeCoach”等。

③支持SOAP(SimpleObjectAccessProtocol)“简单对象访问协议”、UDDI(UniversalDescription,DiscoveryandIntegration)“统一描述、发现和集成协议”

、WSDL()“WEB服务描述语言”等Web服务标准。JDeveloper不仅仅是很好的Java编程工具,而且是OracleWeb服务的延伸,支持ApacheSOAP,以及9iAS,可扩充的环境和XML和WSDL语言紧密相关。Oracle9iJdeveloper完全利用Java编写,能够与以前的Oracle服务器软件以及其他厂商支持J2EE的应用服务器产品相兼容,而且在设计时着重针对Oracle9i,能够无缝化跨平台之间的应用开发,提供了业界第一个完整的、集成了J2EE和XML的开发环境,允许开发者快速开发可以通过Web、无线设备及语音界面访问的Web服务和交易应用,以往只能通过将传统Java编程技巧与最新模块化方式结合到一个单一集成的开发环境中之后才能完成J2EE应用开发生命周期管理的事实,从根本上得到改变。缺点就是对于初学者来说,较复杂,也比较难。

6、IBM的VisualAgeforJava

VisualAgeforJava是一个非常成熟的开发工具,它的特性以于IT开发者和业余的Java编程人员来说都是非常用有用的。它提供对可视化编程的广泛支持,支持利用CICS连接遗传大型机应用,支持EJB的开发应用,支持与Websphere的集成开发,方便的bean创建和良好的快速应用开发(RAD)支持和无文件式的文件处理。

IBM为建设Web站点所推出的及其包含的Visual

AgeforJavaProfessionalEdition软件已全面转向以Java为中心,这样,Java开发人员对WebSphere全套工具的感觉或许会好了许多。Studio所提供的工具有:Web站点管理、快速开发JDBC页向导程序、HTML编辑器和HTML语法检查等。这确实是个不错的HTML站点页面编辑环境。Studio和VisualAge集成度很高,菜单中提供了在两种软件包之间快速移动代码的选项。这就让使用Studio的Web页面设计人员和使用VisualAge的Java程序员

可以相互交换文件、协同工作。VisualAgeforJava支持团队开发,内置的代码库可以自动地根据用户做出改动而修改程序代码,这样就可以很方便地将目前代码和早期版本做出比较。与VisualAge紧密结合的WebsphereStudio本身并不提供源代码和版本管理的支持,它只是包含了一个内置文件锁定系统,当编辑项目的时候可以防止其他人对这些文件的错误修改,软件还支持诸如MicrosoftVisualSourceSafe这样的第三方源代码控制系统。VisualAgeforJava完全面向对象的程序设计思想使得开发程序非常快速、高效。你可以不编写任何代码就可以设计出一个典型的应用程序框架。VisualAgeforJava作为IBM电子商务解决方案其中产品之一,可以无缝地与其他IBM产品,如WebSphere、DB2融合,迅速完成从设计、开发到部署应用的整个过程。VisualAgeforJava独特的管理文件方式使其集成外部工具非常困难,你无法让VisualAgeforJava与其他工具一起联合开发应用。

7、BEA的WebLogicWorkshop

BEAWebLogicWorkshop是一个统一、简化、可扩展的开发环境,使所有的开发人员都能在BEAWebLogicEnterprisePlatform之上构建基于标准的企业级应用,从而提高了开发部门的生产力水平,加快了价值的实现。WebLogicWorkshop除了提供便捷的Web服务之外,它能够用于创建更多种类的应用。作为整个BEAWebLogicPlatform的开发环境。不管是创建门户应用、编写工作流、还是创建Web应用,Workshop8.1都可以帮助开发人员更快更好地完成。WebLogicWorkshop的主要特点如下:

①使J2EE开发切实可行,提高开发效率

BEAWebLogicWorkshop使开发人员远离J2EE内在的复杂性,集中精力专注业务逻辑,无须操心单调乏味的基础结构代码。这种创新意味着,已被企业验证的J2EE的强大功能,最终被大多数不熟悉Java和J2EE的应用开发人员所掌握,从而使IT部门的工作效率提高一个数量级。可视化设计器以及直观的概念,如事件、属性和控件等,实现了基于事件的开发。Workshop简化的程序设计模型,使开发人员不必掌握复杂的J2EEAPI和面向对象的程序设计原理。所有开发人员,包括J2EE专家和具有可视化和过程化语言技能的应用开发人员在内,都可以共同工作在BEAWebLogicEnterprisePlatform之上。Workshop的可视化开发环境,创建带有代码注释的标准Java文件,用来说明由运行时框架实施的企业级需求。J2EE和其他高级开发人员,借助功能强大的代码编辑功能,可以访问Java源代码,从而弥补了可视化设计器的不足。

②构建企业级应用

通过在可伸缩、安全可靠的企业级架构上实施各种应用,BEAWebLogicWorkshop大大降低了开发风险。而且,所有应用的创建都使用标准的J2EE组件,既保护了您的技术投资,又保持了最大的灵活性。BEAWebLogicWorkshop运行框架,是统一整个架构的汇聚层,使单一、简化的程序设计模型扩展到所有的BEAWebLogicEnterprisePlatform应用类型。通过解释设计时创建的注释代码,运行时框架可以实现必要的J2EE组件,并且提取出与J2EE应用开发有关的所有底层细节。

③降低IT复杂性BEAWebLogicWorkshop提供各种Java控件,使得与IT资源的连接更轻而易举。另外,在构建任何BEAWebLogicPlatform的应用中,Java控件不仅可扩展而且完全相同。这种强大、有效的方法能够:降低IT技术的复杂性,优化信息的可用性,推动包含"最佳业务方案"的可重用服务的开发,使开发人员能以更低的成本、更短的时间实现更大的产出。

利用BEAWebLogicWorkshop,任何开发人员都能以最大的生产效率,构建各种Web服务、Web应用、门户和集成项目。BEAWebLogicWorkshop是BEA的产品战略核心,它帮助客户接触和利用面向服务架构(SOA)的强大功能。BEAWeblogicWorkshop8.1极大简化了当前实际企业集成环境中企业级应用和服务的构建,并成为全面支持关键企业级应用(如异步、真正松耦合和粗粒度消息传送等)的自然选择。它的缺点就是过于复杂,对于初学者来说,理解起来较为困难。

8、WebGain的VisualCafeforJavaVisualCafe是只能在Symantec公司的Java虚拟机、Netscape公司的Java虚拟机和Microsoft虚拟机上工作的调试器。这对于开发者来讲是一个重要的特性,因为用户开发的Java代码中的许多软件bug就可能中会在某种特定的虚拟机上起作用。在修改后进行编译基继续进行调试时,VisualCafe会自动将文件存盘,使用VisualCafe创建的原生应用具有许多特点。除了明显的速度提高之外,Symantec使类库的二进制方式比正常的JDK小VisualCafe为所指定的关系自动生成或更新必要的Java代码。利用VisualCafe,用户可以从一个标准对象数据库中集合完整的Java应用程序和Applet,而不必再编写源代码。VisualCafe还提供了一个扩充的源代码开发工具集。VisualCafe综合了Java软件的可视化源程序开发工具,它允许开发人员在可视化视图和源视图之间进行有效地转换。在可视化视图中进行的修改立即反映在源代码中。对源代码的改变自动更新可视化视图。VisualCafe具有许多源文件方面的特性,如全局检索和替换。绝大多数Java开发工具的文献的问题在于简单地挨个介绍开发工具的每部分组件,但用户在开应用时还需要一个面向任务的手册,利用这个手册你可以不必知道工具每一部分的特定功能就可以开始创建自己的应用。VisualCafe提供了非常全面的用户指南,它对最开始的安装到创建第一个Java应用和Applet都提供了全面的帮助,VisualCafe将自动生成所指明关系的必要Java代码。VisualCafe可以在Windows95和WindowsNT平台下运行,Symantec公司为Java开发工作提供一个在Macintosh操作系统下可以运行的RAD工具。VisualCafe编译器速度很快,在国际化支持方面比较突出;缺点就是对于初学者来说,较复杂,也比较难。

9、Macromedia的JRUN

Macromedia公司的JRun是一个具有最广阔适用性的Java引擎,用于开发及实施由JavaServlets和JavaServerPages编写的服务器端Java应用。JRun是第一个完全支持JSP1.0规格书的商业化产品,全球有超过80,000名开发人员使用JRun在他们已有的Web服务器上添加服务器端Java的功能。其中Web服务器包括了MicrosoftIIS,NetscapeEnterpriseServer,Apache等。JRun是开发实施服务器端Java的先进引擎。如果我们希望在我们的Web应用中添加服务器端Java功能,那么JRun将成为我们的正确选择。JRun目前有3个版本,它是第一个支持JavaServerPages(JSP)规格书1.0的商业化产品。JSP是一种强大的服务器端技术,它是用于创建复杂Web应用的一整套快速应用开发系统。JRun可以使我们开始开发并测试Java应用。它最多接受5个并发的连接并且包括全部JavaServletAPI,支持JavaServerPages(JSP),支持所有主要的Webservers和计算机平台。JRunPro能够在生产环境下承受大访问量的负载,帮助我们实施应用、服务或Web站点(包括内联网)。JRunPro支持无限量并发式连接运行多个Java虚拟机,包括多个并发的Java虚拟机(JVM)。提供一个远程管理applet以及一个远程可再分布式的管理applet。JRunProUnlimited包括了所有JRunPro的功能,除次以外,还可以运行无限量的,并发的JVM。JRun依靠其内置的JRunWebServer可以单独运行。使用服务器端Java,用户可以开发出复杂的商业应用系统。最重要的一点是,由于servlets的平台独立性,以及更加简单的开发、更快速的实施、更经济的维护成本,它是CGI(CommonGatewayInterface)或Perlscripts的极佳的替代产品。缺点就是对于初学者来说,较复杂,也比较难。10、JCreator

JCreator是一个Java程序开发工具,也是一个Java集成开发环境(IDE)。无论你是要开发Java应用程序或者网页上的Applet元件都难不倒它。在功能上与Sun公司所公布的JDK等文字模式开发工具相较之下来得容易,还允许使用者自订义操作窗口界面及无限Undo/Redo等功能。JCreator为用户提供了相当强大的功能,例如项目管理功能,项目模板功能,可个性化设置语法高亮属性、行数、类浏览器、标签文档、多功能编绎器,向导功能以及完全可自定义的用户界面。通过JCreator,我们不用激活主文档而直接编绎或运行我们的JAVA程序。JCreator能自动找到包含主函数的文件或包含Applet的Html文件,然后它会运行适当的工具。在JCreator中,我们可以通过一个批处理同时编绎多个项目。JCreator的设计接近Windows界面风格,用户对它的界面比较熟悉。其最大特点是与我们机器中所装的JDK完美结合,是其它任何一款IDE所不能比拟的。它是一种初学者很容易上手的java开发工具,缺点是只能进行简单的程序开发,不能进行企业J2EE的开发应用。

11、MicrosoftVJ++

VisualJ++是Microsoft公司推出的可视化的Java语言集成开发环境(IDE),为Java编程人员提供了一个新的开发环境,是一个相当出色的开发工具。无论集成性、编译速度、调试功能、还是易学易用性,都体现了Microsoft的一惯风格。VisualJ++具有

下面的特点:

1)VisualJ++把Java虚拟机(JVM)作为独立的操作系统组件放入Windows,使之从浏览器中独立出来。

2)Microsoft的应用基本类库(AFC,)对SUN公司的JDK作了扩展,使应用基本类库更加适合在Windows下使用。

3)VisualJ++的调试器支持动态调试,包括单步执行、设置断点、观察变量数值等。

4)VisualJ++提供了一些程序向导(Wizards)和生成器(Builders),它们可以方便地帮助用户快速地生成Java程序,帮助你在自己的工程中创建和修改文件。

5)VisualJ++界面友好,其代码编辑器具有智能感知、联机编译等功能,使程序编写十分方便。VisualJ++中建立了Java的WFC,这一新的应用程序框架能够直接访问Windows应用程序接口(API),使你能够用Java语言编写完全意义上的Windows应用程序。

6)VisualJ++中表单设计器的快速应用开发特性使用WFC创建基于表单的应用程序变得轻松、简单。通过WFC可以方便地使用ActiveX数据对象(ADO,ActiveXDataObjects)来检索数据和执行简单数据的绑定。通过在表单设计器中使用ActiveX数据对象,可以快速地在表单中访问和显示数据。VisualJ++能结合微软的一贯的编程风格,很方便进行Java的应用开发,但它的移植性较差,不是纯的Java开发环境。

12、Eclipse

Eclipse是一种可扩展的开放源代码IDE。2001年11月,IBM公司捐出价值4,000万美元的源代码组建了Eclipse联盟,并由该联盟负责这种工具的后续开发。集成开发环境(IDE)经常将其应用范围限定在“开发、构建和调试”的周期之中。为了帮助集成开发环境(IDE)克服目前的局限性,业界厂商合作创建了Eclipse平台。Eclipse允许在同一IDE中集成来自不同供应商的工具,并实现了工具之间的互操作性,从而显着改变了项目工作流程,使开发者可以专注在实际的嵌入式目标上。Eclipse框架的这种灵活性来源于其扩展点。它们是在XML中定义的已知接口,并充当插件的耦合点。扩展点的范围包括从用在常规表述过滤器中的简单字符串,到一个Java类的描述。任何Eclipse插件定义的扩展点都能够被其它插件使用,反之,任何Eclipse插件也可以遵从其它插件定义的扩展点。除了解由扩展点定义的接口外,插件不知道它们通过扩展点提供的服务将如何被使用。利用Eclipse,我们可以将高级设计(也许是采用UML)与低级开发工具(如应用调试器等)结合在一起。如果这些互相补充的独立工具采用Eclipse扩展点彼此连接,那么当我们用调试器逐一检查应用时,UML对话框可以突出显示我们正在关注的器件。事实上,由于Eclipse并不了解开发语言,所以无论Java语言调试器、C/C++调试器还是汇编调试器都是有效的,并可以在相同的框架内同时瞄准不同的进程或节点。Eclipse的最大特点是它能接受由Java开发者自己编写的开放源代码插件,这类似于微软公司的VisualStudio和Sun微系统公司的NetBeans平台。Eclipse为工具开发商提供了更好的灵活性,使他们能更好地控制自己的软件技术。Eclipse联盟已经宣布将在2004年中期发布其3.0版软件。这是一款非常受欢迎的java开发工具,这国内的用户越来越多,实际上实用它java开发人员是最多的。缺点就是较复杂,对初学者来说,理解起来比较困难。

8. 用java编写画图工具

要求比较多阿 给你个简单的供参考
import java.awt.*;
import java.awt.event.*;
class Mycanvas extends Canvas
{ int x,y,r;
Mycanvas()
{ setBackground(Color.cyan);
}
public void setX(int x)
{ this.x=x;
}
public void setY(int y)
{ this.y=y;
}
public void setR(int r)
{ this.r=r;
}
public void paint(Graphics g)
{ g.drawOval(x,y,2*r,2*r); //通过Graphics对象画圆
}
}
class WindowCanvas extends Frame implements ActionListener
{ Mycanvas canvas;
TextField inputR,inputX,inputY;
Button b;
WindowCanvas()
{ canvas=new Mycanvas();//创建画布对象
inputR=new TextField(5);
inputX=new TextField(4);
inputY=new TextField(4);
Panel pNorth=new Panel(), pSouth=new Panel();//创建两个面板
pNorth.add(new Label("圆的位置坐标:"));
pNorth.add(inputX);
pNorth.add(inputY);
pSouth.add(new Label("圆的半径:"));
pSouth.add(inputR);
b=new Button("确定");
b.addActionListener(this);
pSouth.add(b);
add(canvas,BorderLayout.CENTER); //添加画布对象到中央区域
add(pNorth,BorderLayout.NORTH);
add(pSouth,BorderLayout.SOUTH);
setBounds(100,100,300,200);
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{ int x,y,r;
try { x=Integer.parseInt(inputX.getText());
y=Integer.parseInt(inputY.getText());
r=Integer.parseInt(inputR.getText());
canvas.setX(x); //设置自定义画布对象的实例变量x
canvas.setY(y);//设置自定义画布对象的实例变量y
canvas.setR(r);//设置自定义画布对象的实例变量r
canvas.repaint();//重画自定义画布对象
}
catch(NumberFormatException ee)
{ x=0;y=0;r=0;
}
}
}
public class Example18
{ public static void main(String args[])
{ new WindowCanvas();
}
}

9. java编程除eclipse外还有哪些工具软件

图形界面的java开发工具

JDK

Borland的JBuilder

JBuilder,JDeveloper,VisualAgeforJava

jcreater.

常见的十五种Java开发工具的特点

1、JDK(JavaDevelopmentKit)Java开发工具集

从初学者角度来看,采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系,

有利于理解Java面向对象的设计思想。JDK的另一个显着特点是随着Java(J2EE、J2SE

以及J2ME)版本的升级而升级。但它的缺点也是非常明显的就是从事大规模企业级Java

应用开发非常困难,不能进行复杂的Java软件开发,也不利于团体协同开发。

2、JavaWorkshop

3、NetBeans与SunJavaStudio5

NetBeans是开放源码的Java集成开发环境(IDE),适用于各种客户机和Web应用。

SunJavaStudio是Sun公司最新发布的商用全功能JavaIDE,支持Solaris、Linux和Win

dows平台,适于创建和部署2层JavaWeb应用和n层J2EE应用的企业开发人员使用。

NetBeans是业界第一款支持创新型Java开发的开放源码IDE。开发人员可以利用业界

强大的开发工具来构建桌面、Web或移动应用。同时,通过NetBeans和开放的API的模块

化结构,第三方能够非常轻松地扩展或集成NetBeans平台。

NetBeans3.5.1主要针对一般Java软件的开发者,而JavaOneStudio5则主要针对企

业做网络服务等应用的开发者。Sun不久还将推出ProjectRave,其目标是帮助企业的开

发者进行软件开发。NetBeans3.5.1版本与其他开发工具相比,最大区别在于不仅能够

开发各种台式机上的应用,而且可以用来开发网络服务方面的应用,可以开发基于J2ME

的移动设备上的应用等。在NetBeans3.5.1基础上,Sun开发出了Java

OneStudio5,为用户提供了一个更加先进的企业编程环境。在新的Java

OneStudio5里有一个应用框架,开发者可以利用这些模块快速开发自己在网络服务方面

的各种应用程序。

4、Borland的JBuilder

Jbuilder进入了Java集成开发环境的王国,它满足很多方面的应用,尤其是对于服

务器方以及EJB开发者们来说。下面简单介绍一下Jbuilder的特点:

1)Jbuilder支持最新的Java技术,包括Applets、JSP/Servlets、JavaBean以及EJB

(EnterpriseJavaBeans)的应用。

2)用户可以自动地生成基于后端数据库表的EJBJava类,Jbuilder同时还简化了EJ

B的自动部署功能.此外它还支持CORBA,相应的向导程序有助于用户全面地管理IDL(分布

应用程序所必需的接口定义语言InterfaceDefinitionLanguage)和控制远程对象。

3)Jbuilder支持各种应用服务器。Jbuilder与InpriseApplicationServer紧密集

成,同时支持WebLogicServer,支持EJB1.1和EJB2.0,可以快速开发J2EE的电子商务

应用。

4)Jbuilder能用Servlet和JSP开发和调试动态Web应用。

5)利用Jbuilder可创建(没有专有代码和标记)纯Java2应用。由于Jbuilder是用纯J

ava语言编写的,其代码不含任何专属代码和标记,它支持最新的Java标准。

6)Jbuilder拥有专业化的图形调试接口,支持远程调试和多线程调试,调试器支持

各种JDK版本,包括J2ME/J2SE/J2EE。

JBuilder环境开发程序方便,它是纯的Java开发环境,适合企业的J2EE开发;缺点

是往往一开始人们难于把握整个程序各部分之间的关系,对机器的硬件要求较高,比较

吃内存,这时运行速度显得较慢。

5、Oracle的JDeveloper

Oracle9iJDeveloper(定为9.0版,最新为10g)为构建具有J2EE功能,XML和Web

services的复杂的,多层的Java应用程序提供了一个完全集成的开发环境。它为运用Ora

cle9i数据库和应用服务器的开发人员提供特殊的功能和增强性能,除此以外,它也有资

格成为用于多种用途Java开发的一个强大的工具。

Oracle9iJDeveloper的主要特点如下:

①具有UML(UnifiedModelingLanguage,一体化建模语言)建模功能。可以将业

务对象及e-business应用模型化。

②配备有高速Java调试器(Debuger)、内置Profiling工具、提高代码质量的工具

“CodeCoach”等。

③支持SOAP(SimpleObjectAccessProtocol)“简单对象访问协议”、UDDI(U

niversalDescription,DiscoveryandIntegration)“统一描述、发现和集成协议”

、WSDL()“WEB服务描述语言”等Web服务标准。

JDeveloper不仅仅是很好的Java编程工具,而且是OracleWeb服务的延伸,支

持ApacheSOAP,以及9iAS,可扩充的环境和XML和WSDL语言紧密相关。Oracle9i

Jdeveloper完全利用Java编写,能够与以前的Oracle服务器软件以及其他厂商支持J2EE

的应用服务器产品相兼容,而且在设计时着重针对Oracle9i,能够无缝化跨平台之间的

应用开发,提供了业界第一个完整的、集成了J2EE和XML的开发环境,允许开发者快速开

发可以通过Web、无线设备及语音界面访问的Web服务和交易应用,以往只能通过将传统J

ava编程技巧与最新模块化方式结合到一个单一集成的开发环境中之后才能完成J2EE应用

开发生命周期管理的事实,从根本上得到改变。缺点就是对于初学者来说,较复杂,也

比较难。

6、IBM的VisualAgeforJava

VisualAgeforJava是一个非常成熟的开发工具,它的特性以于IT开发者和业余的

Java编程人员来说都是非常用有用的。它提供对可视化编程的广泛支持,支持利用CICS

连接遗传大型机应用,支持EJB的开发应用,支持与Websphere的集成开发,方便的bean

创建和良好的快速应用开发(RAD)支持和无文件式的文件处理。

IBM为建设Web站点所推出的及其包含的Visual

AgeforJavaProfessionalEdition软件已全面转向以Java为中心,这样,Java开发人

员对WebSphere全套工具的感觉或许会好了许多。Studio所提供的工具有:Web站点管理

、快速开发JDBC页向导程序、HTML编辑器和HTML语法检查等。这确实是个不错的HTML站

点页面编辑环境。Studio和VisualAge集成度很高,菜单中提供了在两种软件包之间快速

移动代码的选项。这就让使用Studio的Web页面设计人员和使用VisualAge的Java程序员

可以相互交换文件、协同工作。

VisualAgeforJava支持团队开发,内置的代码库可以自动地根据用户做出改动而

修改程序代码,这样就可以很方便地将目前代码和早期版本做出比较。与VisualAge紧

密结合的WebsphereStudio本身并不提供源代码和版本管理的支持,它只是包含了一个

内置文件锁定系统,当编辑项目的时候可以防止其他人对这些文件的错误修改,软件还支

持诸如MicrosoftVisualSourceSafe这样的第三方源代码控制系统。VisualAgefor

Java完全面向对象的程序设计思想使得开发程序非常快速、高效。你可以不编写任何代

码就可以设计出一个典型的应用程序框架。VisualAgeforJava作为IBM电子商务解决

方案其中产品之一,可以无缝地与其他IBM产品,如WebSphere、DB2融合,迅速完成从设

计、开发到部署应用的整个过程。

VisualAgeforJava独特的管理文件方式使其集成外部工具非常困难,你无法让Vis

ualAgeforJava与其他工具一起联合开发应用。

7、BEA的WebLogicWorkshop

BEAWebLogicWorkshop是一个统一、简化、可扩展的开发环境,使所有的开发人员

都能在BEAWebLogicEnterprisePlatform之上构建基于标准的企业级应用,从而提高

了开发部门的生产力水平,加快了价值的实现。

WebLogicWorkshop除了提供便捷的Web服务之外,它能够用于创建更多种类的应用

。作为整个BEAWebLogicPlatform的开发环境。不管是创建门户应用、编写工作流、还

是创建Web应用,Workshop8.1都可以帮助开发人员更快更好地完成。

WebLogicWorkshop的主要特点如下:

①使J2EE开发切实可行,提高开发效率

BEAWebLogicWorkshop使开发人员远离J2EE内在的复杂性,集中精力专注业务

逻辑,无须操心单调乏味的基础结构代码。这种创新意味着,已被企业验证的J2EE的

强大功能,最终被大多数不熟悉Java和J2EE的应用开发人员所掌握,从而使IT部

门的工作效率提高一个数量级。

可视化设计器以及直观的概念,如事件、属性和控件等,实现了基于事件的开发。W

orkshop简化的程序设计模型,使开发人员不必掌握复杂的J2EEAPI和面向对象的程

序设计原理。所有开发人员,包括J2EE专家和具有可视化和过程化语言技能的应用开

发人员在内,都可以共同工作在BEAWebLogicEnterprisePlatform之上。Workshop

的可视化开发环境,创建带有代码注释的标准Java文件,用来说明由运行时框架实施

的企业级需求。J2EE和其他高级开发人员,借助功能强大的代码编辑功能,可以访问

Java源代码,从而弥补了可视化设计器的不足。

②构建企业级应用

通过在可伸缩、安全可靠的企业级架构上实施各种应用,BEAWebLogic

Workshop大大降低了开发风险。而且,所有应用的创建都使用标准的J2EE组件,既保

护了您的技术投资,又保持了最大的灵活性。

BEAWebLogicWorkshop运行框架,是统一整个架构的汇聚层,使单一、简化的程序设

计模型扩展到所有的BEAWebLogicEnterprisePlatform应用类型。通过解释设计时

创建的注释代码,运行时框架可以实现必要的J2EE组件,并且提取出与J2EE应用开

发有关的所有底层细节。

③降低IT复杂性

BEAWebLogicWorkshop提供各种Java控件,使得与IT资源的连接更轻而易举

。另外,在构建任何BEAWebLogicPlatform的应用中,Java控件不仅可扩展而且完

全相同。这种强大、有效的方法能够:降低IT技术的复杂性,优化信息的可用性,推

动包含"最佳业务方案"的可重用服务的开发,使开发人员能以更低的成本、更短的时间

实现更大的产出。

利用BEAWebLogicWorkshop,任何开发人员都能以最大的生产效率,构建各种

Web服务、Web应用、门户和集成项目。BEAWebLogicWorkshop是BEA的产品战略核心

,它帮助客户接触和利用面向服务架构(SOA)的强大功能。BEAWeblogicWorkshop

8.1极大简化了当前实际企业集成环境中企业级应用和服务的构建,并成为全面支持关键

企业级应用(如异步、真正松耦合和粗粒度消息传送等)的自然选择。它的缺点就是过于

复杂,对于初学者来说,理解起来较为困难。

8、WebGain的VisualCafeforJava

VisualCafe是只能在Symantec公司的Java虚拟机、Netscape公司的Java虚拟机和M

icrosoft虚拟机上工作的调试器。这对于开发者来讲是一个重要的特性,因为用户开发的

Java代码中的许多软件bug就可能中会在某种特定的虚拟机上起作用。

在修改后进行编译基继续进行调试时,VisualCafe会自动将文件存盘,使用Visual

Cafe创建的原生应用具有许多特点。除了明显的速度提高之外,Symantec使类库的二进制

方式比正常的JDK小VisualCafe为所指定的关系自动生成或更新必要的Java代码。利用V

isualCafe,用户可以从一个标准对象数据库中集合完整的Java应用程序和Applet,而

不必再编写源代码。VisualCafe还提供了一个扩充的源代码开发工具集。

VisualCafe综合了Java软件的可视化源程序开发工具,它允许开发人员在可视化视

图和源视图之间进行有效地转换。在可视化视图中进行的修改立即反映在源代码中。对

源代码的改变自动更新可视化视图。

VisualCafe具有许多源文件方面的特性,如全局检索和替换。绝大多数Java开发工

具的文献的问题在于简单地挨个介绍开发工具的每部分组件,但用户在开应用时还需要

一个面向任务的手册,利用这个手册你可以不必知道工具每一部分的特定功能就可以开

始创建自己的应用。VisualCafe提供了非常全面的用户指南,它对最开始的安装到创建

第一个Java应用和Applet都提供了全面的帮助,VisualCafe将自动生成所指明关系的必

要Java代码。VisualCafe可以在Windows95和WindowsNT平台下运行,Symantec公司为

Java开发工作提供一个在Macintosh操作系统下可以运行的RAD工具。VisualCafe编译器

速度很快,在国际化支持方面比较突出;缺点就是对于初学者来说,较复杂,也比较难。

阅读全文

与java图形化编程工具相关的资料

热点内容
超级命令的英文 浏览:781
做账为什么要用加密狗 浏览:583
考研群体怎么解压 浏览:156
linux修改命令提示符 浏览:224
圆圈里面k图标是什么app 浏览:59
pdf加空白页 浏览:945
linux服务器如何看网卡状态 浏览:316
解压新奇特视频 浏览:705
图书信息管理系统java 浏览:553
各种直线命令详解 浏览:863
程序员泪奔 浏览:147
素材怎么上传到服务器 浏览:516
android百度离线地图开发 浏览:191
web可视化编程软件 浏览:294
java笔试编程题 浏览:746
win11什么时候可以装安卓 浏览:564
java不写this 浏览:1001
云点播电影网php源码 浏览:97
pythonclass使用方法 浏览:226
移动加密软件去哪下载 浏览:294