Java如何将一个界面表格里面的内容点击确定按钮添加到另外一个界面表格中

如题所述

实现方法
  1、初始化
  首先添加JScrollPane的实例jScrollPane1,DefaultListModel
实例model1,然后使用model1生成JList的实例。在对话框合适的位置添加jScrollPane1,调整到合适的大小,然后在jScrollPane1上增加jList1.这样带有滚动条的列表框就添加完成了。
  初始化一个Vector实例用来存储选择的列表元素。由于选择的元素具有不确定性,所以使用Vector这种存储空间可以动态变化的数据结构。Vector初始化实例时不能指定初始化长度,所以增加一个整形变量指示Vector中列表中对象的个数。
  2、添加和删除列表元素
  列表框中的元素添加和删除是通过model1的addElement方法和removeElement方法实现的。通过列表框的属性selectionMode可以设置列表框单选,单个间断选择和多个间断选择。Vector中存储的对象是和选择的元素相对应的,对象的添加和删除是通过addElement方法和removeElement方法实现的。
  3、获得选择元素
  在点击“确定”按钮以后,需要将Vector实例中的对象转化成为需要的数据类型。
  实例解析
  现以图1所示为例对具体实现方法进行描述。由图1中左面列表框中选择可用元素,选择方式设为多个间断选择,由于其他两种方式相对简单,实现方法可在这个实例的基础上修改得到。选定元素之后,点击“>>”按钮,选择的元素就会在右面的列表框显示出来。如果多选或者错选,可在右面的列表框中选定元素后点击“<<”按钮移去选定的元素。

以上实现的功能代码如下
 图1 列表框示例
具体程序实现方法如下。
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import java.awt.Rectangle;
import java.util.Vector;
import javax.swing.JList;
import javax.swing.JButton;
import javax.swing.DefaultListModel;
public class Llist extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JScrollPane jScrollPane = null;
private JScrollPane jScrollPane1 = null;
private JList jList = null;
private JList jList1 = null;
private JButton jButton = null;
private JButton jButton1 = null;
private DefaultListModel model;
private DefaultListModel model2;
/**
* This is the default constructor
*/
private Vector vc=new Vector(); // @jve:decl-index=0:
private int num;
public Llist() {
super();
initialize();
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(393, 263);
this.setContentPane(getJContentPane());
this.setTitle("JFrame");
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(getJScrollPane(), null);
jContentPane.add(getJScrollPane1(), null);
jContentPane.add(getJButton(), null);
jContentPane.add(getJButton1(), null);
jContentPane.add(getJButton2(), null);
jContentPane.add(getJButton3(), null);
}
return jContentPane;
}
/**
* This method initializes jScrollPane
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getJScrollPane() {
if (jScrollPane == null) {
jScrollPane = new JScrollPane();
jScrollPane.setBounds(new Rectangle(22, 23, 110, 152));
jScrollPane.setViewportView(getJList());
}
return jScrollPane;
}
/**
* This method initializes jScrollPane1
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getJScrollPane1() {
if (jScrollPane1 == null) {
jScrollPane1 = new JScrollPane();
jScrollPane1.setBounds(new Rectangle(223, 24, 116, 150));
jScrollPane1.setViewportView(getJList1());
}
return jScrollPane1;
}
/**
* This method initializes jList
*
* @return javax.swing.JList
*/
String[]
a={"Element1","Element2","Element3","Element4","Element5","Element6","Element7","Element8","Element9","Element10",};

private JButton jButton2 = null;
private JButton jButton3 = null;
private JList getJList() {
if (jList == null) {
jList = new JList();
model=new DefaultListModel();
jList.setModel(model);
­
for(int i=0;i<a.length;i++)
{
model.addElement(a[i]);
}
}
return jList;
}
/**
* This method initializes jList1
*
* @return javax.swing.JList
*/
­
private JList getJList1() {
if (jList1 == null) {
­
jList1 = new JList();
model2=new DefaultListModel();
jList1.setModel(model2);
}
return jList1;
}
/**
* This method initializes jButton
*
* @return javax.swing.JButton
*/
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setBounds(new Rectangle(149, 52, 56, 29));
jButton.setText(">>");
jButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
//System.out.println("actionPerformed()"); // TODO Auto-generated Event
stub actionPerformed()
­
Object[] items=jList.getSelectedValues();
for(int i=0;i<items.length;i++)//从左边选中元素,往右边的列表中添加元素
{
model2.addElement(items[i]);
num=num+1;
vc.setSize(num);
­
}
}
});
}
return jButton;
}
/**
* This method initializes jButton1
*
* @return javax.swing.JButton
*/
private JButton getJButton1() {
if (jButton1 == null) {
jButton1 = new JButton();
jButton1.setBounds(new Rectangle(145, 117, 65, 31));
jButton1.setText("<<");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
//System.out.println("actionPerformed()"); // TODO Auto-generated Event
stub actionPerformed()
for(int i=0;i<jList1.getSelectedValues().length;i++)
{
model2.removeElement(jList1.getSelectedValue());//删除选中右边的列表元素
num=num-1;
vc.setSize(num);
­
­
}
}
});
}
return jButton1;
}
/**
* This method initializes jButton2
*
* @return javax.swing.JButton
*/
private JButton getJButton2() {
if (jButton2 == null) {
jButton2 = new JButton();
jButton2.setBounds(new Rectangle(82, 193, 63, 27));
jButton2.setText("确定");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
­
}
});
}
return jButton2;
}
/**
* This method initializes jButton3
*
* @return javax.swing.JButton
*/
private JButton getJButton3() {
if (jButton3 == null) {
jButton3 = new JButton();
jButton3.setBounds(new Rectangle(196, 195, 66, 23));
jButton3.setText("取消");
jButton3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
//System.out.println("actionPerformed()"); // TODO Auto-generated Event
stub actionPerformed()
model2.removeAllElements();//删除右边列表框的所有元素
}
});
}
return jButton3;
}
}
温馨提示:答案为网友推荐,仅供参考