javaMicaps实验报告.docx

上传人:b****2 文档编号:23078251 上传时间:2023-04-30 格式:DOCX 页数:19 大小:423.94KB
下载 相关 举报
javaMicaps实验报告.docx_第1页
第1页 / 共19页
javaMicaps实验报告.docx_第2页
第2页 / 共19页
javaMicaps实验报告.docx_第3页
第3页 / 共19页
javaMicaps实验报告.docx_第4页
第4页 / 共19页
javaMicaps实验报告.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

javaMicaps实验报告.docx

《javaMicaps实验报告.docx》由会员分享,可在线阅读,更多相关《javaMicaps实验报告.docx(19页珍藏版)》请在冰豆网上搜索。

javaMicaps实验报告.docx

javaMicaps实验报告

南京信息工程大学实验(实习)报告

实验(实习)名称micaps基本功能练习实验(实习)日期2014.11.21得分指导老师马利

系专业班级姓名学号

实验目的:

通过使用eclipse上机环境,熟悉面板构造,达到熟练编程的目的

实验内容:

1、主面板

1.创建窗口

importjava.awt.Dimension;

importjava.awt.Toolkit;

importjavax.swing.JDesktopPane;

importjavax.swing.JFrame;

publicclassMainFrame{

publicstaticvoidmain(String[]args){

newMicapsFrame();

}

}

classMicapsFrameextendsJFrame{

JDesktopPanedesktopPane;

publicMicapsFrame()

{

//设置窗体属性,采用默认的绝对布局

super();

//设定窗体出现在屏幕的正中

//获取屏幕的大

DimensionscrnDim=Toolkit.getDefaultToolkit().getScreenSize();setBounds(200,100,(int)((1000.0/1280)*scrnDim.getWidth()),(int)((800.0/1024)*scrnDim.getHeight()));//设置窗体大小和位置

setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);//设置窗体关闭方式

setTitle("MICAPS3");//给窗体命名

setVisible(true);//一定要设置窗体可见

java.awt.Containerc=getContentPane();//窗体其实就是一个容器,获取该容器

desktopPane=newJDesktopPane();//创建桌面面板

desktopPane.setBounds(0,50,this.getSize().width,this.getSize().height-50);//设置桌面面板大小和位置

c.setLayout(null);//设置布局属性为空,即默认的绝对布局方式

}

}

2.添加菜单栏按钮

JMenuBarmenuBar;

//给窗体添加菜单组件

menuBar=newJMenuBar();

//设置菜单栏的属性

menuBar.setBounds(0,0,this.getSize().width,20);

//将菜单栏添加到容器中

c.add(menuBar);

3.添加菜单栏按钮---实现一个实例

JMenumenuFile=newJMenu("文件");

//将菜单栏的选项添加到菜单栏中

menuBar.add(menuFile);

4.添加工具栏按钮

JToolBartoolBar;

//添加工具栏

toolBar=newJToolBar();

//设置工具栏不可移动

toolBar.setFloatable(false);

//将工具栏添加到容器中

toolBar.setBounds(0,20,this.getSize().width,30);

c.add(toolBar);

5.添加工具栏按钮------实现一个实例

JButtonbtn_1=newJButton(newImageIcon("res/新建.png"));

//给按钮添加提示信息

btn_1.setToolTipText("新建交互层");

//将按钮添加到工具栏中

toolBar.add(btn_1);

6.添加主面板控件

JTabbedPanepaneLeft;

JPanelpanel;

panel=newJPanel();

panel.setBounds(0,0,(int)((200.0/1000)*this.getSize().width),this.getSize().height-50);

panel.setLayout(null);

//在桌面面板左边添加选项卡面板

paneLeft=newJTabbedPane(JTabbedPane.LEFT);

paneLeft.setBounds(0,0,(int)((200.0/1000)*this.getSize().width),this.getSize().height-50);

panel.add(paneLeft);

desktopPane.add(panel);

c.add(desktopPane);

7.添加左侧分裂面板

JTabbedPanepaneLeft;

JPanelpanel;

JSplitPanesplitLeft;

panel=newJPanel();

panel.setBounds(0,0,(int)((200.0/1000)*this.getSize().width),this.getSize().height-50);

panel.setLayout(null);

//在桌面面板左边添加选项卡面板

paneLeft=newJTabbedPane(JTabbedPane.LEFT);

paneLeft.setBounds(0,0,(int)((200.0/1000)*this.getSize().width),this.getSize().height-50);

panel.add(paneLeft);

desktopPane.add(panel);

c.add(desktopPane);

//图层数据控制面板

splitLeft=newJSplitPane(JSplitPane.VERTICAL_SPLIT);

splitLeft.setDividerLocation(300);

JTabbedPaneleftJPanel=newJTabbedPane(JTabbedPane.TOP);

JScrollPanescrollTuzu=newJScrollPane();

JPanelscrollPane=newJPanel(newGridLayout(0,5));

leftJPanel.addTab("图组",scrollTuzu);

leftJPanel.addTab("工具箱",scrollPane);

splitLeft.setTopComponent(leftJPanel);

/*splitLeft.setBottomComponent(leftJTabbedPane);*/

paneLeft.addTab("",newImageIcon("res/图层数据属性控制.png"),splitLeft);

2、地面资料统计

1、单选框

ButtonGroupbg;

bg=newButtonGroup();

JRadioButtonradiobutton6=newJRadioButton("大于等于",true);

radiobutton6.setBounds(250,50,110,30);

radiobutton6.setFont(font);

Panel.add(radiobutton6);

bg.add(radiobutton6);

JComboBoxcomboBox1=newJComboBox(newMyComboBox1());

comboBox1.setBounds(370,50,80,30);

Panel.add(comboBox1);

JRadioButtonradiobutton7=newJRadioButton("等于",false);

radiobutton7.setBounds(250,80,80,30);

radiobutton7.setFont(font);

Panel.add(radiobutton7);

bg.add(radiobutton7);

JRadioButtonradiobutton8=newJRadioButton("小于等于",false);

radiobutton8.setBounds(250,110,110,30);

radiobutton8.setFont(font);

Panel.add(radiobutton8);

bg.add(radiobutton8);

2、下拉框

JComboBoxcomboBox1=newJComboBox(newMyComboBox1());

comboBox1.setBounds(370,50,80,30);

Panel.add(comboBox1);

publicclassMyComboBox1extendsAbstractListModelimplementsComboBoxModel{

String[]test={"全国","省份","城市"};

Stringselecteditem=test[0];

publicObjectgetElementAt(intindex){

returntest[index];

}

publicintgetSize(){

returntest.length;

}

publicvoidsetSelectedItem(Objectitem){

selecteditem=(String)item;

}

publicObjectgetSelectedItem(){

returnselecteditem;

}

publicintgetIndex(){

for(inti=0;i

if(test[i].equals(getSelectedItem()))

returni;

break;

}

return0;

}

}

3、三线图

1、创建三线图面板

setBounds(100,100,1000,700);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setVisible(true);

setTitle("三线图");

2、添加分裂面板

privateJSplitPanemySplitPane;

privateJPanellabelLeft;

privateJLabellab_color_change;

mySplitPane=newJSplitPane();

labelLeft=newJPanel();

labelLeft.setLayout(null);

JTabbedPanemyTabbedPane;

myTabbedPane=newJTabbedPane();

lab_color_change=newJLabel("颜色改变实例");

lab_color_change.setBounds(50,37,200,50);

labelLeft.add(lab_color_change);

mySplitPane.setRightComponent(labelLeft);

JPanellab_tuxingcaozuo=newJPanel();//选项卡之一:

图形操作

JPanellab_beijingshezhi=newJPanel();//选项卡二:

背景设置

myTabbedPane.addTab("图形操作",lab_tuxingcaozuo);

lab_tuxingcaozuo.setLayout(null);

myTabbedPane.addTab("背景设置",lab_beijingshezhi);

mySplitPane.setLeftComponent(myTabbedPane);

getContentPane().add(mySplitPane);

mySplitPane.setDividerLocation((this.getSize().width)/5*1);

3、添加左侧面板基本内容

JTextPanetextPane=newJTextPane();

textPane.setBounds(37,10,106,84);

lab_tuxingcaozuo.add(textPane);

JButtonbtnNewButton_2=newJButton("隐现");

btnNewButton_2.setBounds(21,117,70,23);

lab_tuxingcaozuo.add(btnNewButton_2);

JButtonbtnNewButton_3=newJButton("标签");

btnNewButton_3.setBounds(101,117,70,23);

lab_tuxingcaozuo.add(btnNewButton_3);

JButtonbtn_color=newJButton("颜色");

btn_color.setBounds(21,160,70,23);

lab_tuxingcaozuo.add(btn_color);

JButtonbtnNewButton_5=newJButton("宽度");

btnNewButton_5.setBounds(101,160,70,23);

lab_tuxingcaozuo.add(btnNewButton_5);

ButtonGroupmyButtonGroup=newButtonGroup();

JRadioButtonrdbtnNewRadioButton=newJRadioButton("时间轴向左",true);

rdbtnNewRadioButton.setBounds(37,214,121,23);

myButtonGroup.add(rdbtnNewRadioButton);;

lab_tuxingcaozuo.add(rdbtnNewRadioButton);

JRadioButtonrdbtnNewRadioButton_1=newJRadioButton("时间轴向右",false);

rdbtnNewRadioButton_1.setBounds(37,256,121,23);

myButtonGroup.add(rdbtnNewRadioButton_1);

lab_tuxingcaozuo.add(rdbtnNewRadioButton_1);

JLabellblNewLabel=newJLabel("时间间隔");

lblNewLabel.setBounds(31,313,60,15);

lab_tuxingcaozuo.add(lblNewLabel);

textField=newJTextField();

textField.setBounds(94,310,33,21);

lab_tuxingcaozuo.add(textField);

textField.setColumns(10);

JLabellblNewLabel_1=newJLabel("小时");

lblNewLabel_1.setBounds(138,313,43,15);

lab_tuxingcaozuo.add(lblNewLabel_1);

JCheckBoxchckbxNewCheckBox=newJCheckBox("只填风");

chckbxNewCheckBox.setBounds(37,354,103,23);

lab_tuxingcaozuo.add(chckbxNewCheckBox);

JLabellblNewLabel_2=newJLabel("开始时间");

lblNewLabel_2.setBounds(37,399,106,15);

lab_tuxingcaozuo.add(lblNewLabel_2);

textField_1=newJTextField();

textField_1.setBounds(37,424,106,23);

lab_tuxingcaozuo.add(textField_1);

textField_1.setColumns(10);

JLabellblNewLabel_3=newJLabel("结束时间");

lblNewLabel_3.setBounds(37,464,106,15);

lab_tuxingcaozuo.add(lblNewLabel_3);

textField_2=newJTextField();

textField_2.setColumns(10);

textField_2.setBounds(37,489,106,23);

lab_tuxingcaozuo.add(textField_2);

JButtonbtnNewButton=newJButton("存图");

btnNewButton.setBounds(21,580,70,23);

lab_tuxingcaozuo.add(btnNewButton);

JButtonbtnNewButton_1=newJButton("退出");

btnNewButton_1.setBounds(101,580,70,23);

lab_tuxingcaozuo.add(btnNewButton_1);

4、设置面板起始位置在屏幕正中间。

DimensionscrnDim=Toolkit.getDefaultToolkit().getScreenSize();

//计算本窗体的起始位置

//注意不要使用this.width和this.height来获取本窗体的宽和高

//不然计算位置不在屏幕中央,原因可能是因为pack方法的影响

//getSize方法可能重新计算了pack后的窗体大小

intx=(scrnDim.width-this.getSize().width)/2;

inty=(scrnDim.height-this.getSize().height)/2;

this.setLocation(x,y);

5、添加事件监听。

btn_color.addActionListener(this);//设置颜色事件监听器,当出现点击,触发

publicvoidstateChanged(ChangeEvente){

ColorselectedColor_background=jcc_background.getColor();

ColorselectedColor_text=jcc_text.getColor();

labelLeft.setBackground(selectedColor_background);

lab_color_change.setForeground(selectedColor_text);

}

@Override

publicvoidactionPerformed(ActionEvente){

//TODOAuto-generatedmethodstub

//TODOAuto-generatedmethodstub

//事件发生捕捉

StringevtCmd=e.getActionCommand();

if(evtCmd.equals("颜色")){

event_handle_color();

}

}

privatevoidevent_handle_color(){

JDialogdlg=newjavax.swing.JDialog();

dlg.setBounds(400,100,100,50);

dlg.setTitle("颜色");

//作为独立的颜色选择器,可以给其构造器一个初始颜色

jcc_background.getSelectionModel().addChangeListener(this);

jcc_text.getSelectionModel().addChangeListener(this);

Containerc=dlg.getContentPane();

JTabbedPanemyColorTabbedPane=newJTabbedPane();//声明一个选项卡面板

JPanelbackground_Color=newJPanel();

JPaneltext_color=newJPanel();

myColorTabbedPane.addTab("背景颜色设置",background_Color);

myColorTabbedPane.addTab("文字颜色设置",text_color);

background_Color.add(jcc_background,BorderLayout.CENTER);

text_color.add(jcc_text,BorderLayout.CENTER);

c.add(myColorTabbedPane);

dlg.pack();

dlg.setVisible(true);

dlg.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);

}

实验感悟:

通过这几次的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1