• 2019java第十二周课程总结


    本周主要还是学习图形界面

    各种容器使用方法
    如下代码:

    package text10;
    
    import java.awt.*;
    import java.io.File;
    
    import javax.swing.*;
    
    public class Text extends JFrame{
    	public Text() {
    		this.setTitle("窗口");
    		Container cont=this.getContentPane();
    		JLabel la=new JLabel("标签");
    		JButton ba=new JButton("按钮");
    		
    		/*在窗体中添加面板*/
    	    JPanel panel = new JPanel(); 
        //	panel.add(ba);
    	//	panel.add(la);
    		
    		
    		//分割面板 JSplitPane
    	/*	JSplitPane sp=new JSplitPane(JSplitPane.VERTICAL_SPLIT,ba,new JButton("s"));
    		JSplitPane splitPane=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,la,sp);
    		splitPane.setDividerSize(10);           //设置的分隔符宽度
    		splitPane.setDividerLocation(50);  //设置分隔条位置
            splitPane.setOneTouchExpandable(true);   //设置快速展开折叠分隔条
    		this.add(splitPane);
    	    this.pack();
    		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    		this.setVisible(true);
    		*/
    		
    		//在面板中设置多个选项卡 JTabbbedPane
    	/*	JTabbedPane tp=new JTabbedPane(JTabbedPane.BOTTOM);
    		tp.addTab("文件",ba);
    		String path="d:"+File.separator+"游戏素材"+File.separator+"星星.png";
    		ImageIcon image=new ImageIcon(path);
    		tp.addTab("图片", image,panel.add(la));//添加的图片是在菜单栏的图标,而不是他的内容
    		cont.add(tp);
    		this.pack();
    		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    		this.setVisible(true);
    		*/
    	    
    	    //显示内容加滚动条JScrollPane
        /*  String path="d:"+File.separator+"游戏素材"+File.separator+"星星.png";
    	    Icon image=new ImageIcon(path);
    	    panel.add(new JLabel(image));
    	    JScrollPane sp=new JScrollPane(panel,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    	    cont.add(sp);
    	    this.pack();
    		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    		this.setVisible(true);
    	    */
    	    
    	    //在一个窗体内出现一个或多个子窗体,JDesktopPane规定父窗体;JInternalFrame规定子窗体
    	    this.setLayout(new BorderLayout());
    	    JDesktopPane dp=new JDesktopPane();
    	    cont.add(dp,BorderLayout.CENTER);
    	    cont.add(la,BorderLayout.SOUTH);
    	    JInternalFrame in=new JInternalFrame("小窗体",true,true,true,true);
    	    String path="d:"+File.separator+"游戏素材"+File.separator+"星星.png";
    	    Icon image=new ImageIcon(path);
    	    panel.add(new JLabel(image));
    	    in.setBounds(10, 10, 100, 100);
    	    in.add(panel);
    	    in.setVisible(true);
    	    dp.add(in);
    	    this.pack();
    	    this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    	    this.setVisible(true);
    	    
    	    
    	}
    	public static void main(String[] arge) {
    		new Text();
    	}
    }
    

    运行截图

    (以上代码主要是测试本周所学的一些其他容器的用法)

    计算机代码以及关于监视器的用法

    package text11;
    
    import java.awt.*;
    import java.awt.event.ActionEvent;
    import javax.swing.*;
    
    public class Jisuanji extends JFrame implements Action{
    	
    	Container cont;
    	JPanel pan,pan1,pan2,pan3,pan4;
    	JTabbedPane tp;
    	JTextArea ta;
    	JButton bt,bt1,bt2;
    	JButton[] but=new JButton[20];
    	String str[]= {"7","8","9","/","sqrt","4","5","6","*","%","1","2","3","-","1/x","0","+/-",".","+","="};
    	
    	
    	public Jisuanji() {
    		this.setTitle("计算机");
    		this.setBounds(100,100, 310, 370);
    		this.setResizable(false);
    		
         	cont=this.getContentPane();
            pan=new JPanel(new FlowLayout(FlowLayout.RIGHT));
    		pan1=new JPanel();
    	    pan2=new JPanel();
    		pan3=new JPanel();
    		pan4=new JPanel(new GridLayout(4,5,0,10));
    		tp=new JTabbedPane(JTabbedPane.TOP);
    		ta=new JTextArea(5,28);
    		ta.setEditable(false);
    		bt=new JButton("Backspace");
    		bt1=new JButton("CE");
    		bt2=new JButton("C");
    		
    		ta.setLineWrap(true);
    		pan.add(ta);
    		pan3.add(bt);
    		pan3.add(bt1);
    		pan3.add(bt2);
    		pan.add(pan3);
    		for(int i=0;i<20;i++){
    			but[i] =new JButton(""+str[i]);
    			pan4.add(but[i]);
    		}
    		pan.add(pan4);
    		tp.addTab("编辑(E)",pan);
    		tp.addTab("查看(V)",pan1);
    		tp.addTab("帮助(H)",pan2);
    		cont.add(tp);
    		
    		for(int i=0;i<20;i++) {
    			but[i].addActionListener(this);
    		}
    
    		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    		this.setVisible(true);
    		
    		
    	}
    
    	public static void main(String[] args) {
    		new Jisuanji();
    	}
    
    	public void actionPerformed(ActionEvent e) {
    		for(int i=0;i<20;i++){
    			if(e.getSource()==but[i])
    			   ta.append(str[i]);
    		}
    		
    		
    	}
    
    	@Override
    	public Object getValue(String key) {
    		// TODO Auto-generated method stub
    		return null;
    	}
    
    	@Override
    	public void putValue(String key, Object value) {
    		// TODO Auto-generated method stub
    		
    	}
    	
    	
    
    }
    

    运行结果

    还有学习了监听适配器对于窗口,本周还是主要就是对图形界面进行了进一步的学习

  • 相关阅读:
    报错:No module named 'ConfigParser'
    报错:AttributeError: module 'selenium.webdriver' has no attribute 'Chrome'
    报错:selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element:
    去掉“Chrome正在受到自动化测试软件的控制”
    XPath-Helper 的安装和使用
    Chrome您使用的是不受支持的命令行标记:--ignore-certificate-errors
    Message: unknown error: cannot get automation extension
    安装mysql-5.7.22-winx64中出现错误
    pip install 报错 Could not fetch URL
    Spring Boot 报错:Error creating bean with name 'entityManagerFactory' defined in class path resource
  • 原文地址:https://www.cnblogs.com/H-Alice/p/11865862.html
Copyright © 2020-2023  润新知