zoukankan      html  css  js  c++  java
  • 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
    		
    	}
    	
    	
    
    }
    

    运行结果

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

  • 相关阅读:
    ps 批量杀死进程
    福特F-550 4x4 越野房车设计方案欣赏_房车欣赏_21世纪房车网
    geoserver技术交流群
    JAVA 中基本数组类型转byte数组
    JAVA 图片png和jpeg格式的转化方式
    win10下安装postgresql10 出现Problem running post-install step. Installation may not complete correctly.The database cluster initialisation failed
    centos7安装postgresql和postgis
    jdk1.8的jvm参数的查看以及GC日志的分析
    [warn] Neither build.sbt nor a 'project' directory in the current directory: C:Usershgt
    centos7使用docker制作tomcat本地镜像
  • 原文地址:https://www.cnblogs.com/H-Alice/p/11865862.html
Copyright © 2011-2022 走看看