導航:首頁 > 編程語言 > 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圖形化編程工具相關的資料

熱點內容
初學c語言顯示源未編譯 瀏覽:245
資產概況源碼 瀏覽:472
dos命令建文件夾命令 瀏覽:378
解壓的密碼htm被屏蔽 瀏覽:502
冬天太冷冰箱壓縮機不啟動怎麼辦 瀏覽:83
手機打開vcf需要什麼編譯器 瀏覽:910
加密磁碟後開機很慢 瀏覽:271
長沙智能雲控系統源碼 瀏覽:258
阿里雲伺服器如何設置操作系統 瀏覽:999
超級命令的英文 瀏覽:783
做賬為什麼要用加密狗 瀏覽:586
考研群體怎麼解壓 瀏覽:159
linux修改命令提示符 瀏覽:226
圓圈裡面k圖標是什麼app 瀏覽:63
pdf加空白頁 瀏覽:948
linux伺服器如何看網卡狀態 瀏覽:318
解壓新奇特視頻 瀏覽:707
圖書信息管理系統java 瀏覽:554
各種直線命令詳解 瀏覽:864
程序員淚奔 瀏覽:147