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

  1. 嵌套窗体

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();

    }

}

  1. 设置标签中的字体

int size=14;
label.setFont(new Font("Serif",Font.PLAIN,size));

  1. 如何在jlabel中设置文本的换行

String info="<html>你的ID号是:"+user.getId()+"<br/>"+"你的用户名是:"+user.getName()+"</html>";

Label.settext(info);

  1. 类型转换异常

    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.子类的实例向父类转型是为了实现多态。

     
     

  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"));

  1. 在panel里面设置背景图片

Java每日学习笔记1的更多相关文章

  1. 20145213《Java程序设计学习笔记》第六周学习总结

    20145213<Java程序设计学习笔记>第六周学习总结 说在前面的话 上篇博客中娄老师指出我因为数据结构基础薄弱,才导致对第九章内容浅尝遏止地认知.在这里我还要自我批评一下,其实我事后 ...

  2. [原创]java WEB学习笔记95:Hibernate 目录

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  3. java JDK8 学习笔记——助教学习博客汇总

    java JDK8 学习笔记——助教学习博客汇总 1-6章 (by肖昱) Java学习笔记第一章——Java平台概论 Java学习笔记第二章——从JDK到IDEJava学习笔记第三章——基础语法Jav ...

  4. java JDK8 学习笔记——第16章 整合数据库

    第十六章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API中的接口会有数据库厂商操作,称为JDBC驱动程 ...

  5. [原创]java WEB学习笔记75:Struts2 学习之路-- 总结 和 目录

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  6. [原创]java WEB学习笔记66:Struts2 学习之路--Struts的CRUD操作( 查看 / 删除/ 添加) 使用 paramsPrepareParamsStack 重构代码 ,PrepareInterceptor拦截器,paramsPrepareParamsStack 拦截器栈

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  7. Android(java)学习笔记267:Android线程池形态

    1. 线程池简介  多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力.     假设一个服务器完成一项任务所需时间为:T1 创建线程时间, ...

  8. java多线程学习笔记——详细

    一.线程类  1.新建状态(New):新创建了一个线程对象.        2.就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法.该状态的线程位于可运行线程池中, ...

  9. Android(java)学习笔记207:开源项目使用之gif view

    1. 由于android没有自带的gif动画,我在Android(java)学习笔记198:Android下的帧动画(Drawable Animation) 播客中提到可以使用AnimationVie ...

随机推荐

  1. 与数论的爱恨情仇--01:判断大素数的Miller-Rabin

    在我们需要判断一个数是否是素数的时候,最容易想到的就是那个熟悉的O(√n)的算法.那个算法非常的简单易懂,但如果我们仔细想想,当n这个数字很大的时候,这个算法其实是不够用的,时间复杂度会相对比较高. ...

  2. nor flash启动与nand flash启动的区别

    1)接口区别:NOR FLASH地址线和数据线分开,来了地址和控制信号,数据就出来.NAND Flash地址线和数据线在一起,需要用程序来控制,才能出数据.通俗的说,就是光给地址不行,要先命令,再给地 ...

  3. jQuery学习-事件绑定

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. Failed to chmod /Users/fei/Library/Developer/CoreSimulator/Devices/DB5AC3C0错误的解决办法

    当XCode遇到此问题的时候,可通过重启模拟器和XCode来解决,拿走不谢

  5. 总结几种常见web攻击手段及其防御方式

    本文简单介绍几种常见的攻击手段及其防御方式 XSS(跨站脚本攻击) CSRF(跨站请求伪造) SQL注入 DDOS web安全系列目录 总结几种常见web攻击手段极其防御方式 总结几种常见的安全算法 ...

  6. java并发编程——并发容器

    概述 java cocurrent包提供了很多并发容器,在提供并发控制的前提下,通过优化,提升性能.本文主要讨论常见的并发容器的实现机制和绝妙之处,但并不会对所有实现细节面面俱到. 为什么JUC需要提 ...

  7. Jenkins +svn +maven +tomcat+ ansible 自动化批量部署

    Jenkins +svn +maven +tomcat+ ansible 自动化批量部署 一.部署svn yum install subversion 先创建目录 mkdir /home/svn 创建 ...

  8. c++的重载 缺省参数和命名空间详解

    参加了几次笔试,发现有很多c++方面的问题被卡了.从现在开始进攻c++.之后会陆续更新c++学习笔记. 先说说我学习的书籍,大家如果有好的书籍推荐,感谢留言. 暂时是在看这些书自学. 1.C++介绍. ...

  9. ES6的promise函数用法讲解

    总结:Promise函数的出现极大的解决了Js中的异步调用代码逻辑编写太过复杂的问题,Promise对象让异步调用函数的流程显得更加的优雅,也更容易编写. 举例: 1. 异步调用: 假设现在我的一个页 ...

  10. Xshell6远程访问linux及Xftp6远程针对linux系统中文件操作(附图文详解)

    1.首先我们需要先做好前期准备工作,需要到XManager6官网上将Xshell及Xftp下载并安装,安装过程一直下一步就好了.这里是其官网:http://www.xshellcn.com/.安装完成 ...