Java每日学习笔记1
- 单选按钮
|
JRadioButton radioButton1 = new JRadioButton("Java");// 创建单选按钮 contentPane.add(radioButton1);// 应用单选按钮
JRadioButton radioButton2 = new JRadioButton("PHP");// 创建单选按钮 contentPane.add(radioButton2);// 应用单选按钮
JRadioButton radioButton3 = new JRadioButton("C++");// 创建单选按钮 contentPane.add(radioButton3);// 应用单选按钮
ButtonGroup group = new ButtonGroup();// 创建单选按钮组 group.add(radioButton1);// 将radioButton1增加到单选按钮组中 group.add(radioButton2);// 将radioButton2增加到单选按钮组中 group.add(radioButton3);// 将radioButton |
- 嵌套窗体
|
package com.pcx.test; import java.awt.*; import java.awt.event.*; import javax.swing.*;
public class TestInternalFrame { final int DESKTOP_WIDTH = 480; final int DESKTOP_HEIGHT = 360; final int FRAME_DISTANCE = 30;
JFrame jf = new JFrame("父窗口"); // 定义一个虚拟桌面 private JDesktopPane desktop = new JDesktopPane(); // 保存下一个内部窗口的座标点 private int nextFrameX; private int nextFrameY; // 定义内部窗口为虚拟桌面的1/2大小 private int width = DESKTOP_WIDTH / 2; private int height = DESKTOP_HEIGHT / 2; // 为主窗口定义2个菜单 JMenu fileMenu = new JMenu("文件"); // 定义newAction用于创建菜单和工具按钮 Action newAction = new AbstractAction("新建", new ImageIcon("ico/new.png")) { public void actionPerformed(ActionEvent event) { // 创建内部窗口 final JInternalFrame iframe = new JInternalFrame("新文档", true, // 可改变大小 true, // 可关闭 true, // 可最大化 true); // 可最小化 iframe.add(new JScrollPane(new JTextArea(8, 40))); // 将内部窗口添加到虚拟桌面中 desktop.add(iframe); // 设置内部窗口的原始位置(内部窗口默认大小是0X0,放在0,0位置) iframe.reshape(nextFrameX, nextFrameY, width, height); // 使该窗口可见,并尝试选中它 iframe.show(); // 计算下一个内部窗口的位置 nextFrameX += FRAME_DISTANCE; nextFrameY += FRAME_DISTANCE; if (nextFrameX + width > desktop.getWidth()) nextFrameX = 0; if (nextFrameY + height > desktop.getHeight()) nextFrameY = 0; } }; // 定义exitAction用于创建菜单和工具按钮 Action exitAction = new AbstractAction("退出", new ImageIcon("ico/exit.png")) { public void actionPerformed(ActionEvent event) { System.exit(0); } };
public void init() { // 为窗口安装菜单条和工具条 JMenuBar menuBar = new JMenuBar(); JToolBar toolBar = new JToolBar(); jf.setJMenuBar(menuBar); menuBar.add(fileMenu); fileMenu.add(newAction); fileMenu.add(exitAction); toolBar.add(newAction); toolBar.add(exitAction); desktop.setPreferredSize(new Dimension(480, 360)); // 将虚拟桌面添加到顶级JFrame容器中 jf.add(desktop); jf.add(toolBar, BorderLayout.NORTH); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jf.pack(); jf.setVisible(true); }
public static void main(String[] args) { new TestInternalFrame().init(); } } |
- 设置标签中的字体
|
int size=14; |
- 如何在jlabel中设置文本的换行
|
String info="<html>你的ID号是:"+user.getId()+"<br/>"+"你的用户名是:"+user.getName()+"</html>"; Label.settext(info); |
- 类型转换异常
public class Test {
public static void main(String[] args){
Animal cat=new Cat();
Animal dog=new Dog();
Object b=new Animal();
Object d=new Cat();
displayObject(cat);
displayObject(dog);
// Cat c=(Cat)b; //Animal cannot be cast to Cat
// Cat cc=d;//cannot convert from Object to Cat
Cat ee=(Cat)d;
cat.output();//if the method output() is undefined in class Cat,then the output would be "I am an animal"
// a.speak(); //the method speak() is undefined for the type Animal
}
public static void displayObject(Object obj){
if(obj instanceof Cat)
((Cat) obj).speak();
else if(obj instanceof Dog)
((Dog)obj).speak();
}
}
class Animal{
void output(){
System.out.println("I am an animal");
}
}
class Cat extends Animal{
void speak(){
System.out.println("喵喵~");
}
void output(){
System.out.println("I am a cat");
}
}
class Dog extends Animal{
void speak(){
System.out.println("汪汪~");
}
void output(){
System.out.println("I am a dog");
}
}通过该程序,我有如下理解:
1.父类对象可以强制转换为子类对象,但是前提是此父类对象为子类对象实例化的结果。
e.g. Fruit fruit=new Apple();
Apple a=(Apple)fruit;//ok
e.g. 假设Apple类继承于Fruit类,
Object fruit=new Fruit();
Object apple=(Apple)fruit;//wrong
2.子类的实例向父类转型是为了实现多态。
- 图片文本最佳的封装方案
|
background2 = new JLabel(new ImageIcon( MainUI.class.getResource("/com/nt/image/main.gif"))); Random rd = new Random(); stream = MainUI.class.getResourceAsStream("/com/nt/file/" + rd.nextInt(19) + ".txt"); try { read = new BufferedReader(new InputStreamReader(stream, "GBK")); |
- 在panel里面设置背景图片
|
|
Java每日学习笔记1的更多相关文章
- 20145213《Java程序设计学习笔记》第六周学习总结
20145213<Java程序设计学习笔记>第六周学习总结 说在前面的话 上篇博客中娄老师指出我因为数据结构基础薄弱,才导致对第九章内容浅尝遏止地认知.在这里我还要自我批评一下,其实我事后 ...
- [原创]java WEB学习笔记95:Hibernate 目录
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- java JDK8 学习笔记——助教学习博客汇总
java JDK8 学习笔记——助教学习博客汇总 1-6章 (by肖昱) Java学习笔记第一章——Java平台概论 Java学习笔记第二章——从JDK到IDEJava学习笔记第三章——基础语法Jav ...
- java JDK8 学习笔记——第16章 整合数据库
第十六章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API中的接口会有数据库厂商操作,称为JDBC驱动程 ...
- [原创]java WEB学习笔记75:Struts2 学习之路-- 总结 和 目录
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- [原创]java WEB学习笔记66:Struts2 学习之路--Struts的CRUD操作( 查看 / 删除/ 添加) 使用 paramsPrepareParamsStack 重构代码 ,PrepareInterceptor拦截器,paramsPrepareParamsStack 拦截器栈
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- Android(java)学习笔记267:Android线程池形态
1. 线程池简介 多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力. 假设一个服务器完成一项任务所需时间为:T1 创建线程时间, ...
- java多线程学习笔记——详细
一.线程类 1.新建状态(New):新创建了一个线程对象. 2.就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法.该状态的线程位于可运行线程池中, ...
- Android(java)学习笔记207:开源项目使用之gif view
1. 由于android没有自带的gif动画,我在Android(java)学习笔记198:Android下的帧动画(Drawable Animation) 播客中提到可以使用AnimationVie ...
随机推荐
- [原创]升级Gerrit的commit-msg,检查git commit时必须填写开发任务编号TaskID
公司使用git+gerrit+jenkins进行持续集成实践,其中gerrit用来进行Code Review.另外我们自己研发了一套敏捷项目管理系统TPM(TeamPlus Management),用 ...
- Liunx信息显示与文件搜索
. uname 显示系统相关信息,如内核版本号,硬件架构 -a # 显示系统所有相关信息 -m # 显示计算机硬件架构 -n # 显示主机名称 -r # 显示内核发行版本号 -s # 显示内核名称 - ...
- 20155239吕宇轩 Linux下IPC机制
20155239吕宇轩 Linux下IPC机制 - 共享内存 原理:把所有需要使用的共享数据都存放在共享内存 区域中,任何想要访问这些共享数据的进程都必须在自己的进程地址空间中新增加一块内存区域,用来 ...
- 2017-2018-3 20155337《信息安全系统设计基础》 pwd指令学习
2017-2018-3 20155337<信息安全系统设计基础> pwd指令学习 任务要求 学习pwd指令 研究pwd实现需要的系统调用(man -k:grep),写出伪代码 实现mypw ...
- [FJOI2015]火星商店问题
[FJOI2015]火星商店问题 神仙线段树分治...不过我不会. 这题用线段树套可持久化Trie还是能写的. 常数有点大,洛谷垫底水平. // luogu-judger-enable-o2 #inc ...
- eclipse下载与安装并测试
下载地址:www.ecplise.org 下载完成后双击安装 安装完成之后,第一次运行eclipse会弹出Workspace Launcher对话框,要求设置工作空间存放项目文档. ...
- c# url链接转成二维码图片,再转成byte[]二进制流,输出到前段ajax
需要用到的 dll 添加引用 代码: //获取配置文件设置的url string urllink = ConfigurationManager.AppSettings["urllink&qu ...
- 浅谈HTTP中GET和POST请求方式的区别
浅谈HTTP中GET和POST请求的区别 HTTP认知: HTTP是基于TCP/IP的关于数据如何在万维网中如何通信的协议.HTTP的底层是TCP/IP.所以GET和POST的底层也是TCP/IP,也 ...
- c#简易学生信息管理系统
在近期的学习中,我们学习了泛型及泛型集合的概念和使用,泛型是c#中的一个重要概念,为了巩固我们学习的成果,我们可以使用一个实例来进行练习 题目及要求 要求使用Windows窗体应用程序,制作出如上图的 ...
- Unity2018 Shader Graph 实验室
Unity2018 Shader Graph 实验室 Shader Shader Graph Unity Tips: -- 在shader forge和amplyfy Shader节点图形化shad ...
