1.JAVA_HOME只是为了保存安装路径,完全可以换成其他的,再使用%JAVA_HOME%引用,只不过第三方软件默认使用了JAVA_HOME
2.palette:调色板,又叫组件管理器
3.Jlabel只用于显示文字和图像,在界面设计器里其text属性是显示中文名字的;Variable显示当前的组件caption,也可以用英文设置。
4.单击窗体的标题栏选择整个窗体,其他部分只选择了内容面板;也可以在Structure里面直接选择相应的名字。
5.引入和管理库最好的是添加用户库,然后在工程上右键选择构建路径--添加库。
6.在一个工程里引用另一个工程的类,则右键--构建路径--配置构建路径--库--添加类文件夹(选择的是bin,不是src);还可以添加依赖项目,这样是引入了所有的claa和相关jar。
7.
1 import java.util.Calendar; 2 import java.util.Date; 3 4 public class Test1 { 5 6 public static void main(String[] args) { 7 // TODO Auto-generated method stub 8 Date date = new Date(); 9 Calendar cal = Calendar.getInstance(); 10 cal.setTime(date); 11 int c = cal.get(Calendar.DAY_OF_WEEK); 12 if(Calendar.MONDAY == c) { 13 System.out.println("星期一"); 14 }else { 15 System.out.println("非星期一"); 16 } 17 System.out.println(date); 18 } 19 }
8.重写Date类的toString
1 package a; 2 3 import java.util.Calendar; 4 import java.util.Date; 5 6 public class TestT extends Date{ 7 8 private static final long serialVersionUID = 8025524497773683396L; 9 static Date date= null; 10 public static void main(String[] args) { 11 date = new TestT(); 12 System.out.println(date.toString()); 13 } 14 15 @Override 16 public String toString(){ 17 Calendar calendar = Calendar.getInstance(); 18 calendar.setTime(new Date()); 19 int day = calendar.get(Calendar.DAY_OF_WEEK); 20 String weekDay = ""; 21 if(day==Calendar.SUNDAY){ 22 weekDay = "星期天"; 23 }else if(day==Calendar.SATURDAY){ 24 weekDay = "星期六"; 25 } 26 /* 27 * 因为要返回String类型,而Calendar.get返回的是int,我原来把其强转为String结果CE了,使用下面的方式就行了 28 * 另外calendar.get(Calendar.MONTH)返回的月份貌似少了一 29 */ 30 return calendar.get(Calendar.YEAR)+":"+(calendar.get(Calendar.MONTH)+1) + ":" + calendar.get(Calendar.DAY_OF_MONTH) + ":" + weekDay; 31 } 32 }
9.提示框使用JOptionpane相关方法。
10.在Eclipse里只要保存后那么就自动生成了对应的class文件。
11.字母数字下划线或者$但不能以数字开头,不能有空格;所以user_name对,user name错。
12.全局变量又称为成员变量;局部变量可以和全局变量同名,此时全被屏蔽,不过可以使用this访问。
13.Arrays有静态方法fill(数组名,start,end,值),中间的两个参数可以不要;
14.当局部变量和成员变量同名时使用this访问成员变量。
15.import static java.lang.System.out;使用时直接out.println();提防含糊不清的命名static成员。例如,如果你对Integer类和Long类执行了静态导入,引用MAX_VALUE将导致一个编译器错误,因为Integer
和Long都有一个MAX_VALUE常量,并且Java不会知道你在引用哪个MAX_VALUE。 你可以在static对象引用、常量(记住,它们是static 或final)和static方法上进行静态导入。
16.static块在类加载时执行且仅执行一次,调用构造方法时先执行static块,不过再次调用就不执行了,一般用于初始化工作;主类里边main方法执行前也先要执行该静态代码块。
17.字符ASCII码转换器
1 package a; 2 3 import java.awt.BorderLayout; 4 import java.awt.EventQueue; 5 6 import javax.swing.JFrame; 7 import javax.swing.JPanel; 8 import javax.swing.border.EmptyBorder; 9 import javax.swing.JToolBar; 10 import javax.swing.JTextField; 11 import javax.swing.JButton; 12 import java.awt.event.ActionListener; 13 import java.awt.event.ActionEvent; 14 import javax.swing.JLabel; 15 import java.awt.CardLayout; 16 import java.awt.FlowLayout; 17 import java.awt.event.MouseAdapter; 18 import java.awt.event.MouseEvent; 19 20 public class Asc extends JFrame { 21 22 private JPanel contentPane; 23 private JTextField textField; 24 private JTextField textField_1; 25 26 /** 27 * Launch the application. 28 */ 29 public static void main(String[] args) { 30 EventQueue.invokeLater(new Runnable() { 31 public void run() { 32 try { 33 Asc frame = new Asc(); 34 frame.setTitle("字符ASCII码转换器"); 35 frame.setVisible(true); 36 } catch (Exception e) { 37 e.printStackTrace(); 38 } 39 } 40 }); 41 } 42 43 /** 44 * Create the frame. 45 */ 46 public Asc() { 47 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 48 setBounds(100, 100, 450, 300); 49 contentPane = new JPanel(); 50 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); 51 contentPane.setLayout(new BorderLayout(0, 0)); 52 setContentPane(contentPane); 53 54 JPanel panel = new JPanel(); 55 contentPane.add(panel, BorderLayout.NORTH); 56 57 JLabel lblNewLabel = new JLabel("\u8F93\u5165\u5B57\u7B26\uFF1A"); 58 panel.add(lblNewLabel); 59 60 textField = new JTextField(); 61 panel.add(textField); 62 textField.setColumns(10); 63 64 final JLabel lblNewLabel_2 = new JLabel("\u663E\u793A\u7ED3\u679C:"); 65 panel.add(lblNewLabel_2); 66 67 final JLabel lblNewLabel_3 = new JLabel(""); 68 panel.add(lblNewLabel_3); 69 70 JButton btnNewButton = new JButton("\u8F6C\u6362"); 71 btnNewButton.addMouseListener(new MouseAdapter() { 72 @Override 73 public void mouseClicked(MouseEvent arg0) { 74 String ascii = textField.getText(); 75 // 返回 char 数组的给定索引上的代码点。 76 //字符串不能直接转换为char 77 char[] arr = ascii.toCharArray(); 78 int i = (int)arr[0]; 79 lblNewLabel_3.setText(""+i); 80 } 81 }); 82 panel.add(btnNewButton); 83 84 JPanel panel_1 = new JPanel(); 85 contentPane.add(panel_1, BorderLayout.CENTER); 86 panel_1.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5)); 87 88 final JLabel lblNewLabel_1 = new JLabel("\u8F93\u5165\u6570\u5B57\uFF1A"); 89 panel_1.add(lblNewLabel_1); 90 91 textField_1 = new JTextField(); 92 panel_1.add(textField_1); 93 textField_1.setColumns(10); 94 95 JButton btnNewButton_1 = new JButton("\u8F6C\u6362"); 96 97 btnNewButton_1.addActionListener(new ActionListener() { 98 public void actionPerformed(ActionEvent arg0) { 99 100 } 101 }); 102 103 JLabel lblNewLabel_4 = new JLabel("\u663E\u793A\u7ED3\u679C:"); 104 panel_1.add(lblNewLabel_4); 105 106 final JLabel lblNewLabel_5 = new JLabel(""); 107 panel_1.add(lblNewLabel_5); 108 panel_1.add(btnNewButton_1); 109 btnNewButton_1.addMouseListener(new MouseAdapter() { 110 @Override 111 public void mouseClicked(MouseEvent arg0) { 112 String ch = textField_1.getText(); 113 // char[] arr = ch.toCharArray(); 114 //不行因为,假如输入了89,那么arr[0]为8,arr[1]为9 115 // System.out.println(arr[0]); 116 // lblNewLabel_5.setText(""+(char)arr[0]); 117 int i = Integer.parseInt(ch); 118 lblNewLabel_5.setText(""+(char)i); 119 120 } 121 }); 122 } 123 124 }