•
•
•
•
What is DaniWeb IT Discussion Community?
You're currently browsing the Java section within the Software Development category of DaniWeb, a massive community of 456,507 software developers, web developers, Internet marketers, and tech gurus who are all enthusiastic about making contacts, networking, and learning from each other. In fact, there are 2,666 IT professionals currently interacting right now! Registration is free, only takes a minute and lets you enjoy all of the interactive features of the site.
Please support our Java advertiser: Lunarpages Java Web Hosting
Views: 825 | Replies: 5
![]() |
•
•
Join Date: Mar 2007
Posts: 20
Reputation:
Rep Power: 2
Solved Threads: 0
Hi. I'm new with Java's GUI Components and I'm having a hard time with my program
design right now. My program deals with manipulating database elements (i.e. fields
and records) and I'm stuck with asking the user to add a new record into the
database. My program originally works in the command line interface but when I
redesigned it to GUI, I got stuck since I'm not that familiar with the implementation.
The program initially does not know how many fields there is in the database. It
first asks the user to enter a textfile before calculating it. So when the file
is read and when the user clicks on the add button, a new frame will appear, asking
for new field values per field. I already had set up the frame but my problem is
how can I get the user-inputted values from the textFields and place them into
my database table? I always get null field values.. My problem lies somewhere
in this part of the code:
int n = dbHeaders.size();
values = new String[dbHeaders.size()];
addFrame=new JFrame("Add new record");
addFrame.setLayout(new BorderLayout());
addFrame.setSize(400,100);
addFrame.setVisible(true);
xPanel=new JPanel();
xPanel.setLayout(new GridLayout(n,1,4,4));
for(int i=0; i<dbHeaders.size();i++){
labels=new JLabel("Please enter "+dbHeaders.get(i)+": ");
fields=new JTextField(15);
xPanel.add(labels);
xPanel.add(fields);
values[i]=fields.getText();//something's wrong here...
addFrame.add(xPanel,BorderLayout.NORTH);
}
yPanel=new JPanel();
yPanel.setLayout(new FlowLayout());
aOk=new JButton("OK");
yPanel.add(aOk);
aOk.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
for(int j=0; j<values.length;j++){
String string=values[j];
System.out.println("fields: "+string);
//when i check in this part, string is always null...
}
record = new DBRecord(dbHeaders, values);
dbTable.add(record);
JOptionPane.showMessageDialog(null, "Record added.");
}
});
..And does anybody knows how to implement the "reset" button?
thanks in advance.
sakura
design right now. My program deals with manipulating database elements (i.e. fields
and records) and I'm stuck with asking the user to add a new record into the
database. My program originally works in the command line interface but when I
redesigned it to GUI, I got stuck since I'm not that familiar with the implementation.
The program initially does not know how many fields there is in the database. It
first asks the user to enter a textfile before calculating it. So when the file
is read and when the user clicks on the add button, a new frame will appear, asking
for new field values per field. I already had set up the frame but my problem is
how can I get the user-inputted values from the textFields and place them into
my database table? I always get null field values.. My problem lies somewhere
in this part of the code:
int n = dbHeaders.size();
values = new String[dbHeaders.size()];
addFrame=new JFrame("Add new record");
addFrame.setLayout(new BorderLayout());
addFrame.setSize(400,100);
addFrame.setVisible(true);
xPanel=new JPanel();
xPanel.setLayout(new GridLayout(n,1,4,4));
for(int i=0; i<dbHeaders.size();i++){
labels=new JLabel("Please enter "+dbHeaders.get(i)+": ");
fields=new JTextField(15);
xPanel.add(labels);
xPanel.add(fields);
values[i]=fields.getText();//something's wrong here...
addFrame.add(xPanel,BorderLayout.NORTH);
}
yPanel=new JPanel();
yPanel.setLayout(new FlowLayout());
aOk=new JButton("OK");
yPanel.add(aOk);
aOk.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
for(int j=0; j<values.length;j++){
String string=values[j];
System.out.println("fields: "+string);
//when i check in this part, string is always null...
}
record = new DBRecord(dbHeaders, values);
dbTable.add(record);
JOptionPane.showMessageDialog(null, "Record added.");
}
});
..And does anybody knows how to implement the "reset" button?
thanks in advance.
sakura
•
•
Join Date: Dec 2004
Location: London or Slovakia
Posts: 2,628
Reputation:
Rep Power: 12
Solved Threads: 311
Can you please post whole code and maybe text file that you try to read as given snipplet doesn't show any problems.
Reset button is as any other button in Java it is the functionality that you assign to it that matters. Be more specific of what you expect from it and we can help you
Reset button is as any other button in Java it is the functionality that you assign to it that matters. Be more specific of what you expect from it and we can help you
Learn to see in another's calamity the ills which you should avoid.
Publilius Syrus
(~100 BC)
LJC - London Java Community, JAVAWUG (Java Web User Group), Coding the Architecture
Publilius Syrus
(~100 BC)
LJC - London Java Community, JAVAWUG (Java Web User Group), Coding the Architecture
•
•
Join Date: Mar 2007
Posts: 20
Reputation:
Rep Power: 2
Solved Threads: 0
//here's the code.. it's kinda long and scattered though.. i haven't organized everything yet...
public class DatabaseDriver {
private JFrame main = new JFrame("Main Menu");//main menu
private JFrame frame;
private JFrame addFrame;
private JFrame updateFrame;
private JFrame printFrame;
private JPanel panel1,panel2;
private JPanel aPanel,bPanel,cPanel;
private JPanel xPanel,yPanel,zPanel;
private JPanel uPanel1,uPanel2,uPanel3;
private JPanel pPanel1, pPanel2,pPanel3;
private JLabel label1,label2;
private JLabel labels;
private JLabel uLabel1, uLabel2, uLabel3,uLabel4,uLabel5,uLabel6;
private JLabel pLabels1,pLabels2;
private JButton exit,add,update,delete,search,save,print,avl;
private JTextField anInput;
private JTextField fields;
private JTextField uTextField1, uTextField2, uTextField3;
private JButton ok, cancel;
private JButton aOk,aReset, aBack;
private JButton uOk,uReset,uBack;
private JButton pBack;
private static DBRecord record;
private static DBTable dbTable;
static String[] values;
static int a=0,b=0;
private static ArrayList<String> dbHeaders;
public DatabaseDriver(){
//set up welcome message
JOptionPane.showMessageDialog(null, "Welcome to the Database Manipulation Program!");
String name=JOptionPane.showInputDialog("What is your name, user?");
frame=new JFrame("Welcome");
frame.setLayout(new BorderLayout());
aPanel=new JPanel();
aPanel.setLayout(new FlowLayout());
label2=new JLabel("Hello, "+name+" !");
aPanel.add(label2);
frame.add(aPanel, BorderLayout.NORTH);
bPanel=new JPanel();
bPanel.setLayout(new FlowLayout());
label1=new JLabel("Please enter the filename of your database: ");
anInput=new JTextField(15);
bPanel.add(label1);
bPanel.add(anInput);
frame.add(bPanel, BorderLayout.CENTER);
cPanel=new JPanel(new FlowLayout());
ok=new JButton("OK");
cancel=new JButton("Cancel");
cPanel.add(ok);
cPanel.add(cancel);
frame.add(cPanel, BorderLayout.SOUTH);
frame.getContentPane().setBackground(Color.CYAN);
frame.setSize(300,150);
frame.setVisible(true);
ReadHandler readHandler=new ReadHandler();
ok.addActionListener(readHandler);//press ok button to read file
ExitHandler exitHandler=new ExitHandler();
cancel.addActionListener(exitHandler);//press cancel to exit program
//set up main menu GUI interface
main.setLayout(new BorderLayout());
add=new JButton("Add");
update=new JButton("Update");
delete=new JButton("Delete");
search=new JButton("Search");
avl=new JButton("Create AVL");
print=new JButton("Print");
save=new JButton("Save changes");
exit=new JButton("Exit");
panel1=new JPanel();
panel1.setLayout(new BorderLayout());
label1=new JLabel(" What do you want to do?");
panel1.add(label1);
panel1.setBackground(Color.ORANGE);
main.add(panel1,BorderLayout.CENTER);
panel2 = new JPanel();
panel2.setLayout(new GridLayout(8,1,4,4));
panel2.setBackground(Color.ORANGE);
panel2.add(add);
AddHandler aHandler = new AddHandler();
add.addActionListener(aHandler);
panel2.add(update);
UpdateHandler updateHandler=new UpdateHandler();
update.addActionListener(updateHandler);
panel2.add(delete);
DeleteHandler deleteHandler=new DeleteHandler();
delete.addActionListener(deleteHandler);
panel2.add(search);
SearchHandler searchHandler=new SearchHandler();
search.addActionListener(searchHandler);
panel2.add(avl);
CreateHandler createHandler=new CreateHandler();
avl.addActionListener(createHandler);
panel2.add(print);
PrintHandler printHandler=new PrintHandler();
print.addActionListener(printHandler);
panel2.add(save);
SaveHandler saveHandler=new SaveHandler();
save.addActionListener(saveHandler);
panel2.add(exit);
ExitHandler eHandler=new ExitHandler();
exit.addActionListener(eHandler);
main.add(panel2, BorderLayout.EAST);
main.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
main.setSize(350,200);
}
//register button listeners
private class ReadHandler implements ActionListener{
public void actionPerformed(ActionEvent event){
String line;
String nextLine;
String[] value;
String s = anInput.getText();
dbHeaders=new ArrayList<String>();
try{
FileReader fr = new FileReader(s);
BufferedReader br = new BufferedReader(fr);
line = br.readLine();
String[]headers =line.split(",");
for(String string: headers)
dbHeaders.add(string);
dbTable =new DBTable(dbHeaders);
while((nextLine = br.readLine()) != null){
value = nextLine.split(",");
record = new DBRecord(dbHeaders, value);
dbTable.add(record);
}
}
catch(FileNotFoundException e){
System.err.println("File Not Found");
}
catch(IOException io){
System.err.println("Error reading file!");
}
frame.setVisible(false);
main.setVisible(true);
}
}
private class AddHandler implements ActionListener{
public void actionPerformed(ActionEvent event){
//try{
main.setVisible(false);
int n = dbHeaders.size();
values = new String[dbHeaders.size()];
addFrame=new JFrame("Add new record");
addFrame.setLayout(new BorderLayout());
addFrame.setSize(400,100);
addFrame.setVisible(true);
xPanel=new JPanel();
xPanel.setLayout(new GridLayout(n,1,4,4));
//String line="";
for(int i=0; i<dbHeaders.size();i++){
labels=new JLabel("Please enter "+dbHeaders.get(i)+": ");
fields=new JTextField(15);
xPanel.add(labels);
xPanel.add(fields);
addFrame.add(xPanel,BorderLayout.NORTH);
//line=JOptionPane.showInputDialog("Please enter "+dbHeaders.get(i)+": ");
}
yPanel=new JPanel();
yPanel.setLayout(new FlowLayout());
aOk=new JButton("OK");
yPanel.add(aOk);
aOk.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
for(int j=0; j<values.length;j++){
String string=values[j];
System.out.println("fields: "+string);
}
record = new DBRecord(dbHeaders, values);
dbTable.add(record);
JOptionPane.showMessageDialog(null, "Record added.");
}
});
aReset=new JButton("RESET");
yPanel.add(aReset);
addFrame.add(yPanel,BorderLayout.CENTER);
zPanel=new JPanel();
zPanel.setLayout(new BorderLayout());
aBack=new JButton("Back to Main Menu");
zPanel.add(aBack,BorderLayout.EAST);
addFrame.add(zPanel,BorderLayout.SOUTH);
addFrame.pack();
aBack.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
addFrame.setVisible(false);
main.setVisible(true);
}
});
//}
//catch(IOException io){
//System.err.println("Bad input");
//}
}
}
private class UpdateHandler implements ActionListener{
public void actionPerformed(ActionEvent event){
main.setVisible(false);
updateFrame=new JFrame("Update record");
updateFrame.setLayout(new FlowLayout());
updateFrame.setSize(300,200);
updateFrame.setVisible(true);
int n=dbHeaders.size();
uPanel1=new JPanel();
uPanel1.setLayout(new FlowLayout());
uLabel1=new JLabel("Please enter record number: ");
uPanel1.add(uLabel1);
uTextField1=new JTextField(10);
uPanel1.add(uTextField1);
uLabel2=new JLabel("*record number starts from 0 onwards.");
uPanel1.add(uLabel2);
uLabel2.setFont(new Font("Serif", Font.ITALIC,12));
String str=uTextField1.getText();;
a=Integer.parseInt(str);
uLabel3=new JLabel("What field do you want to update in "+dbTable.get(a)+"?");
uPanel1.add(uLabel3);
updateFrame.add(uPanel1);
uPanel2=new JPanel();
uPanel2.setLayout(new GridLayout(n,1,3,3));
for(int i=0; i<dbHeaders.size();i++){
uLabel4=new JLabel("["+i+"]"+ dbHeaders.get(i));
uPanel2.add(uLabel4);
updateFrame.add(uPanel2);
}
uPanel3=new JPanel();
uPanel3.setLayout(new FlowLayout());
uLabel5=new JLabel("Please enter your choice:");
uTextField2=new JTextField(10);
String str2=uTextField2.getText();
b=Integer.parseInt(str2);
record = dbTable.get(a);
String[] values = record.toString().split(",");
uLabel6=new JLabel("Please enter your new value to replace "+values[b]);
uTextField3=new JTextField(15);
uOk=new JButton("OK");
uOk.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
record.put(dbHeaders.get(b), uTextField3.getText());
}
});
uBack=new JButton("Back to Main Menu");
uPanel3.add(uLabel5);
uPanel3.add(uTextField2);
uPanel3.add(uLabel6);
uPanel3.add(uTextField3);
uPanel3.add(uOk);
uPanel3.add(uBack);
updateFrame.add(uPanel3);
updateFrame.pack();
uBack.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
updateFrame.setVisible(false);
main.setVisible(true);
}
});
}
}
private class DeleteHandler implements ActionListener{
public void actionPerformed(ActionEvent event){
dbTable.deleteRecord();
}
}
private class SearchHandler implements ActionListener{
public void actionPerformed(ActionEvent event){
dbTable.searchRecord();
}
}
private class CreateHandler implements ActionListener{
public void actionPerformed(ActionEvent event){
dbTable.createAVL();
}
}
private class PrintHandler implements ActionListener{
public void actionPerformed(ActionEvent event){
main.setVisible(false);
printFrame=new JFrame("Database");
printFrame.setLayout(new BorderLayout());
printFrame.setSize(200,150);
printFrame.setVisible(true);
int m=dbHeaders.size();
int n=dbTable.size();
pPanel1=new JPanel();
pPanel1.setLayout(new FlowLayout());
for(int i=0;i<m;i++){
pLabels1=new JLabel(dbHeaders.get(i));
pPanel1.add(pLabels1);
printFrame.add(pPanel1, BorderLayout.NORTH);
}
pPanel2=new JPanel();
pPanel2.setLayout(new GridLayout(n,1,3,3));
for(int j=0; j<n;j++){
pLabels2=new JLabel(dbTable.get(j).toString());
pPanel2.add(pLabels2);
printFrame.add(pPanel2,BorderLayout.CENTER);
}
pPanel3=new JPanel();
pPanel3.setLayout(new GridLayout(1,1,4,4));
pBack=new JButton("Back to Main Menu");
pBack.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
printFrame.setVisible(false);
main.setVisible(true);
}
});
pPanel3.add(pBack);
printFrame.add(pPanel3,BorderLayout.SOUTH);
printFrame.pack();
printFrame.setResizable(true);
}
}
private class SaveHandler implements ActionListener{
public void actionPerformed(ActionEvent event){
dbTable.saveChanges();
}
}
private class ExitHandler implements ActionListener{
public void actionPerformed(ActionEvent event){
System.exit(1);
}
}
//main program
public static void main(String[] args)throws IOException{
new DatabaseDriver();
}
//here's a sample content of the file/database
StudNum, Name, Exer1, Exer2, Exer3
99-60088, jpatino, 88, 90, 90
05-17955, kgo, 78, 80, 76
08-12345, jgo, 90, 78, 60
05-45678, aty, 78, 67, 80
06-34567, aco, 90, 89, 94
98-67890, byao, 69, 77, 66
00-99999, tyu, 56, 65, 86
01-23422, wuy, 43, 23, 20
92-00023, ptio, 78, 88, 65
95-00100, llim, 90, 45, 85
public class DatabaseDriver {
private JFrame main = new JFrame("Main Menu");//main menu
private JFrame frame;
private JFrame addFrame;
private JFrame updateFrame;
private JFrame printFrame;
private JPanel panel1,panel2;
private JPanel aPanel,bPanel,cPanel;
private JPanel xPanel,yPanel,zPanel;
private JPanel uPanel1,uPanel2,uPanel3;
private JPanel pPanel1, pPanel2,pPanel3;
private JLabel label1,label2;
private JLabel labels;
private JLabel uLabel1, uLabel2, uLabel3,uLabel4,uLabel5,uLabel6;
private JLabel pLabels1,pLabels2;
private JButton exit,add,update,delete,search,save,print,avl;
private JTextField anInput;
private JTextField fields;
private JTextField uTextField1, uTextField2, uTextField3;
private JButton ok, cancel;
private JButton aOk,aReset, aBack;
private JButton uOk,uReset,uBack;
private JButton pBack;
private static DBRecord record;
private static DBTable dbTable;
static String[] values;
static int a=0,b=0;
private static ArrayList<String> dbHeaders;
public DatabaseDriver(){
//set up welcome message
JOptionPane.showMessageDialog(null, "Welcome to the Database Manipulation Program!");
String name=JOptionPane.showInputDialog("What is your name, user?");
frame=new JFrame("Welcome");
frame.setLayout(new BorderLayout());
aPanel=new JPanel();
aPanel.setLayout(new FlowLayout());
label2=new JLabel("Hello, "+name+" !");
aPanel.add(label2);
frame.add(aPanel, BorderLayout.NORTH);
bPanel=new JPanel();
bPanel.setLayout(new FlowLayout());
label1=new JLabel("Please enter the filename of your database: ");
anInput=new JTextField(15);
bPanel.add(label1);
bPanel.add(anInput);
frame.add(bPanel, BorderLayout.CENTER);
cPanel=new JPanel(new FlowLayout());
ok=new JButton("OK");
cancel=new JButton("Cancel");
cPanel.add(ok);
cPanel.add(cancel);
frame.add(cPanel, BorderLayout.SOUTH);
frame.getContentPane().setBackground(Color.CYAN);
frame.setSize(300,150);
frame.setVisible(true);
ReadHandler readHandler=new ReadHandler();
ok.addActionListener(readHandler);//press ok button to read file
ExitHandler exitHandler=new ExitHandler();
cancel.addActionListener(exitHandler);//press cancel to exit program
//set up main menu GUI interface
main.setLayout(new BorderLayout());
add=new JButton("Add");
update=new JButton("Update");
delete=new JButton("Delete");
search=new JButton("Search");
avl=new JButton("Create AVL");
print=new JButton("Print");
save=new JButton("Save changes");
exit=new JButton("Exit");
panel1=new JPanel();
panel1.setLayout(new BorderLayout());
label1=new JLabel(" What do you want to do?");
panel1.add(label1);
panel1.setBackground(Color.ORANGE);
main.add(panel1,BorderLayout.CENTER);
panel2 = new JPanel();
panel2.setLayout(new GridLayout(8,1,4,4));
panel2.setBackground(Color.ORANGE);
panel2.add(add);
AddHandler aHandler = new AddHandler();
add.addActionListener(aHandler);
panel2.add(update);
UpdateHandler updateHandler=new UpdateHandler();
update.addActionListener(updateHandler);
panel2.add(delete);
DeleteHandler deleteHandler=new DeleteHandler();
delete.addActionListener(deleteHandler);
panel2.add(search);
SearchHandler searchHandler=new SearchHandler();
search.addActionListener(searchHandler);
panel2.add(avl);
CreateHandler createHandler=new CreateHandler();
avl.addActionListener(createHandler);
panel2.add(print);
PrintHandler printHandler=new PrintHandler();
print.addActionListener(printHandler);
panel2.add(save);
SaveHandler saveHandler=new SaveHandler();
save.addActionListener(saveHandler);
panel2.add(exit);
ExitHandler eHandler=new ExitHandler();
exit.addActionListener(eHandler);
main.add(panel2, BorderLayout.EAST);
main.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
main.setSize(350,200);
}
//register button listeners
private class ReadHandler implements ActionListener{
public void actionPerformed(ActionEvent event){
String line;
String nextLine;
String[] value;
String s = anInput.getText();
dbHeaders=new ArrayList<String>();
try{
FileReader fr = new FileReader(s);
BufferedReader br = new BufferedReader(fr);
line = br.readLine();
String[]headers =line.split(",");
for(String string: headers)
dbHeaders.add(string);
dbTable =new DBTable(dbHeaders);
while((nextLine = br.readLine()) != null){
value = nextLine.split(",");
record = new DBRecord(dbHeaders, value);
dbTable.add(record);
}
}
catch(FileNotFoundException e){
System.err.println("File Not Found");
}
catch(IOException io){
System.err.println("Error reading file!");
}
frame.setVisible(false);
main.setVisible(true);
}
}
private class AddHandler implements ActionListener{
public void actionPerformed(ActionEvent event){
//try{
main.setVisible(false);
int n = dbHeaders.size();
values = new String[dbHeaders.size()];
addFrame=new JFrame("Add new record");
addFrame.setLayout(new BorderLayout());
addFrame.setSize(400,100);
addFrame.setVisible(true);
xPanel=new JPanel();
xPanel.setLayout(new GridLayout(n,1,4,4));
//String line="";
for(int i=0; i<dbHeaders.size();i++){
labels=new JLabel("Please enter "+dbHeaders.get(i)+": ");
fields=new JTextField(15);
xPanel.add(labels);
xPanel.add(fields);
addFrame.add(xPanel,BorderLayout.NORTH);
//line=JOptionPane.showInputDialog("Please enter "+dbHeaders.get(i)+": ");
}
yPanel=new JPanel();
yPanel.setLayout(new FlowLayout());
aOk=new JButton("OK");
yPanel.add(aOk);
aOk.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
for(int j=0; j<values.length;j++){
String string=values[j];
System.out.println("fields: "+string);
}
record = new DBRecord(dbHeaders, values);
dbTable.add(record);
JOptionPane.showMessageDialog(null, "Record added.");
}
});
aReset=new JButton("RESET");
yPanel.add(aReset);
addFrame.add(yPanel,BorderLayout.CENTER);
zPanel=new JPanel();
zPanel.setLayout(new BorderLayout());
aBack=new JButton("Back to Main Menu");
zPanel.add(aBack,BorderLayout.EAST);
addFrame.add(zPanel,BorderLayout.SOUTH);
addFrame.pack();
aBack.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
addFrame.setVisible(false);
main.setVisible(true);
}
});
//}
//catch(IOException io){
//System.err.println("Bad input");
//}
}
}
private class UpdateHandler implements ActionListener{
public void actionPerformed(ActionEvent event){
main.setVisible(false);
updateFrame=new JFrame("Update record");
updateFrame.setLayout(new FlowLayout());
updateFrame.setSize(300,200);
updateFrame.setVisible(true);
int n=dbHeaders.size();
uPanel1=new JPanel();
uPanel1.setLayout(new FlowLayout());
uLabel1=new JLabel("Please enter record number: ");
uPanel1.add(uLabel1);
uTextField1=new JTextField(10);
uPanel1.add(uTextField1);
uLabel2=new JLabel("*record number starts from 0 onwards.");
uPanel1.add(uLabel2);
uLabel2.setFont(new Font("Serif", Font.ITALIC,12));
String str=uTextField1.getText();;
a=Integer.parseInt(str);
uLabel3=new JLabel("What field do you want to update in "+dbTable.get(a)+"?");
uPanel1.add(uLabel3);
updateFrame.add(uPanel1);
uPanel2=new JPanel();
uPanel2.setLayout(new GridLayout(n,1,3,3));
for(int i=0; i<dbHeaders.size();i++){
uLabel4=new JLabel("["+i+"]"+ dbHeaders.get(i));
uPanel2.add(uLabel4);
updateFrame.add(uPanel2);
}
uPanel3=new JPanel();
uPanel3.setLayout(new FlowLayout());
uLabel5=new JLabel("Please enter your choice:");
uTextField2=new JTextField(10);
String str2=uTextField2.getText();
b=Integer.parseInt(str2);
record = dbTable.get(a);
String[] values = record.toString().split(",");
uLabel6=new JLabel("Please enter your new value to replace "+values[b]);
uTextField3=new JTextField(15);
uOk=new JButton("OK");
uOk.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
record.put(dbHeaders.get(b), uTextField3.getText());
}
});
uBack=new JButton("Back to Main Menu");
uPanel3.add(uLabel5);
uPanel3.add(uTextField2);
uPanel3.add(uLabel6);
uPanel3.add(uTextField3);
uPanel3.add(uOk);
uPanel3.add(uBack);
updateFrame.add(uPanel3);
updateFrame.pack();
uBack.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
updateFrame.setVisible(false);
main.setVisible(true);
}
});
}
}
private class DeleteHandler implements ActionListener{
public void actionPerformed(ActionEvent event){
dbTable.deleteRecord();
}
}
private class SearchHandler implements ActionListener{
public void actionPerformed(ActionEvent event){
dbTable.searchRecord();
}
}
private class CreateHandler implements ActionListener{
public void actionPerformed(ActionEvent event){
dbTable.createAVL();
}
}
private class PrintHandler implements ActionListener{
public void actionPerformed(ActionEvent event){
main.setVisible(false);
printFrame=new JFrame("Database");
printFrame.setLayout(new BorderLayout());
printFrame.setSize(200,150);
printFrame.setVisible(true);
int m=dbHeaders.size();
int n=dbTable.size();
pPanel1=new JPanel();
pPanel1.setLayout(new FlowLayout());
for(int i=0;i<m;i++){
pLabels1=new JLabel(dbHeaders.get(i));
pPanel1.add(pLabels1);
printFrame.add(pPanel1, BorderLayout.NORTH);
}
pPanel2=new JPanel();
pPanel2.setLayout(new GridLayout(n,1,3,3));
for(int j=0; j<n;j++){
pLabels2=new JLabel(dbTable.get(j).toString());
pPanel2.add(pLabels2);
printFrame.add(pPanel2,BorderLayout.CENTER);
}
pPanel3=new JPanel();
pPanel3.setLayout(new GridLayout(1,1,4,4));
pBack=new JButton("Back to Main Menu");
pBack.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
printFrame.setVisible(false);
main.setVisible(true);
}
});
pPanel3.add(pBack);
printFrame.add(pPanel3,BorderLayout.SOUTH);
printFrame.pack();
printFrame.setResizable(true);
}
}
private class SaveHandler implements ActionListener{
public void actionPerformed(ActionEvent event){
dbTable.saveChanges();
}
}
private class ExitHandler implements ActionListener{
public void actionPerformed(ActionEvent event){
System.exit(1);
}
}
//main program
public static void main(String[] args)throws IOException{
new DatabaseDriver();
}
//here's a sample content of the file/database
StudNum, Name, Exer1, Exer2, Exer3
99-60088, jpatino, 88, 90, 90
05-17955, kgo, 78, 80, 76
08-12345, jgo, 90, 78, 60
05-45678, aty, 78, 67, 80
06-34567, aco, 90, 89, 94
98-67890, byao, 69, 77, 66
00-99999, tyu, 56, 65, 86
01-23422, wuy, 43, 23, 20
92-00023, ptio, 78, 88, 65
95-00100, llim, 90, 45, 85
•
•
Join Date: Mar 2007
Posts: 20
Reputation:
Rep Power: 2
Solved Threads: 0
oh and about the reset button, i want to implement it like that of forms wherein if the user wants to cancel the inputs he typed in, the inputs would be erased by clicking the reset button... does it help if i call the constructor again? but i think it'll just open another bunch of main menu frames...
Last edited by sakura_fujin : Sep 26th, 2007 at 6:06 am.
•
•
•
•
actually i still have problems with regards to this project of mine, GUI is really not the priority, il post a new thread with regards to it, tnx
And use code tags! Both here and in the other post, you have posted a huge wall of code without any formatting, which no one wants to wade through. Please read the announcement at the top of the forum and use code tags as requested.
![]() |
•
•
•
•
•
•
•
•
DaniWeb Java Marketplace
•
•
•
•
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
- Windows GUI - problem with dialog box (C++)
- Python GUI Problem (Python)
- passing values and displaying images in a GUI (Java)
- JFrame GUI Problem (Java)
- Java GUI problem... contents of JFrame is invisible... (Java)
- basic java GUI problem (Java)
Other Threads in the Java Forum
- Previous Thread: Drawing an Ellipse
- Next Thread: how to center a dialog window?



Linear Mode