1、马利智能信息处理南京信息工程大学实验(实习)报告实验(实习)名称 智能信息处理实验 实验(实习)日期 2015.6.12 得分 指导老师 马利 系 计算机与软件学院 专业 计算机科学与技术班级 2 姓名 学号 一实验目的: 使用java语言实现对智能信息处理学习内容的综合运用,通过使用eclipse编程工具设计出不同的气象信息页面,通过自己的动手实践,加强自己的编程能力。二实验内容: 1)三线图1创建三线图面板 public sanxiantu() setBounds(100,100,1000,700); setDefaultCloseOperation(JFrame.EXIT_ON_CLOS
2、E); setVisible(true); 2添加分裂面板 /滑块 private JSlider getJSlider() if (jSlider = null) jSlider = new JSlider(); jSlider.setMaximum(1000); jSlider.setValue(100); jSlider.setMinimum(1); jSlider.addChangeListener(new javax.swing.event.ChangeListener() public void stateChanged(javax.swing.event.ChangeEvent
3、e) canvas.repaint();/重新绘制 ); return jSlider; /设置画板 class MyCanvas extends Canvas private static final long serialVersionUID = 5531859086294026557L; private Toolkit tk = Toolkit.getDefaultToolkit(); private Image backgroundImage; public MyCanvas (String imgFile) backgroundImage = tk.createImage(imgFi
4、le); /构造函数 public void setBackgroundPanel (String imgFile) backgroundImage = tk.createImage(imgFile); repaint();/重新绘制 public void paint(Graphics g) int newW = 0, newH = 0; int imgWidth = backgroundImage.getWidth(this); /获取宽度 int imgHeight = backgroundImage.getHeight(this); /获取高度 float value = jSlide
5、r.getValue(); newW = (int) (imgWidth * value / 100); newH = (int) (imgHeight * value / 100); g.drawImage(backgroundImage, 0, 0, newW, newH, this);/按要求画出制定图片 public sanxiantu() super(); setBounds(100, 100, 1000, 700); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); mySplitPane = new JSplitPane();/水平分
6、割 labelRight = new JPanel(); JTabbedPane myTabbedPane = new JTabbedPane(); mySplitPane.setRightComponent(labelRight); labelRight.setLayout(new BorderLayout(); lab_color_change = new JLabel(20131308051金宸); lab_color_change.setBounds(50, 37, 150, 43); labelRight.add(lab_color_change,BorderLayout.NORTH
7、); labelRight.add( getJSlider(),BorderLayout.SOUTH); canvas = new MyCanvas(src/res/yiwei.jpg); labelRight.add(canvas, BorderLayout.CENTER); mySplitPane.setLeftComponent(myTabbedPane); getContentPane().add(mySplitPane); JPanel lab_tuxingcaozuo = new JPanel();/选项卡一 JPanel lab_beijingshezhi = new JPane
8、l();/选项卡二myTabbedPane.addTab(图形操作, lab_tuxingcaozuo);3对左侧选项卡一进行设计 /设置选项卡一myTabbedPane.addTab(图形操作, lab_tuxingcaozuo); lab_tuxingcaozuo.setLayout(null); JTextPane textPane = new JTextPane(); textPane.setBounds(45, 15, 100, 80); lab_tuxingcaozuo.add(textPane); JButton btnNewButton_2 = new JButton(长度);
9、 btnNewButton_2.setBounds(21, 117, 70, 43); lab_tuxingcaozuo.add(btnNewButton_2); JButton btnNewButton_3 = new JButton(宽度); btnNewButton_3.setBounds(111, 117, 70, 43); lab_tuxingcaozuo.add(btnNewButton_3); JButton btn_color = new JButton(颜色);/按钮设置 btn_color.setBounds(60, 170, 70, 43); lab_tuxingcaoz
10、uo.add(btn_color); btn_color.addActionListener(this);/事件监听,点击触发 JRadioButton rdbtnNewRadioButton = new JRadioButton(时间轴向左); rdbtnNewRadioButton.setBounds(37, 475, 121, 23); lab_tuxingcaozuo.add(rdbtnNewRadioButton); JRadioButton rdbtnNewRadioButton_1 = new JRadioButton(时间轴向右); rdbtnNewRadioButton_1.
11、setBounds(37, 500, 121, 23); lab_tuxingcaozuo.add(rdbtnNewRadioButton_1); JLabel lblNewLabel = new JLabel(时间间隔); lblNewLabel.setBounds(31, 400, 60, 15); lab_tuxingcaozuo.add(lblNewLabel); textField = new JTextField(); textField.setBounds(94, 395, 33, 21); lab_tuxingcaozuo.add(textField); textField.s
12、etColumns(10); JLabel lblNewLabel_1 = new JLabel(小时); lblNewLabel_1.setBounds(138, 400, 43, 15); lab_tuxingcaozuo.add(lblNewLabel_1); JCheckBox chckbxNewCheckBox = new JCheckBox(只填风); chckbxNewCheckBox.setBounds(37, 450, 103, 23); lab_tuxingcaozuo.add(chckbxNewCheckBox); JCheckBox chckbxNewOne = new
13、 JCheckBox(只填雨); chckbxNewOne.setBounds(37, 425, 103, 23); lab_tuxingcaozuo.add(chckbxNewOne); JLabel lblNewLabel_2 = new JLabel(起始值); lblNewLabel_2.setBounds(70, 250, 106, 15); lab_tuxingcaozuo.add(lblNewLabel_2); textField_1 = new JTextField(); textField_1.setBounds(37, 270, 106, 23); lab_tuxingca
14、ozuo.add(textField_1); textField_1.setColumns(10); JLabel lblNewLabel_3 = new JLabel(结束值); lblNewLabel_3.setBounds(70, 300, 106, 15); lab_tuxingcaozuo.add(lblNewLabel_3); textField_2 = new JTextField(); textField_2.setColumns(10); textField_2.setBounds(37, 320, 106, 23); lab_tuxingcaozuo.add(textFie
15、ld_2); JButton btnNewButton = new JButton(保存); btnNewButton.setBounds(60,560,70,43); lab_tuxingcaozuo.add(btnNewButton);4对左侧选项卡二进行设计/选项卡二设置 myTabbedPane.addTab(背景设置, lab_beijingshezhi); JButton btn_tupian = new JButton(选择图片); btn_tupian.addActionListener(this); lab_beijingshezhi.add(btn_tupian); JBu
16、tton btnZuoyi = new JButton(背景左移); btnZuoyi.setBounds(60, 170, 70, 43); lab_beijingshezhi.add(btnZuoyi); JButton btnYouyi = new JButton(背景右移); btnYouyi.setBounds(60, 200, 70, 43); lab_beijingshezhi.add(btnYouyi); JButton btnDaxiao = new JButton(改变大小); btnDaxiao.setBounds(60, 200, 70, 43); lab_beijin
17、gshezhi.add(btnDaxiao); JButton btnBaocun = new JButton(保存); btnBaocun.setBounds(60,560,70,43); lab_beijingshezhi.add(btnBaocun); Dimension scrnDim = Toolkit.getDefaultToolkit().getScreenSize(); int x = (scrnDim.width - this.getSize().width) / 2; int y = (scrnDim.height - this.getSize().height) / 2;
18、 this.setLocation(x, y); addComponentListener(new java.awt.event.ComponentAdapter() public void componentResized(java.awt.event.ComponentEvent evt) formComponentResized(); ); /调用窗体大小变化处理函数 private void formComponentResized() mySplitPane.setDividerLocation(this.getSize().width / 5) * 1); Override pub
19、lic void stateChanged(ChangeEvent e) /事件触发后捕获 Color selectedColor_background=jcc_background.getColor(); Color selectedColor_text=jcc_text.getColor(); labelRight.setBackground(selectedColor_background); lab_color_change.setForeground(selectedColor_text); Override public void actionPerformed(ActionEve
20、nt e) /时间被触发后进行捕获 String evtCmd=e.getActionCommand(); if(evtCmd.equals(颜色) event_handle_color(); else if(evtCmd.equals(选择图片) envent_tupian(); private void envent_tupian() String fileName = null; JFileChooser fileChooser = new JFileChooser(); /打开选择图片的选项页 fileChooser.setDialogTitle(图片地址); fileChooser.
21、setFileFilter(new FileNameExtensionFilter(图片文件(*.bmp, *.gif, *.jpg, *.jpeg, *.png), bmp, gif, jpg, jpeg, png); if (fileChooser.showOpenDialog(null) = JFileChooser.APPROVE_OPTION) fileName = fileChooser.getSelectedFile().getAbsolutePath(); if (fileName = null) return; else return; setDefaultCloseOper
22、ation(EXIT_ON_CLOSE); setSize(800, 600); setLocationRelativeTo(null); canvas.setBackgroundPanel(fileName); 5设计颜色按钮的事件监听private void event_handle_color() JDialog dlg=new javax.swing.JDialog(); dlg.setBounds(400, 100, 100, 50); dlg.setTitle(颜色); jcc_background.getSelectionModel().addChangeListener(thi
23、s); jcc_text.getSelectionModel().addChangeListener(this); Container c=dlg.getContentPane(); JTabbedPane myColorTabbedPane=new JTabbedPane(); JPanel background_Color=new JPanel(); JPanel text_color=new JPanel(); myColorTabbedPane.addTab(背景颜色设置, background_Color); myColorTabbedPane.addTab(文字颜色设置,text_
24、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); 2)主面板1创建主面板窗口public class MainFrame public static void main(String args)
25、 new MicapsFrame(); class MicapsFrame extends JFrame JDesktopPane desktopPane; public MicapsFrame() super(); Dimension scrnDim = Toolkit.getDefaultToolkit().getScreenSize(); setBounds(200,100,(int)(1000.0/1280)*scrnDim.getWidth(),(int)(800.0/1024)*scrnDim.getHeight(); /设置窗体大小和位置 setDefaultCloseOpera
26、tion(JFrame.DISPOSE_ON_CLOSE); setTitle(MICAPS3);/给窗体命名 setVisible(true); /设置窗体可见 java.awt.Container c=getContentPane(); desktopPane=new JDesktopPane();/创建桌面面板 desktopPane.setBounds(0,50,this.getSize().width,this.getSize().height-50);/设置桌面面板大小和位置 c.setLayout(null); JMenuBar menuBar;/给窗体添加菜单组件 menuBa
27、r=new JMenuBar();/设置菜单栏的属性 menuBar.setBounds(0,0,this.getSize().width,20);/将菜单栏添加到容器中 c.add(menuBar); 2添加一个按钮 JMenu menuFile=new JMenu(文件); /将菜单栏的选项添加到菜单栏中 menuBar.add(menuFile); JToolBar toolBar; /添加工具栏 toolBar=new JToolBar(); /设置工具栏不可移动 toolBar.setFloatable(false); /将工具栏添加到容器中 toolBar.setBounds(0,
28、20,this.getSize().width,30); c.add(toolBar); 3添加工具栏按钮 JButton btn_1=new JButton(new ImageIcon(res/新建.png); btn_1.setToolTipText(新建交互层);/将按钮添加到工具栏中 toolBar.add(btn_1);4添加控件 JTabbedPane paneLeft; JPanel panel; panel=new JPanel(); panel.setBounds(0,0,(int) (200.0/1000)*this.getSize().width),this.getSiz
29、e().height-50); panel.setLayout(null); paneLeft=new JTabbedPane(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);5添加分裂面板 JTabbedPane paneLeft; JPanel panel; JSplitPane splitLeft; panel=new JPanel(); panel.setBounds(0,0,(int) (200.0/1000)*this.getSize().width),this.getSize().height-50); panel.setLayout(null);/在桌面面板左边添加选项卡面板 paneLeft=new JTabbedPane(JTabbedPane
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1