java编程 如何修改list中显示的内容?

详细的问题说明,有助于回答者给出准确的答案已经通过对话框往list中写入内容,希望点击“修改”按钮后能够以对话框形式将选中内容修改.最好能有代码实例,我是菜鸟。谢谢!... 详细的问题说明,有助于回答者给出准确的答案
已经通过对话框往list中写入内容,希望点击“修改”按钮后能够以对话框形式将选中内容修改.最好能有代码实例,我是菜鸟。
谢谢!
展开
 我来答
felly822
推荐于2016-08-30 · TA获得超过265个赞
知道小有建树答主
回答量:231
采纳率:0%
帮助的人:254万
展开全部
很简单啊。
对话框添加的时候不需要list中内容的index,

修改的时候同样弹出对话框,按确定的时候根据选中list项的index进行修改即可。
你应该说的是java.awt.List把。!

要代码例子是吧。我随手写了一个,你看看:

import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Component;
import java.awt.Frame;
import java.awt.List;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JOptionPane;

/**
*
* @author Felly
* @date 2008年12月29日9:45:54
*
*/

public class ListAddModify {
// 窗体
public Frame createFrame(String title) {
Frame frame = new Frame(title);
frame.setVisible(true);// 设置可见
// 设置窗体大小为全屏
// frame.setSize(Toolkit.getDefaultToolkit().getScreenSize());
frame.setSize(400, 400);
// frame.setLocation(0, 0);//默认位置

// 其他属性可以随意设置
// 默认窗体可以被关闭释放内存

frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
return frame;
}

// 列表,参数为列表项目
public List createList(String contents[]) {
List list = new List();
list.setVisible(true);
if (contents.length <= 0)
return list;
for (int i = 0; i < contents.length; i++) {
list.add(contents[i]);
}
return list;
}

// 按钮
public Button createButton(String title) {
Button b = new Button(title);
b.setVisible(true);

return b;
}

// 布局
public BorderLayout createBorderLayout() {
BorderLayout b = new BorderLayout();
return b;
}

// 面板
public Panel createPanel() {
Panel b = new Panel();
b.setVisible(true);
return b;
}

// 弹出对话框,返回输入内容
public String getOptionDialogValue(Component comp, String defaultString,
String tip) {
String value = "";
value = JOptionPane.showInputDialog(comp, "请输入" + tip + "项目",
defaultString);
return value;
}

// 界面创建,按钮时间注册
public void modifyList() {

// 创建2个面板
Panel center = createPanel();
Panel buttom = createPanel();
// 创建列表
List list = createList(new String[] { "北京", "上海", "天津" });
center.add(list);

ConsoleActionListener listener = new ConsoleActionListener(this, list);// 添加事件
// 创建按钮
Button add = createButton("添加");
add.setActionCommand("add");// 用于事件判断
add.addActionListener(listener);
buttom.add(add);

Button modify = createButton("修改");
buttom.add(modify);
modify.setActionCommand("modify");// 用于事件判断
modify.addActionListener(listener);

// 创建布局
BorderLayout layout = createBorderLayout();

// 创建窗体
Frame frame = createFrame("测试窗口");
frame.setLayout(layout);
frame.add(center, BorderLayout.CENTER);
frame.add(buttom, BorderLayout.SOUTH);
frame.validate();

}

// 测试方法
public static void main(String d[]) {
ListAddModify t = new ListAddModify();
t.modifyList();
}

// 时间处理内部类
class ConsoleActionListener implements ActionListener {
private ListAddModify test = null;//于ListAddModify关联
private List list = null;//传入被添加 修改的List

ConsoleActionListener(ListAddModify test, List list) {
this.test = test;
this.list = list;
}

// 添加,修改操作都在这里进行
public void actionPerformed(ActionEvent e) {
String dialog = "";
int index = -1;// 默认无选中
Object o = e.getSource();
if (o instanceof Button) {// 如果是Button才操作
Button b = (Button) o;// Button强制转化
if ("add".equals(b.getActionCommand())) {// 添加
dialog = test.getOptionDialogValue(null, "", "添加");
list.add(dialog);

} else if ("modify".equals(b.getActionCommand())) {// 修改
index = list.getSelectedIndex();// 得到选中项
if (index == -1)// 未选中直接返回
return;
dialog = test.getOptionDialogValue(null, "", "修改");
if (dialog == null || "".equals(dialog))
return;// 未输入或者直接取消直接返回
list.replaceItem(dialog, index);// 修改
list.select(index);// 选中
}
System.out.println(b.getActionCommand());
}
}
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
变天使了
2008-12-28 · TA获得超过444个赞
知道小有建树答主
回答量:527
采纳率:0%
帮助的人:350万
展开全部
list也能显示内容....?

还是说你想用别的东西显示?

不说清楚是解答不了的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Tar_w
2008-12-28
知道答主
回答量:2
采纳率:0%
帮助的人:0
展开全部
list集合?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
24...2@qq.com
2008-12-28 · 超过47用户采纳过TA的回答
知道答主
回答量:218
采纳率:0%
帮助的人:145万
展开全部
不懂什么意思啊 说清楚点啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式