java编程 如何修改list中显示的内容?
详细的问题说明,有助于回答者给出准确的答案已经通过对话框往list中写入内容,希望点击“修改”按钮后能够以对话框形式将选中内容修改.最好能有代码实例,我是菜鸟。谢谢!...
详细的问题说明,有助于回答者给出准确的答案
已经通过对话框往list中写入内容,希望点击“修改”按钮后能够以对话框形式将选中内容修改.最好能有代码实例,我是菜鸟。
谢谢! 展开
已经通过对话框往list中写入内容,希望点击“修改”按钮后能够以对话框形式将选中内容修改.最好能有代码实例,我是菜鸟。
谢谢! 展开
4个回答
展开全部
很简单啊。
对话框添加的时候不需要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());
}
}
}
}
对话框添加的时候不需要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());
}
}
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
list也能显示内容....?
还是说你想用别的东西显示?
不说清楚是解答不了的
还是说你想用别的东西显示?
不说清楚是解答不了的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不懂什么意思啊 说清楚点啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询