السلام عليكم ورحمة الله وبركاته
عندي برنامج وعاوزة اعمل فيه File بحيث ان هذا الملف يحتوي على مجموعة من الحقول في سجل
وكيف ممكن اعرض هذا الملف في الجافا كأنه جدول
اتمني الذي عند فكرة يرد عليا وله جزيل الشكر
السلام عليكم ورحمة الله وبركاته
عندي برنامج وعاوزة اعمل فيه File بحيث ان هذا الملف يحتوي على مجموعة من الحقول في سجل
وكيف ممكن اعرض هذا الملف في الجافا كأنه جدول
اتمني الذي عند فكرة يرد عليا وله جزيل الشكر
لا اله الا أنت سبحانك أني كنت من الظالمين
---------------------------------------------------------------------
أرجو أن تتمكن من استخدام هذا الكود والاستفادة من طريقة عرضه للبيانات في عمل عرض في ما يشبه الجدول
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class Library3 extends JFrame {
JTextField bookNumber,writerName,publisher,StudentNo;
JButton bsave;
String fileName="c:\\Library.dat";
final int Size=1000;
RandomAccessFile fout=null;
public Library3() {
super("The Library");
Container c=getContentPane();
JPanel panel=new JPanel();
bookNumber=new JTextField(20);
writerName=new JTextField(20);
publisher=new JTextField(20);
StudentNo=new JTextField(20);
bsave=new JButton("Save");
panel.setLayout(new GridLayout(4,2));
panel.add(new JLabel(" Book Number :"));
panel.add(bookNumber);
panel.add(new JLabel(" Writer :"));
panel.add(writerName);
panel.add(new JLabel(" Publisher :"));
panel.add(publisher);
panel.add(new JLabel(" Borrower ID :"));
panel.add(StudentNo);
JPanel south=new JPanel();
south.add(bsave);
c.add(bsave,BorderLayout.SOUTH);
c.add(panel,BorderLayout.CENTER);
try {
fout=new RandomAccessFile(fileName, "rw");
}
catch(Exception excep){
JOptionPane.showMessageDialog(this,"Error","Error",JOptionPane.ERROR_MESSAGE);
}
bsave.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
saveRecord();
}
});
bookNumber.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
getData();
}
});
createRandomFile(1000);
setSize(300,180);
setVisible(true);
setLocation(200,150);
}
public void saveRecord(){
try{
int num=Integer.parseInt(bookNumber.getText().trim());
String wName=writerName.getText().trim();
String publish=publisher.getText().trim();
int id=Integer.parseInt(StudentNo.getText().trim());
if(num==0||num>=1000||wName.equalsIgnoreCase("")){
JOptionPane.showMessageDialog(this,"Enter Correct Book No.","Error",JOptionPane.ERROR_MESSAGE);
}
try{
fout.seek((num-1)*Size);
fout.writeInt(num);
StringBuffer bf=new StringBuffer(20);
bf.append(wName);
bf.setLength(20);
fout.writeChars(bf.toString());
StringBuffer bf2=new StringBuffer(20);
bf2.append(publish);
bf2.setLength(20);
fout.writeChars(bf2.toString());
fout.writeInt(id);
clear();
}
catch(Exception excep){}
}
catch(Exception excep){
JOptionPane.showMessageDialog(this,"Check Your Data");
}
}
public void clear(){
bookNumber.setText("");
writerName.setText("");
publisher.setText("");
StudentNo.setText("");
}
public void getData(){
try{
int rec=Integer.parseInt(bookNumber.getText().trim());
if(rec==0||rec>1000){
return;
}
try{
fout.seek((rec-1)*Size);
fout.readInt();
StringBuffer bf=new StringBuffer(20);
StringBuffer bf2=new StringBuffer(20);
char c;
char d;
for(int i=0;i<20;i++){
c=fout.readChar();
bf.append(c);
}
for(int i=0;i<20;i++){
d=fout.readChar();
bf2.append(d);
}
writerName.setText(bf.toString().trim());
publisher.setText(bf2.toString().trim());
StudentNo.setText(String.valueOf(fout.readInt()));
}
catch(Exception excep){ }
}
catch(Exception excep){
JOptionPane.showMessageDialog(this,"Check your data");
}
}
public void createRandomFile(int n){
try{
RandomAccessFile out=new RandomAccessFile(fileName, "rw");
for(int i=0;i<n;i++){
out.writeInt(0);
StringBuffer bf=new StringBuffer(20);
out.writeChars(bf.toString());
out.writeInt(0);
out.writeInt(0);
out.close();
}
}
catch(Exception except){}
}
public static void main(String[] args) {
Library3 a=new Library3();
a.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}شكرا جدا انا كمان كنت محتاج الموضوع ده
هذا الموضوع مغلق.