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

各种容器使用方法

如下代码:

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. EBS自动行号,行金额自动汇总到头,金额根据币种编号总结

    一.自动行号实现 1.方法一: 只需要将“序号”定义成公式,并将公式设置为:get_block_property('block_name',current_record)就可以实现了,或者把这行语句放 ...

  2. 使用.NET Core创建Windows服务(一) - 使用官方推荐方式

    原文:使用.NET Core创建Windows服务(一) - 使用官方推荐方式 原文:Creating Windows Services In .NET Core – Part 1 – The &qu ...

  3. Python 东方财富网-股市行情数据抓取

    东方财富网 股市行情数据抓取: http://quote.eastmoney.com/center/gridlist.html#hs_a_board 请求数据未入库处理,其中数据只存入数据文本,未做存 ...

  4. Clang调试CUDA代码

    Clang调试CUDA代码全过程 有空再进行编辑,最近有点忙,抱歉 使用的llvm4.0+Clang4.0的版本,依据的是上次发的llvm4.0和clang4.0源码安装的教程https://www. ...

  5. vim 搜索 向前,向后

    vim 搜索可以是 / 或者 ?,前者是往下找,后者是往前找. 用 n 查找下一个的时候,就和这两个指令指定的方向相同.如果你想改变方向的话,比如想往下找,那么 / 完了直接回车就行了.表示再次使用上 ...

  6. vue typescript curd

    用typescript 完成了一个页面 import { Component, Prop } from 'vue-property-decorator'; import Vue, { VNode } ...

  7. IIS 程序池优化配置方案

    内容目录 IIS 程序池优化配置方案IIS高并发配置一.IIS站点绑定程序池设置二.支持万级并发请求 IIS 程序池优化配置方案 最近由于系统的客户越来越多,有客户反映访问速度变慢,尤其是api的请求 ...

  8. service与pod关联

    当我们创建pod时,仅仅是创建了pod,要为其创建rc(ReplicationController),他才会有固定的副本,然后为其创建service,集群内部才能访问该pod,使用 NodePort ...

  9. (转) Linux安装启动FTP服务

    Linux安装启动FTP服务 Linux服务器默认是没有开启FTP服务的.也没有FTP服务器,为了文件的传输需要用到FTP服务器,以典型的vsftpd为例.vsftpd作为FTP服务器,在Linux系 ...

  10. 有关List、Set、Map的基础了解

           刚申请了一个博客,怀着一颗激动的心情我竟不知道写点啥,嗯~来点基础的吧!面试的时候一直被问到的集合框架.        集合,也称为容器,可以将一系列元素组合成一个单元,用于存储.提取. ...