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

    }

}

运行结果

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

原文地址:https://www.cnblogs.com/H-Alice/p/11865862.html

时间: 2024-10-14 00:36:30

2019java第十二周课程总结的相关文章

第十二周课程和学习总结

课程总结:这周学习了对界面上发生的事件进行对应的处理和监听这些事件发生的监听者,事件处理和监听器和 一些组件,还有其他容器. 事件和监听器:每按下一个按钮时,就会发生事件,想要对事件进行处理则需要对事件进行监听.监听器都 是监听接口实现的.本周学习了WindowListener和ActionListener这两个接口方法,WindowListener主要是针对 窗体事件的,ActionListener呐则是对一些动作进行反应处理,比如按按钮.监听适配器是为了解决监听器的抽 样方法过多的问题,比如

第十二周课程报告

实验内容:编写一个图形界面. 1.实验代码 package Rectangle; import java.awt.*; import javax.swing.*; public class ActionHandle { public static void main(String[] args) { JFrame frame=new JFrame("偷星九月天");//声明一个窗体对象 JButton submit=new JButton("登录");//声明一个按

第十二周课程总结

登录界面 实验代码 package demo7; import javax.swing.*; import java.awt.*; public class Denglu { JFrame frame; JButton reset,submit; JLabel namelb,passlb; JTextField name; JPasswordField jpf; public Denglu() { frame=new JFrame("登录界面"); reset=new JButton(

十二周课程总结

package main1; import javax.swing.*; class loginwindow{ private JFrame frame = new JFrame("登陆窗口"); //声明一个窗体对象 private JButton submit = new JButton("登陆"); //声明一个按钮 private JButton reset = new JButton("重置"); //声明一个按钮 private JL

2017-2018-1 《Linux内核原理与设计》第十二周作业

<linux内核原理与设计>第十二周作业 Sql注入基础原理介绍 分组: 和20179215袁琳完成实验 一.实验说明 ??SQL注入攻击通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,本章课程通过 LAMP 搭建 Sql 注入环境,两个实验分别介绍 Sql 注入爆破数据库.Sql 注入绕过验证两个知识点. 首先通过下面命令将代码下载到实验楼环境中,作为参照对比进行学习. $ wget http://labfil

第十二周进度条

第十二周          日期  星期一   星期二   星期三   星期四   星期五   星期六   星期日  了解到的知识点 js获取当前时间 var d = new Date() var nowYear = +d.getFullYear() EF框架填充下拉菜单 var model = db.GYSAllFoods.Select(m => new{GYS = m.GYS}).Distinct();//去重很关键            foreach (var item in model

学习进度第十二周

  第十二周 所花时间(包括上课) 11h(4h上课,7课下) 代码量(行) 220 博客量(篇) 1 了解到的知识点 这个星期主要进行了安卓实验和大作业的编写,从中学到了利用安卓SQLite 数据库 进行表的存储以及应用,按照教程成功编写了一个特别小的视频播放器,学会了进度 条等控件的使用.

学习进度-第十二周

  第十二周 所花时间(包括上课) 10小时 代码量(行) 48行 博客量(篇) 3篇 了解到的知识点

第十二周(补)

这几周有点心不在焉的,学习状态不好,作业都忘记写了,有的是存在记事本里忘记上传 周次 学习时间 新编写代码行数 博客量(数) 学到知识点 第十二周 6 80 1 html                               <html><head> <title> HTML</title></head><body > <h1>会员注册界面</h1><form action="proces