首页 > 技术文章 > 生活中的一些笔记

an5211 2017-04-02 22:11 原文

1. 

setClosable(false);//  为true时,红叉显示(关闭)   删除时,红叉不显示     false时红叉不显示

  

setDefaultCloseOperation(EXIT_ON_CLOSE); //设置默认的关闭操作,关闭时退出  http://www.cnblogs.com/lihaiming93/p/4752422.html
table = new JTable(){   //不能更改单元格中的值
	public boolean isCellEditable(int row, int column) {
		return false;
	};
};

  

table.setEnabled(true); 可以被选中

2. 我遇到一个问题就是在JPanel中添加JInternalFrame,使用如下代码,发现不行,根本不显示

JDesktopPane desktopPane_1 = new JDesktopPane();
this.add(desktopPane_1);
desktopPane_1.add(chuZhenDengJi(注意:这个为JInternalFrame类型));
chuZhenDengJi.setVisible(true);

所以耍了个小聪明,找他的父窗体,使用如下代码,为的就是找 javax.swing.JDesktopPane这个类

System.out.println(this.getParent()//spiltpanel
	.getParent()//jpane
	.getParent()//JLayeredPane
	.getParent()//JRootPane
	.getParent()//internalFrame.BingLiGuanLi
	.getParent()//javax.swing.JDesktopPane
	.getParent()//javax.swing.JPanel
	.getParent()//javax.swing.JLayeredPane
	.getParent()//javax.swing.JRootPane
	.getParent()//javax.swing.JFrame
	.getClass()
	.getName());

最终使用如下代码解决:

this.getParent()//spiltpanel
	.getParent()//jpane
	.getParent()//JLayeredPane
	.getParent()//JRootPane
	.getParent()//internalFrame.BingLiGuanLi
	.getParent().add(chuZhenDengJi);

但是又出现一个问题,虽然界面显示了,但是却显示在当前界面的后面,所以使用了如下代码

chuZhenDengJi.toFront();

将chuZhenDengJi  这个  JInternalFrame 显示在最前面。

3. http://blog.csdn.net/hepeng19861212/article/details/2121773

 关于ListSelectionListener事件,鼠标(按下和释放,)两次响应,看了上面那个博客之后,我测试了一番果然如此,下面是测试代码

//                    鼠标按下时table2.getSelectionModel().getValueIsAdjusting()=true
//                        释放时table2.getSelectionModel().getValueIsAdjusting()=false
// 键盘上下移动时
table2.getSelectionModel().getValueIsAdjusting()=false

4. 出现一个错误,代码 zhuSu = new JTextArea(2,30);只要列数大于一定值就会出现下面情况

如果zhuSu = new JTextArea(2,25);则正常显示,如下图

原因:没查出来,不知道咋渲染的,猜应该是宽度太宽了,超出父容器的宽度,就会弄成默认宽度

  

5.遇到一个问题,就是用exe4j打包成exe文件之后,不能显示图片,Java  swt

 
file:/D:/StudyInstallPath/zz/JXCManager/bin/com/lzw/%e6%9b%b4%e6%94%b9%e5%af%86%e7%a0%81.png  //%e6%9b%b4%e6%94%b9%e5%af%86%e7%a0%81:中文
String imgUrl1 = getClass().getResource(fName+".png").toString().substring(6);  //使用String不可以  substring(6) 为了去掉 file:/
URL imgUrl = getClass().getResource(fName+".png");//这样可以

Icon icon = new ImageIcon(imgUrl); 

  

 

推荐阅读