Hallo zusammen,
ich versuche jetzt schon seit einiger Zeit ein kleines Swing- Programm zum laufen zu bringen! Leider ohne Erfolg! Ich bin ein ziehmlicher Javanewbe also wäre ich sehr dankbar wenn mir jemand von euch helfen könnte!
Hier mein Prog:
Und natürlich die zugehörige Main Funktion:
In Eclipse (unter Ubuntu) und mit javac bekomme ich folgende, für mich nicht interpretierbare, Fehlermeldung:
vielen Dank schon mal für eure Mühe!
ich versuche jetzt schon seit einiger Zeit ein kleines Swing- Programm zum laufen zu bringen! Leider ohne Erfolg! Ich bin ein ziehmlicher Javanewbe also wäre ich sehr dankbar wenn mir jemand von euch helfen könnte!
Hier mein Prog:
Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class GUIviewer extends JFrame implements ActionListener{
public final static String CANCEL = "cmd_cancel";
public final static String CANCEL_TEXT = "Cancel/Exit";
public final static String PLAY = "cmd_Play";
public final static String PLAY_TEXT = "Play";
public final static String GENERATE = "cmd_generate";
public final static String GENERATE_TEXT = "Generate";
String text;
private JButton playButton;
private JButton cancelButton;
private JButton generateButton;
private JTextField textField;
private JTextArea textArea;
private final static String newline = "\n";
public void createAndShowGUI() {
//Create and set up the window.
JFrame frame = new JFrame("SwingTest");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
//Generate inputPanel
JPanel inputPanel = new JPanel();
inputPanel.setLayout(new GridLayout(1, 3));
//Generate controlPanel
JPanel controlPanel = new JPanel();
//Generate consolePanel
JPanel consolePanel = new JPanel();
//TextField
JTextField textField = new JTextField("Please enter SAMPA-Notation of phrase here!");
textField.addActionListener(this);
textField.setActionCommand("return");
//String bla = textField.getText();
//System.out.println(bla);
//TextArea
textArea = new JTextArea(5, 30);
textArea.setEditable(false);
textArea.setLineWrap(true);
textArea.setWrapStyleWord(true);
JScrollPane scrollPane = new JScrollPane(textArea);
setPreferredSize(new Dimension(450, 110));
//GenerateButton
JButton generateButton =new JButton(GENERATE_TEXT);
generateButton.addActionListener(this);
generateButton.setActionCommand(GENERATE);
//PlayButton
JButton playButton =new JButton(PLAY_TEXT);
playButton.addActionListener(this);
playButton.setActionCommand(PLAY);
//CancelButton
JButton cancelButton =new JButton(CANCEL_TEXT);
cancelButton.addActionListener(this);
cancelButton.setActionCommand(CANCEL);
// Add to input/control pane
inputPanel.add(textField);
controlPanel.add(generateButton);
controlPanel.add(playButton);
controlPanel.add(cancelButton);
consolePanel.add(scrollPane);
//Add components to ContentPane.
frame.getContentPane().setLayout(new BorderLayout());
frame.getContentPane().add(BorderLayout.NORTH, inputPanel);
frame.getContentPane().add(BorderLayout.CENTER, controlPanel);
frame.getContentPane().add(BorderLayout.SOUTH, consolePanel);
//Display the window. and Set location
frame.pack();
frame.setLocation( (d.width - frame.getSize().width ) / 2,(d.height - frame.getSize().height) / 2 );
frame.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals(PLAY)) {
System.out.println("Play-Knopf gedrückt!");
} else if (e.getActionCommand().equals(CANCEL)) {
System.out.println("Cancel-Knopf gedrückt!");
System.exit(0);
} else if (e.getActionCommand().equals(GENERATE)) {
performGenerate();
}
}
private void performGenerate() {
System.out.println("Generate-Knopf gedrückt!");
textArea.append("Generate-Knopf gedrückt!" + newline);
String text = textField.getText();
System.out.println(text);
}
}
Code:
ublic class SwingTest {
public static void main(String[] args) {
GUIviewer guiv= new GUIviewer();
guiv.createAndShowGUI();
}
}
Code:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at GUIviewer.performGenerate(GUIviewer.java:129)
at GUIviewer.actionPerformed(GUIviewer.java:115)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6134)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
at java.awt.Component.processEvent(Component.java:5899)
at java.awt.Container.processEvent(Container.java:2023)
at java.awt.Component.dispatchEventImpl(Component.java:4501)
at java.awt.Container.dispatchEventImpl(Container.java:2081)
at java.awt.Component.dispatchEvent(Component.java:4331)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4301)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3965)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3895)
at java.awt.Container.dispatchEventImpl(Container.java:2067)
at java.awt.Window.dispatchEventImpl(Window.java:2458)
at java.awt.Component.dispatchEvent(Component.java:4331)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)