想做一个窗口,点击确定后d出一个以表格形式显示数据库记录的窗口,用JAVA做的话,代码应如何写!谢谢!

想做一个窗口,点击确定后d出一个以表格形式显示数据库记录的窗口,用JAVA做的话,代码应如何写!谢谢!,第1张

创建表格模型,然后创建表格。

简单举例一下:

实例化一个表格模型对象,

CustomTableModel model=new CustomTableModel(0,columnNames.length,columnNames,dataType)

再创建表格对象

JTable table=new JTable(model)

设置相关属性

table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF)

等等

实现方法

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=0i<a.lengthi++)

{

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=0i<items.lengthi++)//从左边选中元素,往右边的列表中添加元素

{

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=0i<jList1.getSelectedValues().lengthi++)

{

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

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11926955.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存