This must be a classic 'if I had a dollar' kind of question, but I'm confused about calling methods in other classes. The problem snippet is:
Card card = new Card();
card.Card();
- which to the best of my knowledge should work, but doesn't. What I want to do, for the purpose of experimenting with CardLayout, is initiate the Card Layout tutorial (in the class Card) from another class by calling the method Card();. Here's the whole thing:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Menu {
public static void main(String[] args) {
JFrame frame = new JFrame("Menu");
frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
frame.setSize(1200,800);
frame.setVisible(true);
}
Card card = new Card();
card.main();
}
class Card extends JPanel {
CardLayout cards = new CardLayout();
public Card() {
setLayout(cards);
ActionListener listener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
cards.next(Card.this);
}
};
JButton button;
button = new JButton("one");
button.addActionListener(listener);
add(button, "one");
button = new JButton("two");
button.addActionListener(listener);
add(button, "two");
button = new JButton("three");
button.addActionListener(listener);
add(button, "three");
}
public static void main(String[] args) {
JFrame frame = new JFrame("Card");
frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
frame.setSize(200, 200);
frame.setLocation(200, 200);
frame.setContentPane(new Card());
frame.setVisible(true);
}
}