已有101人关注
21章2.2 本人对原代码少做修改却不对了,求指教
发表在Java图书答疑 2013-08-11
是否精华
版块置顶:
package com;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.WindowStateListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.ListSelectionModel;
import javax.swing.WindowConstants;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableRowSorter;

public class ExampleJframe_06 extends JFrame {
private DefaultTableModel model;
private JTable table;
private TableRowSorter<DefaultTableModel> tablesort=new TableRowSorter<DefaultTableModel>(model);
private JTextField aTextField;
private JTextField bTextField;
private JButton addBotton;
private JButton resetBotton;
private JButton delBotton;

    public ExampleJframe_06() {
// TODO 自动生成的构造函数存根
     Container cn=getContentPane();
     setVisible(true);
     setBounds(100, 100, 510, 375);
     setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
     setLayout(new BorderLayout());
    
     String[] columnNames={"A","B"};
     String[][] values={{"A1","B1"},{"A2","B2"}};
     model=new DefaultTableModel(values, columnNames);
     table=new JTable(model);
     table.setRowSorter(tablesort);
     table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
     table.addMouseListener(new MouseAdapter() {
     @Override
     public void mouseClicked(MouseEvent e) {
     // TODO 自动生成的方法存根
     int selectedRow=table.getSelectedRow();
     Object a=table.getValueAt(selectedRow, 0);
     Object b=table.getValueAt(selectedRow, 0);
     aTextField.setText(a.toString());
     bTextField.setText(b.toString());
     }
});
     JScrollPane spane=new JScrollPane(table);
    
     JPanel jp=new JPanel(new FlowLayout());
     JLabel a=new JLabel("A");
     JLabel b=new JLabel("B");
     aTextField=new JTextField(10);
     bTextField=new JTextField(10);
     addBotton=new JButton("添加");
     resetBotton=new JButton("修改 ");
     delBotton=new JButton("删除");
     jp.add(a);
     jp.add(aTextField);
     jp.add(b);
     jp.add(bTextField);
     jp.add(addBotton);
     jp.add(resetBotton);
     jp.add(delBotton);
     cn.add(spane,BorderLayout.CENTER);
     cn.add(jp,BorderLayout.SOUTH);
    
     addBotton.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent arg0) {
// TODO 自动生成的方法存根
String[] rowValues={aTextField.getText(),bTextField.getText()};
model.addRow(rowValues);

}
});
     resetBotton.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent arg0) {
// TODO 自动生成的方法存根
int row=table.getSelectedRow();
String a=aTextField.getText();
String b=bTextField.getText();
table.setValueAt(a, row,0);
table.setValueAt(a, row, 1);

}
});
     delBotton.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
// TODO 自动生成的方法存根
int a=table.getSelectedRow();
if(a!=-1)
model.removeRow(a);
}
});
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
         new ExampleJframe_06();
}

}
分享到:
精彩评论 1
无语_mrkj
学分:3155 LV11
2013-08-13
沙发
由于您自己对程序源代码进行了修改,所以我们不好确定究竟是哪里出现了问题。所以请您仔细对照源代码进行修改。
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照