I need help using the FileChooser. Here's what I'm trying to do: I need to show the Open Dialog Box if the "JMenuItem open" is clicked and the Save Dialog Box if "JMenuItem save" is clicked.
I'm still a newbie so go easy on me :) This is just a homework, please don't mind the other codes. Any answers will be appreciated :)
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.filechooser.*;
public class Assignment extends JFrame implements ActionListener {
JMenuBar villsBar = new JMenuBar();
JMenu file = new JMenu("File");
JFileChooser fc = new JFileChooser();
JMenuItem open = new JMenuItem("Open");
JMenuItem save = new JMenuItem("Save");
JMenuItem print = new JMenuItem("Print");
JMenuItem close = new JMenuItem("Close");
JMenu computation = new JMenu("Computation");
JMenu grades = new JMenu("Grades");
JMenuItem circle = new JMenuItem("Circle");
JMenuItem triangle = new JMenuItem("Triangle");
JMenuItem square = new JMenuItem("Square");
JMenuItem twoNumbers = new JMenuItem("Two Numbers");
JMenuItem frstSem = new JMenuItem("1st Sem");
JMenuItem secSem = new JMenuItem("2nd Sem");
JMenu info = new JMenu("Information");
JMenu personal = new JMenu("Personal");
JMenuItem member = new JMenuItem("Member 1");
JLabel picture = new JLabel(new ImageIcon("D:\\Vill\\Wallpapers\\Picture.png"));
JMenu quotes = new JMenu("Quotes");
JMenu others = new JMenu("Others");
JMenuItem order = new JMenuItem("Order");
JMenuItem calc = new JMenuItem("Calculator");
JMenuItem exit = new JMenuItem("Exit");
Button buttons[];
Panel panelbtn, screenPanel;
JTextField screen;
String test1,test2,test3,test4,test5;
JLabel space1 = new JLabel (" ");
JLabel space2 = new JLabel (" ");
int tester;
double answer;
boolean clicked, afterclicked;
FlowLayout layout = new FlowLayout();
Container calcula = new Container();
Container mmber = new Container();
public Assignment(){
super("Assignment");
setVisible(true);
setLayout(layout);
setBounds(500,200,500,500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setJMenuBar(villsBar);
villsBar.add(file);
file.setMnemonic('F');
file.add(open);
open.setMnemonic('O');
file.addSeparator();
file.add(save);
save.setMnemonic('S');
file.addSeparator();
file.add(print);
print.setMnemonic('P');
file.addSeparator();
file.add(close);
close.setMnemonic('C');
villsBar.add(computation);
computation.setMnemonic('C');
computation.add(grades);
grades.setMnemonic('G');
grades.add(frstSem);
frstSem.setMnemonic('1');
grades.addSeparator();
grades.add(secSem);
secSem.setMnemonic('2');
grades.addSeparator();
computation.addSeparator();
computation.add(circle);
circle.setMnemonic('C');
computation.addSeparator();
computation.add(triangle);
triangle.setMnemonic('T');
computation.addSeparator();
computation.add(square);
square.setMnemonic('S');
computation.addSeparator();
computation.add(twoNumbers);
twoNumbers.setMnemonic('T');
villsBar.add(info);
info.setMnemonic('I');
info.add(personal);
personal.setMnemonic('P');
personal.add(member);
member.setMnemonic('M');
info.addSeparator();
info.add(quotes);
quotes.setMnemonic('Q');
info.addSeparator();
villsBar.add(others);
others.setMnemonic('O');
others.add(order);
order.setMnemonic('O');
others.addSeparator();
others.add(calc);
calc.setMnemonic('C');
others.addSeparator();
others.add(exit);
exit.setMnemonic('E');
member.addActionListener(this);
calc.addActionListener(this);
exit.addActionListener(this);
add(mmber);
mmber.setLayout(layout);
picture.setVisible(false);
mmber.add(picture);
add(calcula);
screen = new JTextField(20);
screen.setVisible(false);
screen.setEditable(false);
calcula.add(screen);
panelbtn = new Panel();
panelbtn.setVisible(false);
calcula.add(panelbtn);
screenPanel = new Panel();
screenPanel.setVisible(false);
calcula.add(screenPanel);
buttons = new Button[18];
for (int v=0; v<=9; v++) {
buttons[v] = new Button(String.valueOf(v));
buttons[v].setVisible(false);}
buttons[10] = new Button("/");
buttons[10].setVisible(false);
buttons[11] = new Button("*");
buttons[11].setVisible(false);
buttons[12] = new Button("-");
buttons[12].setVisible(false);
buttons[13] = new Button("+");
buttons[13].setVisible(false);
buttons[14] = new Button("=");
buttons[14].setVisible(false);
buttons[15] = new Button(".");
buttons[15].setVisible(false);
buttons[16] = new Button("Clear");
buttons[16].setVisible(false);
buttons[17] = new Button("Off");
buttons[17].setVisible(false);
screenPanel.add(screen);
screenPanel.setLayout(new GridLayout(2,2));
calcula.setLayout(new BorderLayout());
panelbtn.setLayout(new GridLayout(5,4,3,3));
panelbtn.add(buttons[16]);
panelbtn.add(space1);
panelbtn.add(buttons[17]);
panelbtn.add(space2);
panelbtn.add(buttons[7]);
panelbtn.add(buttons[8]);
panelbtn.add(buttons[9]);
panelbtn.add(buttons[10]);
panelbtn.add(buttons[4]);
panelbtn.add(buttons[5]);
panelbtn.add(buttons[6]);
panelbtn.add(buttons[11]);
panelbtn.add(buttons[1]);
panelbtn.add(buttons[2]);
panelbtn.add(buttons[3]);
panelbtn.add(buttons[12]);
panelbtn.add(buttons[0]);
panelbtn.add(buttons[15]);
panelbtn.add(buttons[14]);
panelbtn.add(buttons[13]);
for (int v=0; v<buttons.length; v++)
buttons[v].addActionListener(this);
add(screenPanel, BorderLayout.NORTH);
add(panelbtn, BorderLayout.CENTER);
}
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
if (source == open) {
}
if (source == save) {
}
if (source == member) {
picture.setVisible(true);
screen.setVisible(false);
panelbtn.setVisible(false);
screenPanel.setVisible(false);
for (int v=0; v<=9; v++)
buttons[v].setVisible(false);
buttons[10].setVisible(false);
buttons[11].setVisible(false);
buttons[12].setVisible(false);
buttons[13].setVisible(false);
buttons[14].setVisible(false);
buttons[15].setVisible(false);
buttons[16].setVisible(false);
buttons[17].setVisible(false); }
if (source == exit)
System.exit(0);
if (source == calc) {
picture.setVisible(false);
screen.setVisible(true);
panelbtn.setVisible(true);
screenPanel.setVisible(true);
for (int v=0; v<=9; v++)
buttons[v].setVisible(true);
buttons[10].setVisible(true);
buttons[11].setVisible(true);
buttons[12].setVisible(true);
buttons[13].setVisible(true);
buttons[14].setVisible(true);
buttons[15].setVisible(true);
buttons[16].setVisible(true);
buttons[17].setVisible(true); }
clicked = false;
for (int v=0; v<buttons.length && !clicked; v++){
Object numbahs = e.getSource();
if(numbahs == buttons[v]){
clicked = true;
switch(v){
case 0: case 1: case 2: case 3: case 4: case 5:
case 6: case 7: case 8: case 9: case 15:
if(afterclicked){
screen.setText("");
afterclicked = false;
}
screen.setText(screen.getText() + buttons[v].getLabel());
break;
}
}
}
if(e.getSource()==buttons[13]){
test1=screen.getText();
screen.setText("");
tester=1;
}
if(e.getSource()==buttons[12]){
test1=screen.getText();
screen.setText("");
tester=2;
}
if(e.getSource()==buttons[11]){
test1=screen.getText();
screen.setText("");
tester=3;
}
if(e.getSource()==buttons[10]){
test1=screen.getText();
screen.setText("");
tester=4;
}
if(e.getSource()==buttons[14]){
for(int x=0;x<16;x++)
buttons[x].setEnabled(false);
test2=screen.getText();
if(tester==1){
answer=Double.parseDouble(test1)+Double.parseDouble(test2);
screen.setText(String.valueOf(answer));
}
else
if(tester==2){
answer=Double.parseDouble(test1)-Double.parseDouble(test2);
screen.setText(String.valueOf(answer));
}
else
if(tester==3){
answer=Double.parseDouble(test1)*Double.parseDouble(test2);
}
else
if(tester==4){
answer=Double.parseDouble(test1)/Double.parseDouble(test2);
screen.setText(String.valueOf(answer));
}
}
if(e.getSource()==buttons[16]){
for(int x=0;x<16;x++){
buttons[x].setEnabled(true);
screen.setText("");
}
}
if(e.getSource()==buttons[17])
System.exit(0);
}
public static void main(String args []) {
Assignment frame = new Assignment();
}
}
this is the part where I need help:
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
if (source == open) {
}
if (source == save) {
}