2015-06-22 2 views
0

Все, что я пытаюсь сделать, это настроить кнопки стиля макета карты. Теоретически вы должны нажать кнопку, а другое (в данном случае) имя должно появиться до завершения. (Когда пользователь закрыть)Попытка получить cardLayout для работы

У меня есть это, я чувствую, что должен ПОЛНОСТЬЮ работать, но JGrasp дает мне ошибку:

import javax.swing.*; 
import java.awt.*; 
import java.awt.event.*; 
public class JDisappearingFriends extends JFrame implements ActionListener 
{ 
    private JButton intro = new JButton("Click to see Friends!"); 
    private JButton nb = new JButton("Mini Vinny"); 
    private JButton sb = new JButton("Makayla"); 
    private JButton eb = new JButton("Aurora"); 
    private JButton wb = new JButton("Alyssa"); 
    private JButton cb = new JButton("And My Bestest Friend: SAMMY!!"); 
    CardLayout cardLayout = new CardLayout(); 
    public JDisappearingFriends() 
    { 
     setLayout(new CardLayout()); 
     add("Click to see Friends!", intro); 
     add("MiniVinny", nb); 
     add("Makayla", sb); 
     add("Aurora", eb); 
     add("Alyssa", wb); 
     add("And Finally My Best Friend Sammy!", cb); 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     intro.addActionListener(this); 
     nb.addActionListener(this); 
     sb.addActionListener(this); 
     eb.addActionListener(this); 
     wb.addActionListener(this); 
    } 
    public void actionPreformed(ActionEvent e) 
    { 
     cardLayout.next(getContentPane()); 
    } 
    public static void main(String[] args) 
    { 
     JDisappearingFriends jbl = new JDisappearingFriends(); 
     jbl.setSize(400, 400); 
     jbl.setVisible(true); 
    } 
} 

При попытке компиляции, я получаю одно сообщение об ошибке, перечисленных ниже:

JDisappearingFriends.java:8: error: JDisappearingFriends is not abstract and does not override abstract method actionPerformed(ActionEvent) in ActionListener 

JDisappearingFriends общественный класс расширяет JFrame реализует ActionListener ^ Если кто-то один может бросить мне намек, это была бы оценена !!

ответ

2

Ваше сообщение об ошибке предоставляет ваш с хорошим указанием того, что проблема:

JDisappearingFriends.java:8: error: JDisappearingFriends is not abstract and does not override abstract method actionPerformed(ActionEvent) in ActionListener

actionPreformed является mispelled и должен быть actionPerformed

Вы также должны привыкнуть к использованию @Override аннотацию

@Override 
public void actionPreformed(ActionEvent e) 
{ 
    cardLayout.next(getContentPane()); 
} 

Это помогает, когда вы переопределяя методы из других классов и предоставляя сторожевую тайну компиляции, чтобы убедиться, что вы случайно не ошибаетесь. Имя метода

Вы также должны создавать свой пользовательский интерфейс из контекста EDT. См. Initial Threads для получения более подробной информации.

+0

HAHAHAHAhahahaha OMG спасибо вам много, я не могу поверить, что это было просто !!!! ОЧЕНЬ СМОТРЕТЬ, ЧТО НРАВИТСЯ! спасибо, теперь я могу перестать бить головой по клавиатуре! –

+0

@Stuckonsameproblem О, я не знаю, я нахожу, что мешок моей головы против клавиатуры имеет тенденцию писать лучший код;) – MadProgrammer

Смежные вопросы