Swing, får fejl ang. static context...
Hej jeg vil har hentet langt det meste af understående kode fra sun site. Jeg vil så gerne udbygge den så jeg kan skrive direkte fra main metoden til tekstarea. Det kan jeg ikke som den er nu. Jeg får følgende fejl når jeg prøver:C:\Documents and Settings\Torben Pedersen\Skrivebord\toolBarDemo\toolBarDemo.java:95: non-static method displayResult(java.lang.String) cannot be referenced from a static context
displayResult("Hello");
^
1 error
Tool completed with exit code 1
Jeg forstår ikke helt hvad fejlen er, håber nogle kan hjælpe mig med den. Der er vel også en grundt til at sun har bygget det op sådan, håber også nogen kan forklarer det.
Her kommer koden:
import javax.swing.JToolBar;
import javax.swing.JButton;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;
import javax.swing.JPanel;
import java.awt.*;
import java.awt.event.*;
import java.util.*; //Til dato
import java.text.*; //Til dato
public class toolBarDemo extends JFrame {
protected JTextArea textArea;
protected String newline = "\n";
static String a="hej";
Locale indstillinger = Locale.getDefault();
DateFormat fullFormat = DateFormat.getDateInstance (DateFormat.FULL, indstillinger); //19 december 2002
DateFormat mediumFormat = DateFormat.getTimeInstance (DateFormat.MEDIUM, indstillinger);//10:15:12
public toolBarDemo() {
//Do frame stuff.
super("ToolBarDemo");
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
//Create the toolbar.
JToolBar toolBar = new JToolBar();
addButtons(toolBar);
//Create the text area used for output.
textArea = new JTextArea(5, 30);
JScrollPane scrollPane = new JScrollPane(textArea);
//Lay out the content pane.
JPanel contentPane = new JPanel();
contentPane.setLayout(new BorderLayout());
contentPane.setPreferredSize(new Dimension(400, 100));
contentPane.add(toolBar, BorderLayout.NORTH);
contentPane.add(scrollPane, BorderLayout.CENTER);
setContentPane(contentPane);
} protected void addButtons(JToolBar toolBar) {
JButton button = null;
//first button
button = new JButton(new ImageIcon("images/leftarrow.gif"));
button.setToolTipText("This is the left button");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Date today = new Date();
displayResult(fullFormat.format(today));
}
});
toolBar.add(button);
//second button
button = new JButton(new ImageIcon("images/exit.gif"));
button.setToolTipText("This is the middle button");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Date now = new Date();
displayResult(mediumFormat.format(now)+": Action for second button");
}
});
toolBar.add(button);
//third button
button = new JButton(new ImageIcon("images/rightarrow.gif"));
button.setToolTipText("This is the right button");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Date now = new Date();
displayResult(mediumFormat.format(now)+": Action for third button");
}
});
toolBar.add(button);
}
protected void displayResult(String actionDescription) {
textArea.append(actionDescription + newline);
}
public static void main(String[] args) {
toolBarDemo frame = new toolBarDemo();
frame.pack();
frame.setVisible(true);
displayResult("Hello");
}
}
