eclipse中代码对齐快捷键
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Calc1 extends JFrame implements ActionListener {
String[] KEYS = { "1", "2", "3", "+", "4", "5", "6", "-",
"7", "8", "9", "*", "0", ".", "/", "=" };
JButton keys[] = new JButton[KEYS.length];
JButton jbClean = new JButton("clean");
JTextField resultText = new JTextField("0", 10);
// 标志用户按的是否是整个表达式的第一个数字,或者是运算符后的第一个数字
private boolean firstDigit = true;
// 计算的中间结果。
private double resultNum = 0.0;
// 当前运算的运算符
private String operator = "=";
// 操作是否合法
private boolean operateValidFlag = true;
public Calc1() {
init();
// 设置计算器的背景颜色
this.setBackground(Color.LIGHT_GRAY);
this.setTitle("计算器");
// 在屏幕(500, 300)坐标处显示计算器
this.setLocation(500, 300);
// 允许修改计算器的大小
this.setResizable(true);
//设置可见
this.setVisible(true);
// 使计算器中各组件大小合适
this.pack();
}
private void init() {
// 文本框中的内容采用右对齐方式
resultText.setHorizontalAlignment(JTextField.RIGHT);
// 不允许修改结果文本框
resultText.setEditable(false);
// 设置文本框背景颜色为白色
resultText.setBackground(Color.WHITE);
JPanel toppanel=new JPanel();
toppanel.add(resultText);
jbClean.setForeground(Color.red);
toppanel.add(jbClean);
JPanel calckeysPanel = new JPanel();
calckeysPanel.setLayout(new GridLayout(4, 4));
for(int i=0;i<KEYS.length;i++) {
keys[i] = new JButton(KEYS[i]);
calckeysPanel.add(keys[i]);
keys[i].setForeground(Color.blue);
}
//设置监听
for(int i=0;i<KEYS.length;i++) {
keys[i].addActionListener(this);
}
jbClean.addActionListener(this);
this.setLayout(new BorderLayout());
this.add(toppanel,BorderLayout.NORTH);
this.add(calckeysPanel, BorderLayout.CENTER);
}
//时间监听
@Override
public void actionPerformed(ActionEvent e) {
// 获取事件源的标签
String label = e.getActionCommand();
if ("0123456789.".indexOf(label) >= 0) {
// 用户按了数字键或者小数点键
handleNumber(label);
} else if(label=="clean") {
// 用户按了运算符键
resultText.setText("");
}else {
//用户按下了运算符键
handleOperator(label);
}
}
/**
* 处理数字键被按下的事件
*
* @param key
*/
private void handleNumber(String key) {
if (firstDigit) {
// 输入的第一个数字
resultText.setText(key);
} else if ((key.equals(".")) && (resultText.getText().indexOf(".") < 0)) {
// 输入的是小数点,并且之前没有小数点,则将小数点附在结果文本框的后面
resultText.setText(resultText.getText() + ".");
} else if (!key.equals(".")) {
// 如果输入的不是小数点,则将数字附在结果文本框的后面
resultText.setText(resultText.getText() + key);
}
// 以后输入的肯定不是第一个数字了
firstDigit = false;
}
/**
* 处理运算符键被按下的事件
*
* @param key
*/
private void handleOperator(String key) {
if (operator.equals("/")) {
// 除法运算
// 如果当前结果文本框中的值等于0
if (getNumberFromText() == 0.0) {
// 操作不合法
operateValidFlag = false;
resultText.setText("除数不能为零");
} else {
resultNum /= getNumberFromText();
}
} else if (operator.equals("+")) {
// 加法运算
resultNum += getNumberFromText();
} else if (operator.equals("-")) {
// 减法运算
resultNum -= getNumberFromText();
} else if (operator.equals("*")) {
// 乘法运算
resultNum *= getNumberFromText();
} else if(operator.equalsIgnoreCase("/")) {
//除法运算
resultNum=getNumberFromText();
}
else if (operator.equals("=")) {
// 赋值运算
resultNum = getNumberFromText();
}
if (operateValidFlag) {
// 双精度浮点数的运算
long t1;
double t2;
t1 = (long) resultNum;
t2 = resultNum - t1;
if (t2 == 0) {
resultText.setText(String.valueOf(t1));
} else {
resultText.setText(String.valueOf(resultNum));
}
}
// 运算符等于用户按的按钮
operator = key;
firstDigit = true;
operateValidFlag = true;
}
/**
* 从结果文本框中获取数字
*
* @return
*/
private double getNumberFromText() {
double result = 0;
try {
result = Double.valueOf(resultText.getText()).doubleValue();
} catch (NumberFormatException e) {
}
return result;
}
public static void main(String[] args) {
new Calc1();
}
}
eclipse代码自动对齐快捷键
Android系统要求,所有的程序经过数字签名后才能安装。Android系统使用这个证书来识别应用程序的作者,并且建立程序间的信任关系。证书不是用于用户控制哪些程序可以安装。证书不需要授权中心来签名:Android应用程序上使用自己签名的证书是完全允许且普遍的。 理解Android应用程序签名有以下几个重要点: ·所有的应用程序都必须签名。系统不会安装任何一个不签名的程序。 ·你可以使用自己的证书来签名。不需要任何授权中心。 ·当你要为最终用户发布你的应用程序的时候,你必须签入一个合适的密钥。你不可以发布程序的时候还使用SDK工具签入的DebugKey。 ·系统只在安装应用程序的时候检测证书的有效期。如果应用程序在安装之后证书失效了,那么,应用程序还是可以正常工作。 ·你可以使用标准工具——Keytool和Jarsigner——生成Key并签名apk文件。 ·一旦你为应用程序签名了,一定要使用zipalign工具来优化最终的APK包。 Android系统不会安装和运行没有正确签名的应用程序。这条规则适用于任何运行Android系统的地方,不管是真机还是模拟器。正是由于这个原因,你必须在模拟器或真机上运行/调试程序之前对程序进行签名。 当你调试应用程序时,AndroidSDK工具替你对应用程序进行了签名。Eclipse的ADT插件和Ant编译工具都提供了两种签名模式——Debug模式和Release模式。 ·当开发和测试时,你可以使用Debug模式。在Debug模式下,编译工具使用内嵌在JDK中的Keytool工具来创建一个keystore和一个key(包含公认的名字和密码)。在每次编译的时候,使用这个DebugKey来为apk文件签名。由于密码是公认的,在每次编译的时候,也不需要提示你输入keystore和key密码。 ·当你的程序准备发布时,你必须在Release模式下,使用密钥来为apk文件签名。有以下两种方式可以做到: 1.命令行中使用Keytool和Jarsigner。在这个方法中,首先需要编译出一个未签名的apk。然后使用Jarsigner(或相似的工具),用你的密钥为apk手动签名。如果你没有合适的密钥,你可以运行Keytool来手动生成自己的keystore/key。 2.使用ADT导出向导。如果你使用Eclipse/ADT插件进行开发,你可以使用导出向导来编译程序,生成密钥(如果需要),并为apk签名,所有这些操作都在导出向导中。一旦你的程序签名了,别忘了运行zipalign来为apk进行额外的优化。 签名策略 应用程序签名的某些方面可能会影响应用程序的开发,特别是你打算一起发布多个应用程序的时候。一般来说,推荐的策略是在整个应用程序寿命内,所有的程序签上相同的证书。 以下有几个应该这么做的原因: ·应用程序升级——当你对应用程序进行升级时,如果你想用户平稳的升级,那么,你就需要签上相同的证书。当系统安装一个升级应用程序时,如果新版本的证书与老版本的证书有匹配的话,那么,系统才会允许进行升级。如果你没有为版本签上合适的证书,当你安装时,你需要给应用程序指定一个新的包名——在这种情况下,用户安装的新版本,被当作是一个全新的应用程序。 ·应用程序模块化——如果应用程序请求的话,Android系统允许签有相同证书的应用程序运行在相同的进程里,这样,系统就会把它们看作是一个单一的应用程序。用这种方法配置应用程序,用户可以选择更新每个独立的模块。 ·代码/数据权限共享——Android系统提供了基于签名的权限检查,因此,如果应用程序间签有特定的证书,那么,它们之间可以共享功能。通过多个程序签有相同的证书并且使用基于签名的权限检查,你的程序可以以一种安全的方式共享代码和数据。还有一个决定签名策略的重要因素是:如何设定key的有效期。 ·如果你计划支持单个应用程序的升级,你需要确保你的key拥有一个超过期望的应用程序生命周期的有效期。推荐使用25年或更多的有效期。当你的key过期了,用户也就不能平稳的更新到新版本了。 ·如果你想给多个无关的应用程序签上相同的key,那么,你必须确保key的有效期超过所有应用程序所有版本的生命周期,包括将来有可能添加到这一阵营的程序。 ·如果你想在AndroidMarket上发布你的程序,key的有效期必须在2033.10.22以后。Market服务器强制这一要求,目前是保证用户可以平稳的更新他们的程序。 当你设计应用程序时,一定要把这些点记在脑子里,并且使用一个合适的证书来为应用程序签名。 签名的基本设定 在你开始之前,你必须保证Keytool对SDK编译工具来说是可利用的。多数情况下,你可以通过设置JAVA_HOME环境变量来告诉SDK编译工具如何找到Keytool。另外,你还可以添加JDK中Keytool的路径到PATH的变量里。 如果你在Linux上开发,并且使用GNU编译器来编译Java,那么,请确保系统是使用JDK中的Keytool,而不是gcj。如果Keytool已经在你的PATH中,它有可能是对/usr/bin/keytool的符号链接。在这种情况下,检查符号链接的目标,确保它是指向JDK中的Keytool。如果你打算对公众释放你的应用程序,你还需要Jarsigner工具。Jarsigner和Keytool都包含在JDK中。 Debug模式下签名 Android编译工具提供了Debug签名模式,使得开发和调试应用程序更加容易,而且还满足Android系统的签名要求。当使用Debug模式编译你的app时,SDK工具会调用Keytool工具自动创建一个Debug的keystore和key。然后,这个Debugkey会自动用于apk的签名,这样,你不需要使用你自己的key来为应用程序包签名。 SDK工具使用预先定义好的名字/密码来创建Debugkeystore/key: ·Keystore名字:“debug.keysotre” ·Keystore密码:“android” ·Key别名:“androiddebugkey” ·Key密码:“android” ·CN:“CN=AndroidDebug,O=Android,C=US” 如果需要的话,你可以改变Debugkeystore/key的位置和名字,或者提供一个自定义的Debugkeysotre/key。然而,任何自定义的Debugkeystore/key必须使用和默认Debugkey(上面描述的)相同的名字和密码。(在Eclipse/ADT中,操作Windows>Preferences>Android>Build实现。) 注意:你不能将签有Debug证书的应用程序发布给公众。 Eclipse用户 如果你在Eclipse/ADT下开发(并且已经按照上面描述的“签名的基本设定”配置了Keytool),Debug模式下签名默认是开启的。当你运行或是调试应用程序时,ADT会使用Debug证书进行签名,并运行zipalign,然后安装到选择的模拟器或是连接上的设备。整个过程不需要你参与,前提是ADT能访问Keytool。 Ant用户 如果你使用Ant来编译你的apk文件,需要在ant命令中添加debug选项来开启Debug签名模式(假设你正在使用由android工具生成build.xml文件)。当你运行antdebug来编译你的程序时,编译脚本会生成一个keystore/key,并为apk进行签名。然后脚本会使用zipalign工具对apk进行对齐处理。整个过程不需要你参与。阅读“其它IDE下开发:Debug模式编译”来了解更多的信息。 Debug证书过期 Debug模式下签名用的证书(默认是Eclipse/ADT和Ant编译)自从它创建之日起,1年后就会失效。 当证书失效时,你会得到一个编译错误,在Ant编译上, 错误如下: debug: [echo]Packagingbin/samples-debug.apk,andsigningitwithadebugkey... [exec]DebugCertificateexpiredon8/4/083:43PM 在Eclipse/ADT中,Android控制台上你将会看到一个相似的错误。 为了解决这个问题,只需要删掉debug.keystore文件即可。AVD默认存储的位置在:~/.android/avd(OSX和Linux),C:DocumentsandSettings\.android(WindowsXP),C:Users\.android(WindowsVista)。 当下一次编译的时候,编译工具会重新生成一个新的keystore和Debugkey。 Release模式下签名 当你的程序准备好释放给其它用户时,你必须: 1.获取一个合适的密钥 2.在Release模式下编译程序 3.使用密钥签名程序 4.对齐APK包 如果你是使用Eclipse/ADT插件开发,你可以使用导出向导来完成编译、签名和对齐等操作。在整个过程中,导出向导甚至还可以生成一个新的keystore和密钥。因此,如果你使用Eclipse,你可以直接跳到“使用EclipseADT编译和签名”。 获取一个合适的密钥为了进行程序的签名,首先,你必须有一个合适的密钥。密钥指: ·个人持有。 ·代表个人、公司或组织实体的身份。 ·拥有一个有效期。有效期推荐超过25年。 如果你在AndroidMarket上发布你的程序,需要注意一点的是:程序的有效期需要在2033.10.22之后。你不能上传一个应用程序,而它的key的有效期是在这个日期之前。 ·不是由AndroidSDK工具生成的Debugkey。 如果你没有一个合适的key,你一定要使用Keytool来生成一个。如“基本设定”中描述的,确保Keytool可用。 为了用Keytool生成一个key,使用keytool命令并传入一些可选参数,如下表所示。 警告:确保密钥的安全。一定要阅读“安全储存你的密钥”中讨论如何确保你的密钥的安全以及这对你和用户为何如此重要。尤其是,当你生成你的密钥时,一定要为keystore和key使用强密码。
eclipse中的快捷键
Ctrl + shift + F4 关闭当前所有的Editor
eclipse快速对齐快捷键
查看与设置:【File】⇒ 【Settings】⇒ 【Keymap】
back/forward:ctrl + alt + ←/→ 其设置所在的位置:Main menu ⇒ Navigate
删除当前行:ctrl+y,复制行:ctrl+d;
ctrl + shift + t:创建单元测试;
类似 eclipse 的大纲显示 ctrl + o(outline)的快捷键为:ctrl + f12。
eclipse快速对齐
第一把任务栏锁定 关掉,再用鼠标按着托 就OK了,最后再来锁定
eclipse 代码对齐快捷键
如果你是java开发。用的开发工具是Eclipse的话,用Eclipse打开文件,然后用Eclipse的快捷键Ctrl+A,Ctrl+I 然后就自动化对齐了!
eclipse格式对齐快捷键
eclipse中左对齐代码快捷键 ctrl+shift+f
返回上一次鼠标点击的位置:Alt+左方向键,Alt+右方向键
eclipse排列整齐快捷键
alt+? 或 alt+/:自动补全代码或者提示代码
这个是我最得意的快捷键组合了,尤其是当输入 syso 几个字符之后,2 个手指轻松按下这 2 个键的时候,自动就补全 System.out.println(); 了,而且 eclipse 默认是出现 . 进行方法提示,如果中间提示断了想再看的话还得重新在对应类或者变量的前边输入 . 才可以再看到提示,不过如果这 2 个键结合是使用同样可以起到提示的作用,你可以试一试,而且如果输入 for 后,上边如果有需要遍历的局部变量的话,会弹出选择用 for each 遍历还是 for(int;;) 还是 while() 然后自动生成代码。
2、ctrl+o:快速outline视图
如果想要查看当前类的方法或某个特定方法,但又不想把代码拉上拉下,也不想使用查找功能的话,就用 ctrl+o,尤其是直接打开或者跟踪到一个方法非常多的类的时候,这个就就非常有用,直接看出有那些方法及成员变量,它可以列出当前类中的所有方法及属性,你只需输入你想要查询的方法名,点击 enter 就能够直接跳转至你想去的位置。
3、ctrl+shift+r:打开资源列表
这可能是所有快捷键组合中最省时间的了,也是我经常用到的,尤其是根据名字直接在项目或者工作空间里找某个文件,这组快捷键可以让你打开你的工作区中任何一个文件,而你只需要按下文件名或 mask 名中的前几个字母,比如 applic*.xml。美中不足的是这组快捷键并非在所有视图下都能用。
4、ctrl+shift+f:格式化代码
默认 80 个字符就换行,这个可以设置的。也可以根据代码风格设定重新格式化代码,我 们的团队有统一的代码格式,我们把它放在我们的 wiki 上。要这么做,我们打开 Eclipse,选择 Window Style,然后设置 Code Formatter,Code Style 和 Organize Imports。利用导出(Export)功能来生成配置文件。我们把这些配置文件放在 wiki 上,然后团队里的每个人都导入到自己的 Eclipse 中。
5、ctrl+e:快速转换编辑器
这组快捷键将帮助你在打开的编辑器之间浏览,尤是在很多文件打开的状态下,ctrl+e 会更加有效率,非常有帮助。
6、ctrl+page down 或 ctrl+page up: 选项卡之间快速切换
可以浏览前后的选项卡,如果使用熟练的话,各个页面切换会非常的快,感觉很不错。
7、shift+enter 及 ctrl+shift+enter: 在当前行上或者下边创建空白。
Shift+enter 在当前行之下创建一个空白行,与光标是否在行末无关。Ctrl+shift+enter 则在当前行之前插入空白行。这 2 个快捷键也是非常有帮助的,刚开始可能你不习惯,但用上多次之后,你会感觉很方便,反正我是这样的。
8、Alt+方向键上下:上下行交换内容或把当前行内容把上或下移动
这也是个节省时间的法宝。这个组合将当前行的内容往上或下移动。在 try/catch 部分,这个快捷方式尤其好使。
9、Control+Alt+方向上下键:复制高亮显示的一行或多行
这个也是非常有用的快捷键,能非常方便复制当前代码到上一行或者下一行,我也经常用到。
10、ctrl+m:当前编辑页面窗口最大化
大显示屏幕能够提高工作效率是大家都知道的。Ctrl+m 是编辑器窗口最大化的快捷键,再次按下就恢复正常窗口。
11、ctrl+/:自动注释当前行或者选择的多行
自动注释掉当前行或者多行代码,用 // 注释,用 ctrl+\ 可以取消注释。
12、ctrl+shift+/:自动注释掉选择的代码块
这个注意是用 /* */ 注释的(如果是编程语言代码),开发中也是非常有用的,html,css 等也可以用这个注释,生成对应的注释标签,用 ctrl+shift+\ 可以取消注释。
13、ctrl+d:删除当前行
删除当前行,这个很有用,我也是经常用的,尤其是在调试,删除当前错误,结合 ctrl+z 编辑撤销的快捷键,运用自如。
14、ctrl+shift+x 和 ctrl+shift+y :英文字母大小写的转换
这个快捷键常用语 SQL 语句的编写中,我也是经常用的,建议大家 SQL 语句中的关键字都用大写,尽管数据库大小写不区分,但这样有利于他人和自己阅读尤其是 SQL 语句非常长的情况下,而且这样看着也很规范。
15、ctrl+shift+o:自动引入包和删除无用包
这个快捷键也非常方便,当我们使用一个其他包中的类时,如果未引入对应的包或者类,就会出现红色波浪线的提示,此时我们可以按下这个快捷键,红色提示自动消失恢复正常,如果有多个包含有相同的这个类,那么会提示让你选择,如果有没用到的包而引入的情况,通常代码复制来复制去造成的较多,也可以用这个键快速去除。