java 两个list之间相互,怎么做呢

dasa5678 2009-05-14 02:04:17
这是在在一个list中添加c文件夹 然后双击文件夹 在list2中显示下一个目录 改怎么办 又说添加mouse监听 但是不会用呢
private void aaa() {
File f = new File("c://");
String[] m_dir = f.list();
for (int i = 0; i < m_dir.length; i++) {
list1.add(m_dir[i]);
}

}
...全文
259 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
gentalguo 2009-05-15
  • 打赏
  • 举报
回复
……
……
……
恩~~这个,很抱歉哈……
工作这几年,写代码,加班,熬夜的都是男的。
女孩子们都说,拼命挣回来的钱,不够买化妆品弥补熬夜损失的容颜。
呵呵,所以习惯了,总认为在这个圈子里面女孩子是少数,而我能接触的就更少了。
不好意思哦……形成一种不太正确的固化思维了

dasa5678 2009-05-15
  • 打赏
  • 举报
回复
恩 谢谢哦 我会仔细看得
俄。。。 我不是小子 呵呵
下回叫丫头吧
neunaruto 2009-05-15
  • 打赏
  • 举报
回复
学习一下gentalguo的代码。
如果在用户点击左侧空白区域的时候右侧的子文件也显示为空白就更好了。
只需把
if (!f.exists()) {
return;
}
childListData.clear();
File subFiles[] = f.listFiles();
for (int i = 0; i < subFiles.length; i++) {
if (subFiles[i].isDirectory()) {
childListData.add(subFiles[i].getName());
}
}
改为:
if (!f.exists()) {
childListData.clear();
}
else
{
childListData.clear();
File subFiles[] = f.listFiles();
for (int i = 0; i < subFiles.length; i++) {
if (subFiles[i].isDirectory()) {
childListData.add(subFiles[i].getName());
}
}
}
dasa5678 2009-05-15
  • 打赏
  • 举报
回复
我来的时候经济还好 是刚毕业 还不会计算机 正赶上找工作就过来了
但是现在好来也不要来 这边待业的国人好多 我也有危机感了
没办法 经济不好 好多产业也不好 软件自然就很少了 会社就危机 危机就裁员 裁员就裁外国人
呵呵 估计得镇子才能好吧
我待遇很一般 我什么都不会 还给我学 也就是我们会社别人的3分之一吧
兴冲冲的来了 现在也要走了
对自己做软件不看好 感觉挺笨的
lycshn 2009-05-15
  • 打赏
  • 举报
回复
都去日本了啊,好去不,待遇怎么样》
dasa5678 2009-05-15
  • 打赏
  • 举报
回复
恩 在日本了 一个日本会社 来快变年了 一直在学习
会社现在受经济影响 也不怎么好
呵呵 你在哪呀
jjjjyyyyy 2009-05-15
  • 打赏
  • 举报
回复
http://www.viathink.com
gentalguo 2009-05-15
  • 打赏
  • 举报
回复
你……让我想起了很多人和事……
你是做对日的项目?在哪座城市?大连吗?
dasa5678 2009-05-15
  • 打赏
  • 举报
回复
没有关系 我也刚开始学没多久
在公司自学 所以不会的 得到网上查
我能否坚持下去也不一定呢
breezes2008 2009-05-14
  • 打赏
  • 举报
回复
需要对list1列表出来的内容进行判断哪些是目录,然后把那些是目录的就赋给list2,并显示出来。
gentalguo 2009-05-14
  • 打赏
  • 举报
回复

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.io.File;
import java.util.ArrayList;
import java.util.List;

import javax.swing.DefaultListModel;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

public class ListDemo extends JFrame {

private List<String> parentListData = new ArrayList<String>();

private List<String> childListData = new ArrayList<String>();

DefaultListModel parentModel = new DefaultListModel() {
@Override
public int getSize() {
return parentListData.size() < 10 ? 10 : parentListData.size();
}

@Override
public Object getElementAt(int index) {
return index < parentListData.size() ? parentListData.get(index)
: "";
}

};

public ListDemo() {
initData();
setContentPane(createUI());

setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(800, 600);
setVisible(true);
}

private void initData() {
parentListData.add("C:\\");
parentListData.add("D:\\");

}

private JPanel createUI() {
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());

final JList parentList = new JList(parentModel);
parentList.setFixedCellWidth(50);
parentList.setFixedCellWidth(200);

// parentList.setPreferredSize(new Dimension(50, 80));
final JList childList = new JList();
childList.setFixedCellWidth(50);
childList.setFixedCellWidth(200);

parentList.addListSelectionListener(new ListSelectionListener() {

@Override
public void valueChanged(ListSelectionEvent e) {
String str = parentList.getSelectedValue().toString();
File f = new File(str);
if (!f.exists()) {
return;
}
childListData.clear();
File subFiles[] = f.listFiles();
for (int i = 0; i < subFiles.length; i++) {
if (subFiles[i].isDirectory()) {
childListData.add(subFiles[i].getName());
}
}
childList.setModel(new DefaultListModel() {
@Override
public int getSize() {
return childListData.size() < 10 ? 10 : childListData
.size();
}

@Override
public Object getElementAt(int index) {

return index < childListData.size() ? childListData
.get(index) : "";

}
});
}
});
panel.add(new JScrollPane(parentList), BorderLayout.WEST);
panel.add(new JScrollPane(childList), BorderLayout.EAST);

return panel;
}

public static void main(String args[]) {
new ListDemo();
}
}

哦,小子。久等了。刚好有些事情走开了。随意写了些代码,有点乱,但是还算能看到效果。
界面比较难看,我就不调了。
我用的eclipse3.4,jdk6。你跑一下。希望对你有用。
yinyuehan823 2009-05-14
  • 打赏
  • 举报
回复
帮顶~
dasa5678 2009-05-14
  • 打赏
  • 举报
回复
哦 我会监听 我的意思是 list1显示的是c盘下的目录 当点击c盘目录下文件夹时候 在list2中出现子目录
谢谢 我现在是不会运用list1中的未知变量 m_dir[i] 这个变量怎么传到监听 然后打开下一级的目录呢
dasa5678 2009-05-14
  • 打赏
  • 举报
回复
没错 现在的只是list1中显示c盘下的文件 如何点击list1文件 在list2 中打开子文件
dasa5678 2009-05-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 gentalguo 的回复:]
哦。小子,我没有太看懂你的意思啊。
不会加监听?呵呵,还有啊,

在list2中显示下一个目录

什么意思。list1选中一个时候,list2怎么做?选中的那个的子目录?还是什么?
[/Quote]

哦 我会监听 我的意思是 list1显示的是c盘下的目录 当点击c盘目录下文件夹时候 在list2中出现子目录
谢谢 我现在是不会运用list1中的未知变量 m_dir[i] 这个变量怎么传到监听 然后打开下一级的目录呢
canken007 2009-05-14
  • 打赏
  • 举报
回复
list1.add(m_dir[i]);
这里的list写错了吧
gentalguo 2009-05-14
  • 打赏
  • 举报
回复
哦。小子,我没有太看懂你的意思啊。
不会加监听?呵呵,还有啊,

在list2中显示下一个目录

什么意思。list1选中一个时候,list2怎么做?选中的那个的子目录?还是什么?
dasa5678 2009-05-14
  • 打赏
  • 举报
回复
都没人帮帮
怎么好呢

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧