sajjad4563
سه شنبه 12 دی 1391, 17:36 عصر
باسلام و ممنون بابت پاسختان
من یک جدول دارم که اطلاعات را از فایل متنی میخواند و به درستی در داخل
سطر هایش قرار میدهد.
در این قسمت مشکلی نیست.
من میخواهم دکمه ای داشته باشم که وقتی که کاربر سطری را انتخاب میکند و
بر دکمه کلیک میکند، آن سطر حذف شوند و دوباره جدول مرتب شود، فعلا حذف
آن فایل از رکورد مد نظر نیست
این تمام کد من است:
import java.io.InputStreamReader;
import java.util.StringTokenizer;
import java.util.Vector;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;
public class RemoveRow extends AbstractTableModel{
Vector data;
Vector columns;
public RemoveRow() {
String line;
data = new Vector();
columns = new Vector();
try {
FileInputStream fis = new FileInputStream("D:\\AllUserRecords.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
StringTokenizer st1 = new StringTokenizer(br.readLine(), " ");
while (st1.hasMoreTokens())
columns.addElement(st1.nextToken());
while ((line = br.readLine()) != null) {
StringTokenizer st2 = new StringTokenizer(line, " ");
while (st2.hasMoreTokens())
data.addElement(st2.nextToken());
}
br.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public int getRowCount() {
return data.size() / getColumnCount();
}
public int getColumnCount() {
return columns.size();
}
public Object getValueAt(int rowIndex, int columnIndex) {
return (String) data.elementAt((rowIndex * getColumnCount())
+ columnIndex);
}
public static void main(String[] args){
final RemoveRow rR1=new RemoveRow();
JFrame frame=new JFrame();
final JTable table=new JTable();
table.setModel(rR1);
JPanel panel=new JPanel();
JButton button1=new JButton("Delete");
button1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
table.remove(table.getSelectedRow());
}
});
panel.add(button1);
panel.add(new JScrollPane(table));
frame.add(panel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOS E);
frame.setBounds(10, 10, 550, 300);
frame.setVisible(true);
}
}
اما دکمه کار نمیکنه و ارور میگیره.
لطفا کمکم کنید، ممنونم!
من یک جدول دارم که اطلاعات را از فایل متنی میخواند و به درستی در داخل
سطر هایش قرار میدهد.
در این قسمت مشکلی نیست.
من میخواهم دکمه ای داشته باشم که وقتی که کاربر سطری را انتخاب میکند و
بر دکمه کلیک میکند، آن سطر حذف شوند و دوباره جدول مرتب شود، فعلا حذف
آن فایل از رکورد مد نظر نیست
این تمام کد من است:
import java.io.InputStreamReader;
import java.util.StringTokenizer;
import java.util.Vector;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;
public class RemoveRow extends AbstractTableModel{
Vector data;
Vector columns;
public RemoveRow() {
String line;
data = new Vector();
columns = new Vector();
try {
FileInputStream fis = new FileInputStream("D:\\AllUserRecords.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
StringTokenizer st1 = new StringTokenizer(br.readLine(), " ");
while (st1.hasMoreTokens())
columns.addElement(st1.nextToken());
while ((line = br.readLine()) != null) {
StringTokenizer st2 = new StringTokenizer(line, " ");
while (st2.hasMoreTokens())
data.addElement(st2.nextToken());
}
br.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public int getRowCount() {
return data.size() / getColumnCount();
}
public int getColumnCount() {
return columns.size();
}
public Object getValueAt(int rowIndex, int columnIndex) {
return (String) data.elementAt((rowIndex * getColumnCount())
+ columnIndex);
}
public static void main(String[] args){
final RemoveRow rR1=new RemoveRow();
JFrame frame=new JFrame();
final JTable table=new JTable();
table.setModel(rR1);
JPanel panel=new JPanel();
JButton button1=new JButton("Delete");
button1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
table.remove(table.getSelectedRow());
}
});
panel.add(button1);
panel.add(new JScrollPane(table));
frame.add(panel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOS E);
frame.setBounds(10, 10, 550, 300);
frame.setVisible(true);
}
}
اما دکمه کار نمیکنه و ارور میگیره.
لطفا کمکم کنید، ممنونم!