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
}
}
运行结果

还有学习了监听适配器对于窗口,本周还是主要就是对图形界面进行了进一步的学习
2019java第十二周课程总结的更多相关文章
- 20155301第十二周java课程程序
20155301第十二周java课程程序 内容一:在IDEA中以TDD的方式对String类和Arrays类进行学习 测试相关方法的正常,错误和边界情况 String类 charAt split Ar ...
- C语言程序设计I—第十二周教学
第十二周教学总结(19/11-25/11) 教学内容 第4章 循环结构 4.5 循环结构程序设计 课前准备 在蓝墨云班课发布资源: PTA:2018秋第十二周作业4.5 分享码:B7FA52A13B6 ...
- 第十二周作业_PSP总结报告
回顾1 (1)回想一下你曾经对计算机专业的畅想 当初你是如何做出选择计算机专业的决定的?经过一个学期,你的看法改变了么,为什么? 你认为过去接触到的课程是否符合你对计算机专业的期待,为什么?经过一个学 ...
- 20145302张薇《Java程序设计》第十六周课程总结
20145302 <Java程序设计>第十六周课程总结 实验报告链接汇总 实验一 Java开发环境的熟悉 实验二 Java面向对象程序设计 实验三 敏捷开发与XP实践 实验四 Andoid ...
- 2017-2018-1 《Linux内核原理与设计》第十二周作业
<linux内核原理与设计>第十二周作业 Sql注入基础原理介绍 分组: 和20179215袁琳完成实验 一.实验说明 SQL注入攻击通过构建特殊的输入作为参数传入Web应用程序,而这 ...
- 201871010123-吴丽丽《面向对象程序设计(Java)》第十二周学习总结
201871010123-吴丽丽<面向对象程序设计(Java)>第十二周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...
- 201871010106-丁宣元 《面向对象程序设计(java)》第十二周学习总结
201871010106-丁宣元 <面向对象程序设计(java)>第十二周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nw ...
- 201271050130-滕江南-《面向对象程序设计(java)》第十二周学习总结
201271050130-滕江南-<面向对象程序设计(java)>第十二周学习总结 项 目 内 容 这个作业属于哪个课程 https://www.cnblogs.co ...
- 201871010109-胡欢欢《面向对象程序设计(java)》第十二周学习总结
201871010109-胡欢欢<面向对象程序设计(java)>第十二周学习总结 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这 ...
随机推荐
- vue cli更新
关于旧版本 Vue CLI 的包名称由 vue-cli 改成了 @vue/cli. 如果你已经全局安装了旧版本的 vue-cli (1.x 或 2.x),你需要先通过 npm uninstall vu ...
- 异常-throw的概述以及和throws的区别
package cn.itcast_06; /* * throw:如果出现了异常情况,我们可以把该异常抛出,这个时候的抛出的应该是异常的对象. * * throws和throw的区别(面试题) thr ...
- springboot(二十二)-sharding-jdbc-读写分离
前面我们使用sharding-jdbc配置了分库分表.sharding-jdbc还有个用法,就是实现读写分离. 什么时候需要或者可以使用读写分离? 当我们的项目所使用的数据库查询的访问量,访问频率,及 ...
- Spark查询yarn任务日志
查看日志:yarn logs -applicationId application_xxx 导入到外部文件 yarn logs -applicationId application_xxx >& ...
- Rasa学习记录 01
目录 Rasa的安装和简单的测试 什么是Rasa: 安装Rasa: 测试自带的数据 查看项目里的文件内容 举一反三(自己的第一个机器人) Rasa的安装和简单的测试 怪雨是新手,刚刚接触Rasa,以下 ...
- 小米Air安装Arch Linux之图形界面配置(Gnome 和 sway)持续更新中……
0. 前言 上一篇文章简单讲述了在小米Air上安装Arch Linux的经验,但是安装完后基本系统后,还需要额外的配置才能进到日常使用.下文简单列举一些步骤. 1. 参考网站 主要还是参考ARCH W ...
- 标准C语言(11)
多文件编程时一个文件里可以包含多个函数,一个函数只能属于一个文件 /* * 多文件编程演示 * */ #include <stdio.h> #include "01add.h&q ...
- dfs序 线段树 dfs序列 主席树
并查集 #include<stdio.h> ]; void sset(int x) { ;i<=x;i++) stt[i]=i; } int ffind(int x) { if(x= ...
- GitHub入门和项目托管
(博主原创文章,转载请注明出处: http://www.cnblogs.com/xianlei/git) 前言: 本文目标: Git入门,能够在Github托管项目,能够进行实际项目开发 本文主要内容 ...
- mysql之单表条件查询
create table staff_info( id int primary key auto_increment, name varchar(32) not null, age int(3) un ...