<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[BINGGGGG的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/BINGGGGG</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; BINGGGGG]]></copyright><item><title><![CDATA[Java Swing - invokeLater子线程修改主线程UI]]></title><link>https://blog.youkuaiyun.com/BINGGGGG/article/details/120187221</link><guid>https://blog.youkuaiyun.com/BINGGGGG/article/details/120187221</guid><author>BINGGGGG</author><pubDate>Wed, 08 Sep 2021 19:40:00 +0800</pubDate><description><![CDATA[问题：

1.我在这里是想解决如何使用SwingUtilities来进行线程通信。

2.扩展一下多线程与子线程的知识，一直对这一块儿比较迷糊



学习：

1.就先来学习一下，Swing线程机制

  大多数SwingAPI是非线程安全的，不能在任意地方调用，只能在EDT中调用。Swing的线程安全靠事件队列和EDT来保障，EventQueue派发机制由单独线程EDT进行管理。借助于EDT，可以使不具备线程安全的的Swing函数库避免了并发访问的问题。

  Swing程序包括三种类型的线程，初...]]></description><category></category></item><item><title><![CDATA[Java Swing - JTable 修改某一单元格字体颜色&&设置某一列不可被编辑]]></title><link>https://blog.youkuaiyun.com/BINGGGGG/article/details/120087169</link><guid>https://blog.youkuaiyun.com/BINGGGGG/article/details/120087169</guid><author>BINGGGGG</author><pubDate>Fri, 03 Sep 2021 17:55:53 +0800</pubDate><description><![CDATA[1.修改颜色的函数有两个，一个是设置背景颜色setBackGroud，另一个是设置字体颜色setForeground

2.使用DefaultTableCellRenderer来修改单元格颜色。


//新建列表现器
				DefaultTableCellRenderer tcr = new DefaultTableCellRenderer() {
					public Component getTableCellRendererComponent(JTable table, Object value,]]></description><category></category></item><item><title><![CDATA[Java Swing - JTable 如何在输入enter之后获取到刚输入的数据]]></title><link>https://blog.youkuaiyun.com/BINGGGGG/article/details/120045785</link><guid>https://blog.youkuaiyun.com/BINGGGGG/article/details/120045785</guid><author>BINGGGGG</author><pubDate>Wed, 01 Sep 2021 19:10:10 +0800</pubDate><description><![CDATA[先描述一下我遇到的具体场景

    我这里是需要在JTable中输入某个值并且输入了enter之后，在JTable外面JLabel同步显示刚刚输入的值。

这一部分，参考了博客：

https://blog.youkuaiyun.com/m0_37550986/article/details/81090426

不过这里有个问题就是，在你输入Enter的时候，表格没有结束编辑，也就是说你刚刚输入的数据并没有写到表格里面去，你可以获取到行号，但是你不能根据行号获取还未输入完毕的值。

这里百度到了一个很好的解法...]]></description><category></category></item><item><title><![CDATA[Java Swing - JTable在新增一行数据，让指针聚焦于新加入的那一行]]></title><link>https://blog.youkuaiyun.com/BINGGGGG/article/details/120026254</link><guid>https://blog.youkuaiyun.com/BINGGGGG/article/details/120026254</guid><author>BINGGGGG</author><pubDate>Tue, 31 Aug 2021 20:32:56 +0800</pubDate><description><![CDATA[tableTaskTest.setRowSelectionInterval(tableTaskTest.getRowCount()-1,tableTaskTest.getRowCount()-1);
Point p = new Point();
p.setLocation(0, tableTaskTest.getSelectedRow()*tableTaskTest.getRowHeight());
scrollPaneTaskTest.getViewport().setViewPosition(p);
.]]></description><category></category></item><item><title><![CDATA[Java Swing - JOptionPane]]></title><link>https://blog.youkuaiyun.com/BINGGGGG/article/details/119705798</link><guid>https://blog.youkuaiyun.com/BINGGGGG/article/details/119705798</guid><author>BINGGGGG</author><pubDate>Sat, 14 Aug 2021 20:40:01 +0800</pubDate><description><![CDATA[1.常用的四种对话框，学习博客如下，讲的很详细了：

https://blog.youkuaiyun.com/tuke_tuke/article/details/47002741

2.详细解释showInputDialog的博客

https://blog.youkuaiyun.com/cyan20115/article/details/106549457/

3.详细解释showConfirmDialog的博客

https://blog.youkuaiyun.com/cyan20115/article/details/106549949]]></description><category></category></item><item><title><![CDATA[Java - 删除某个目录下所有文件]]></title><link>https://blog.youkuaiyun.com/BINGGGGG/article/details/119705743</link><guid>https://blog.youkuaiyun.com/BINGGGGG/article/details/119705743</guid><author>BINGGGGG</author><pubDate>Sat, 14 Aug 2021 20:35:58 +0800</pubDate><description><![CDATA[1.下面这个博客很详细

https://www.cnblogs.com/JuanF/p/9342172.html

2.使用这个算法的变形，可以解决很多问题，我碰到的问题是，需要记录一个数据库中，某个文件夹下所有的文件以及文件夹名字，数据库中显示这种关系是用一个字段PARENT_DIR_ID，上级目录ID来表示的。

这就是上面的变形，主要是如何理解他们之间的承接关系。


private void getSubDir(MyTreeObject myTreeObject, List&lt;List&lt;]]></description><category></category></item><item><title><![CDATA[java - 弹出选择目录框，并且获取到数据]]></title><link>https://blog.youkuaiyun.com/BINGGGGG/article/details/119705684</link><guid>https://blog.youkuaiyun.com/BINGGGGG/article/details/119705684</guid><author>BINGGGGG</author><pubDate>Sat, 14 Aug 2021 20:29:35 +0800</pubDate><description><![CDATA[1.弹出目录选择框，并且获取到绝对路径，学习博客如下

https://www.cnblogs.com/xiaoyue1606bj/p/11577256.html



2.由绝对路径获取到数据，学习博客如下

https://blog.youkuaiyun.com/weixin_45151960/article/details/107345790



两个博客都很详细，拼一下就是了，只是不知道为什么JFileChooser这个库函数为什么这么卡，用起来
...]]></description><category></category></item><item><title><![CDATA[Java - map遍历]]></title><link>https://blog.youkuaiyun.com/BINGGGGG/article/details/119696507</link><guid>https://blog.youkuaiyun.com/BINGGGGG/article/details/119696507</guid><author>BINGGGGG</author><pubDate>Sat, 14 Aug 2021 09:21:19 +0800</pubDate><description><![CDATA[for(String key : mapConnectToOracle.keySet()) {
	ConnToOracle.closeConn(mapConnectToOracle.get(key));
	//ConnToOracle conn = (ConnToOracle) mapConnectToOracle.get(key);
			
}

学习播客：

https://blog.youkuaiyun.com/weixin_39974223/article/details/114113189

https:/.]]></description><category></category></item><item><title><![CDATA[Oracle - java连接Oracle]]></title><link>https://blog.youkuaiyun.com/BINGGGGG/article/details/119696323</link><guid>https://blog.youkuaiyun.com/BINGGGGG/article/details/119696323</guid><author>BINGGGGG</author><pubDate>Sat, 14 Aug 2021 09:17:39 +0800</pubDate><description><![CDATA[1.导入与Oracle版本相对应的ojdbc包

网上导入的教程都有，不过都是导入的ojdbc6，我装的Oracle版本是21c的，ojdbc6包并不能使用，这里使用的是ojdbc8的包，一定一定得注意导入的包版本要跟Oracle相对应。



2.导入之后就是加载驱动包，与数据库进行连接了。


public class ConnToOracle {
	private static String driverClass="oracle.jdbc.driver.OracleDriver"; //oracl.]]></description><category></category></item><item><title><![CDATA[Java - Document 小结]]></title><link>https://blog.youkuaiyun.com/BINGGGGG/article/details/119654174</link><guid>https://blog.youkuaiyun.com/BINGGGGG/article/details/119654174</guid><author>BINGGGGG</author><pubDate>Fri, 13 Aug 2021 08:45:56 +0800</pubDate><description><![CDATA[1.Document与String之间的相互转换

我这里只是进行了String转换为Document。


//string 转换成inputstream
StringReader sr = new StringReader(ScriptContent);
InputSource is = new InputSource(sr);			
Document document = (Document) db.parse(is);

具体还有其他几种方法，参考博客：

https://blog.csdn.n..]]></description><category></category></item><item><title><![CDATA[Java - MySQL 自增ID实现]]></title><link>https://blog.youkuaiyun.com/BINGGGGG/article/details/119653586</link><guid>https://blog.youkuaiyun.com/BINGGGGG/article/details/119653586</guid><author>BINGGGGG</author><pubDate>Thu, 12 Aug 2021 20:56:11 +0800</pubDate><description><![CDATA[1.在navicat中进行表的设计的时候，可以直接勾选



2.插入数据


INSERT INTO TABLE_DATA_TEST_ITEMS values(ID, ?, 0, null, null, null, 1, ?, ?);

3.插入之后获取到自增ID


//针对上面的SQL进行插入
PreparedStatement pst;
pst = conn.prepareStatement(sql);
pst.setString(1,strFolderName);	
pst.setInt(2, p]]></description><category></category></item><item><title><![CDATA[Eclipse - 导入ICON]]></title><link>https://blog.youkuaiyun.com/BINGGGGG/article/details/119616575</link><guid>https://blog.youkuaiyun.com/BINGGGGG/article/details/119616575</guid><author>BINGGGGG</author><pubDate>Wed, 11 Aug 2021 20:45:50 +0800</pubDate><description><![CDATA[1.工程下新建一个存放图片的文件夹images

2.右键文件夹，找到import后选择File System



3.点击next之后，在from directory选择导入文件夹，intofolder选择刚创建好的文件夹，勾选文件点击finish即可。



参考博客：

https://blog.youkuaiyun.com/weixin_43102313/article/details/89404188

ICON网址：

https://www.iconfont.cn/collections/index..]]></description><category></category></item><item><title><![CDATA[踩坑系列 - Java - substring（）]]></title><link>https://blog.youkuaiyun.com/BINGGGGG/article/details/119616469</link><guid>https://blog.youkuaiyun.com/BINGGGGG/article/details/119616469</guid><author>BINGGGGG</author><pubDate>Wed, 11 Aug 2021 20:38:45 +0800</pubDate><description><![CDATA[String str = node.toString().substring(0, 13);

获取到的是string的第一个到第12个字符，而不是第一个到第13个。

下面是菜鸟教程的说明：



参考博客：

https://m.runoob.com/java/java-string-substring.html


]]></description><category></category></item><item><title><![CDATA[Java Swing - JTree 如何使用类来构造JTtree]]></title><link>https://blog.youkuaiyun.com/BINGGGGG/article/details/119616216</link><guid>https://blog.youkuaiyun.com/BINGGGGG/article/details/119616216</guid><author>BINGGGGG</author><pubDate>Wed, 11 Aug 2021 20:34:23 +0800</pubDate><description><![CDATA[1.声明一个需要的类


public class MyTreeNodeObject {
	private String name;
	private int Category;//0表示测试类比,1表示测试脚本
	public MyTreeNodeObject(String name, int Category) {
		this.name = name;
		this.Category = Category;
	}
//toString函数一定需要，这里就是后面显示在树中节点的文本
	public St]]></description><category></category></item><item><title><![CDATA[Eclipse - Debug调试快捷键]]></title><link>https://blog.youkuaiyun.com/BINGGGGG/article/details/119578811</link><guid>https://blog.youkuaiyun.com/BINGGGGG/article/details/119578811</guid><author>BINGGGGG</author><pubDate>Tue, 10 Aug 2021 20:49:06 +0800</pubDate><description><![CDATA[F5：单步进入(如果有方法调用，将进入调用方法中进行调试);

F6：单步跳过(不进入行的任何方法调用中，直接执行完当前代码行，并跳到下一行);

F7：单步返回(执行完当前方法，并从调用栈中弹出当前方法，返回当前方法被调用处)；

F8：恢复正常执行(直到遇到下一个断点);

ctrl+shift+i：察看选择的变量、表达式的值或执行结果, 再次按ctrl+shift+i可以将当前表达式或值添加到Expressions窗口中查看;



具体参考

https://blog.youkuaiyun.com/u01178]]></description><category></category></item><item><title><![CDATA[Java Swing - JTable响应鼠标双击触发事件]]></title><link>https://blog.youkuaiyun.com/BINGGGGG/article/details/119461879</link><guid>https://blog.youkuaiyun.com/BINGGGGG/article/details/119461879</guid><author>BINGGGGG</author><pubDate>Fri, 06 Aug 2021 19:09:27 +0800</pubDate><description><![CDATA[1.函数需要集成MouseListener类


public class TestSelect extends JFrame implements MouseListener

2.table调用MouseListener的addMouseListener函数


table.addMouseListener(this);

3.重写MouseListener的mousePressed函数，e.getClickCount()表示点击次数，等于2即为双击


	@Override
	public void.]]></description><category></category></item></channel></rss>