📄 mainform.java
字号:
import com.ms.wfc.app.*;
import com.ms.wfc.core.*;
import com.ms.wfc.ui.*;
import com.ms.wfc.html.*;
import acad.*;
import com.ms.com.*;
/**
* This class can take a variable number of parameters on the command
* line. Program execution begins with the main() method. The class
* constructor is not invoked unless an object of type 'mainForm' is
* created in the main() method.
*/
public class mainForm extends Form
{
IAcadApplication IApp;
IAcadDocument IDoc;
IAcadModelSpace IMSpace;
IAcadUtility IUtil;
boolean boolAcadStarted = false; //指示AutoCAD2000是否启动
public mainForm()
{
// Required for Visual J++ Form Designer support
initForm();
// TODO: Add any constructor code after initForm call
}
/**
* mainForm overrides dispose so it can clean up the
* component list.
*/
public void dispose()
{
super.dispose();
components.dispose();
}
private void ID_FILE_STARTACAD_click(Object source, Event e)
{
if(boolAcadStarted == true)
return;
IApp = (IAcadApplication) new AcadApplication();
if(IApp == null)
{
MessageBox.show("初始AutoCAD失败!");
return;
}
IApp.setVisible(true);
IDoc = (IAcadDocument) IApp.getActiveDocument();
IUtil = (IAcadUtility) IDoc.getUtility();
IMSpace = (IAcadModelSpace) IDoc.getModelSpace();
boolAcadStarted = true;
}
private void ID_FILE_QUITACAD_click(Object source, Event e)
{
if(boolAcadStarted == true)
{
IApp.Quit();
boolAcadStarted = false;
}
}
private void ID_FILE_EXIT_click(Object source, Event e)
{
if(boolAcadStarted == true)
{
IApp.Quit();
boolAcadStarted = false;
}
Application.exit();
}
private void ID_DRAW_LINE_click(Object source, Event e)
{
if(boolAcadStarted == false)
return;
int hr = 0;
Variant opt = new Variant();
opt.VariantClear();
opt.noParam();
Variant pt1 = new Variant();
pt1.VariantClear();
Variant pt2 = new Variant();
pt2.VariantClear();
Variant prompt = new Variant();
try
{
prompt.putString("第一点: ");
pt1 = IUtil.GetPoint(opt, prompt);
}
catch(ComException except)
{
hr = except.getHResult();
}
if(hr == 0)
{
try
{
prompt.putString("第二点: ");
pt2 = IUtil.GetPoint(pt1, prompt);
}
catch(ComException except)
{
hr = except.getHResult();
}
}
if(hr == 0)
{
IAcadLine ILine = (IAcadLine) IMSpace.AddLine(pt1, pt2);
ILine.setColor(2);
ILine.Highlight(true);
}
}
private void ID_DRAW_CIRCLE_click(Object source, Event e)
{
if(boolAcadStarted == false)
return;
int hr = 0;
Variant opt = new Variant();
opt.VariantClear();
opt.noParam();
Variant centerPt = new Variant();
centerPt.VariantClear();
double radus = 0.0;
Variant prompt = new Variant();
try
{
prompt.putString("中心点: ");
centerPt = IUtil.GetPoint(opt, prompt);
}
catch(ComException except)
{
hr = except.getHResult();
}
if(hr == 0)
{
try
{
prompt.putString("半径: ");
opt.VariantClear();
opt.noParam();
IUtil.InitializeUserInput(1+2,opt);
radus = IUtil.GetDistance(centerPt,prompt);
}
catch(ComException except)
{
hr = except.getHResult();
}
}
if(hr == 0)
{
IAcadCircle ICirc = (IAcadCircle) IMSpace.AddCircle(centerPt, radus);
ICirc.setColor(1);
}
}
/**
* NOTE: The following code is required by the Visual J++ form
* designer. It can be modified using the form editor. Do not
* modify it using the code editor.
*/
Container components = new Container();
MainMenu mainMenu = new MainMenu();
MenuItem ID_MENU_FILE = new MenuItem();
MenuItem ID_FILE_STARTACAD = new MenuItem();
MenuItem ID_FILE_QUITACAD = new MenuItem();
MenuItem menuItem4 = new MenuItem();
MenuItem ID_FILE_EXIT = new MenuItem();
MenuItem ID_MENU_DRAW = new MenuItem();
MenuItem ID_DRAW_LINE = new MenuItem();
MenuItem ID_DRAW_CIRCLE = new MenuItem();
private void initForm()
{
ID_FILE_STARTACAD.setText("&Start AutoCAD");
ID_FILE_STARTACAD.addOnClick(new EventHandler(this.ID_FILE_STARTACAD_click));
ID_FILE_QUITACAD.setText("&Quit AutoCAD");
ID_FILE_QUITACAD.addOnClick(new EventHandler(this.ID_FILE_QUITACAD_click));
menuItem4.setText("-");
ID_FILE_EXIT.setText("&Exit");
ID_FILE_EXIT.addOnClick(new EventHandler(this.ID_FILE_EXIT_click));
ID_MENU_FILE.setMenuItems(new MenuItem[] {
ID_FILE_STARTACAD,
ID_FILE_QUITACAD,
menuItem4,
ID_FILE_EXIT});
ID_MENU_FILE.setText("&File");
ID_DRAW_LINE.setText("&Highlight Line");
ID_DRAW_LINE.addOnClick(new EventHandler(this.ID_DRAW_LINE_click));
ID_DRAW_CIRCLE.setText("&Red Circle");
ID_DRAW_CIRCLE.addOnClick(new EventHandler(this.ID_DRAW_CIRCLE_click));
ID_MENU_DRAW.setMenuItems(new MenuItem[] {
ID_DRAW_LINE,
ID_DRAW_CIRCLE});
ID_MENU_DRAW.setText("&Draw");
mainMenu.setMenuItems(new MenuItem[] {
ID_MENU_FILE,
ID_MENU_DRAW});
/* @designTimeOnly mainMenu.setLocation(new Point(0, 8)); */
this.setText("mainForm");
this.setAutoScaleBaseSize(12);
this.setClientSize(new Point(292, 273));
this.setMenu(mainMenu);
}
/**
* The main entry point for the application.
*
* @param args Array of parameters passed to the application
* via the command line.
*/
public static void main(String args[])
{
Application.run(new mainForm());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -