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

各种容器使用方法

如下代码:

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 } }

运行结果

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

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

  1. 20155301第十二周java课程程序

    20155301第十二周java课程程序 内容一:在IDEA中以TDD的方式对String类和Arrays类进行学习 测试相关方法的正常,错误和边界情况 String类 charAt split Ar ...

  2. C语言程序设计I—第十二周教学

    第十二周教学总结(19/11-25/11) 教学内容 第4章 循环结构 4.5 循环结构程序设计 课前准备 在蓝墨云班课发布资源: PTA:2018秋第十二周作业4.5 分享码:B7FA52A13B6 ...

  3. 第十二周作业_PSP总结报告

    回顾1 (1)回想一下你曾经对计算机专业的畅想 当初你是如何做出选择计算机专业的决定的?经过一个学期,你的看法改变了么,为什么? 你认为过去接触到的课程是否符合你对计算机专业的期待,为什么?经过一个学 ...

  4. 20145302张薇《Java程序设计》第十六周课程总结

    20145302 <Java程序设计>第十六周课程总结 实验报告链接汇总 实验一 Java开发环境的熟悉 实验二 Java面向对象程序设计 实验三 敏捷开发与XP实践 实验四 Andoid ...

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

    <linux内核原理与设计>第十二周作业 Sql注入基础原理介绍 分组: 和20179215袁琳完成实验 一.实验说明   SQL注入攻击通过构建特殊的输入作为参数传入Web应用程序,而这 ...

  6. 201871010123-吴丽丽《面向对象程序设计(Java)》第十二周学习总结

    201871010123-吴丽丽<面向对象程序设计(Java)>第十二周学习总结 项目 内容 这个作业属于哪个课程  https://www.cnblogs.com/nwnu-daizh/ ...

  7. 201871010106-丁宣元 《面向对象程序设计(java)》第十二周学习总结

    201871010106-丁宣元 <面向对象程序设计(java)>第十二周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nw ...

  8. 201271050130-滕江南-《面向对象程序设计(java)》第十二周学习总结

    201271050130-滕江南-<面向对象程序设计(java)>第十二周学习总结 项       目 内      容 这个作业属于哪个课程 https://www.cnblogs.co ...

  9. 201871010109-胡欢欢《面向对象程序设计(java)》第十二周学习总结

    201871010109-胡欢欢<面向对象程序设计(java)>第十二周学习总结   内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这 ...

随机推荐

  1. vue cli更新

    关于旧版本 Vue CLI 的包名称由 vue-cli 改成了 @vue/cli. 如果你已经全局安装了旧版本的 vue-cli (1.x 或 2.x),你需要先通过 npm uninstall vu ...

  2. 异常-throw的概述以及和throws的区别

    package cn.itcast_06; /* * throw:如果出现了异常情况,我们可以把该异常抛出,这个时候的抛出的应该是异常的对象. * * throws和throw的区别(面试题) thr ...

  3. springboot(二十二)-sharding-jdbc-读写分离

    前面我们使用sharding-jdbc配置了分库分表.sharding-jdbc还有个用法,就是实现读写分离. 什么时候需要或者可以使用读写分离? 当我们的项目所使用的数据库查询的访问量,访问频率,及 ...

  4. Spark查询yarn任务日志

    查看日志:yarn logs -applicationId application_xxx 导入到外部文件 yarn logs -applicationId application_xxx >& ...

  5. Rasa学习记录 01

    目录 Rasa的安装和简单的测试 什么是Rasa: 安装Rasa: 测试自带的数据 查看项目里的文件内容 举一反三(自己的第一个机器人) Rasa的安装和简单的测试 怪雨是新手,刚刚接触Rasa,以下 ...

  6. 小米Air安装Arch Linux之图形界面配置(Gnome 和 sway)持续更新中……

    0. 前言 上一篇文章简单讲述了在小米Air上安装Arch Linux的经验,但是安装完后基本系统后,还需要额外的配置才能进到日常使用.下文简单列举一些步骤. 1. 参考网站 主要还是参考ARCH W ...

  7. 标准C语言(11)

    多文件编程时一个文件里可以包含多个函数,一个函数只能属于一个文件 /* * 多文件编程演示 * */ #include <stdio.h> #include "01add.h&q ...

  8. dfs序 线段树 dfs序列 主席树

    并查集 #include<stdio.h> ]; void sset(int x) { ;i<=x;i++) stt[i]=i; } int ffind(int x) { if(x= ...

  9. GitHub入门和项目托管

    (博主原创文章,转载请注明出处: http://www.cnblogs.com/xianlei/git) 前言: 本文目标: Git入门,能够在Github托管项目,能够进行实际项目开发 本文主要内容 ...

  10. mysql之单表条件查询

    create table staff_info( id int primary key auto_increment, name varchar(32) not null, age int(3) un ...