JAVA 对树形结构中图片的修改
package graphic;
import javax.swing.ImageIcon;
import javax.swing.JTree;
import java.awt.Component;
import javax.swing.tree.DefaultTreeCellRenderer;
import javax.swing.tree.DefaultMutableTreeNode;
/**
*
* @author bianzhiqi
* 具体方法的使用查看DefaultTreeCellRenderer的文档
*/
public class MyRenderer extends DefaultTreeCellRenderer{
private ImageIcon leafIcon;
private ImageIcon midIcon;
public MyRenderer(ImageIcon leafIcon,ImageIcon midIcon)
{
this.leafIcon=leafIcon;
this.midIcon=midIcon;
}
public Component getTreeCellRendererComponent(
JTree tree,
Object value,
boolean sel,
boolean expanded,
boolean leaf,
int row,
boolean hasFocus) {
super.getTreeCellRendererComponent(
tree, value, sel,
expanded, leaf, row,
hasFocus);
DefaultMutableTreeNode node=(DefaultMutableTreeNode)value;
if(leaf && leafIcon!=null) setIcon(leafIcon);
else if((isKeyword(node)||isSpecial(node)) && midIcon!=null) setIcon(midIcon);
else setIcon(null);
return this;
}
protected boolean isKeyword(DefaultMutableTreeNode node)
{
String value=node.toString();
if(value.equals("int") || value.equals("real")||value.equals("while")||
value.equals("write")||value.equals("if")||value.equals("else")||
value.equals("read") ||value.equals("else if")
)
return true;
else return false;
}
protected boolean isSpecial(DefaultMutableTreeNode node){
String value=node.toString();
if(value.equals("<")||value.equals("<>")||value.equals("=")||value.equals("=="))
return true;
else return false;
}
}
相关文档:
在java中可以通过Runtime.getRuntime().exec(cmd)来执行外部命令,我比较常用的是调用shell脚本来完成某些工作,也可以直接执行一个os 的命令,比较调用imagemagick来完成图片的一些操作,其中需要注意的有两点,1是最好带上命令的完整路径,否则命令可能不会被执行,而且也没有任何报错的信息输出,2特别要注意空格,比如文 ......
1、日期格式化
String tim = "2009-12-29";
String str = (new java.text.SimpleDateFormat("yyyy年MM月dd日")).format((new java.text.SimpleDateFormat("yyyy-MM-dd")).parse(tim));
返回:2009年12月29日
String now = (new java.text.SimpleDateFormat("yyyy-MM-dd")).format(new java.util.Date());
返回当前时间 ......
Java程序调用存储过程验证用户登录
package com.yzy.jdbc.dao;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import oracle.jdbc.OracleTypes;
public class LoginDao {
public boolean loginValidate(String username, Stri ......
java四舍五入
package Test;
import java.math.BigDecimal; //引入这个包
public class Test {
public static void main(String[] args) {
double i = 3.856;
// 舍掉小数取整
System.out.println("舍掉小数取整:Math.floor(3.856)=" + (int) Math.floor(i));
......
第一,谈谈final, finally, finalize的区别。
final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为
abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定
......