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/ 这 ...
随机推荐
- [转载]java匿名对象
来源:https://blog.csdn.net/qiaoquan3/article/details/53300248 匿名对象:没有名字的对象:new Car(); //匿名对象其实就是定义对象的 ...
- springboot日志框架学习------slf4j和log4j2
springboot日志框架学习------slf4j和log4j2 日志框架的作用,日志框架就是用来记录系统的一些行为的,可以通过日志发现一些问题,在出现问题之后日志是好的一个帮手. 市面上的日志框 ...
- springboot(十七)-使用Docker部署springboot项目
Docker 技术发展为微服务落地提供了更加便利的环境,使用 Docker 部署 Spring Boot 其实非常简单,这篇文章我们就来简单学习下. 首先构建一个简单的 Spring Boot 项目, ...
- PHP--API
PHP所有能力都是函数,内置1000多个函数,不是每一个函数都默认直接可以使用,有一些需要安装或者启用额外的“插件”扩展. 1,获取字符串长度 <?php $str='hello'; echo ...
- Redis总结1
一.Redis安装(Linux) 1.在官网上下载Linux版本的Redis(链接https://redis.io/download) 2.在Linux的/usr/local中创建Redis文件夹mk ...
- Hyperledger Fabric(1)基础架构
前言 在区块链的家谱里,第一代区块链系统是以比特币为代表的公链,主要实现的是数字货币的功能:第二代区块链系统是以以太坊平台为代表的公链,创造性的实现了智能合约.而第三代区块链系统,则是HyperLed ...
- liboqs-量子安全密码算法开源C库
liboqs是一个用于量子安全密码算法的开源C库. 一,概述 liboqs提供: 量子安全 密钥封装机制(KEM)和数字签名算法的开源实现的集合: 这些算法的通用API: 测试工具和基准测试例程. l ...
- PL/SQL题型代码示例
1.记录类型(注意标点符号的使用) 结果: 2.学习流程 3. 4. 5. 6. 写法二: 结果: 写法三: 7.使用循环语句打印1-100 方法一: 或者 方法二: 方法三: 8. 方法二: 9. ...
- Windows Electron初探
最近闲来无事,玩玩electron. 1.安装nodejs 下载地址:http://nodejs.cn/download/,下载64位.安装完成后,打开C:\Program Files\nodejs\ ...
- Python time、datetime、os、random、sys、hashlib、json、shutil、logging、paramiko、subprocess、ConfigParser、xml、shelve模块的使用
文章目录: 1. time & datetime模块 2. os模块 3. random模块 4. sys模块 5. hashlib模块 6. json模块 7. shutil模块 8. lo ...