Avatar billede simeone Nybegynder
11. december 2003 - 22:46 Der er 7 kommentarer og
1 løsning

Mange fejl ved appletviewer.

Når jeg kører koden gennem compileren, får jeg ingen fejlmeddelser, men når appletten skal køres, skriver den følgende:

java.lang.Error: Do not use Prove.add() use Prove.getContentPane().add() instead at

javax.Swing.JApplet.createRootPaneExcepcion(JApplet.java:203)

+5 andre meddelser á la ovenstående. Er den helt gal eller?
Avatar billede simeone Nybegynder
11. december 2003 - 22:48 #1
Koden er selvfølgelig her:

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;  // til ActionListener

public class Prove extends JApplet implements ActionListener
{
  JLabel label;
  JTextField Txt1;
  JButton Knap;
  JTextArea Txt2;

  public void init()
  {
    JPanel contents = (JPanel)getContentPane();

    contents.setBackground(Color.white);

    label = new JLabel("Input");
    Txt1 = new JTextField();
    Knap = new JButton("Alfabetisér!");
    Txt2 = new JTextArea();

    add(label);
    add(Txt1);
    add(Knap);
    add(Txt2);

    Knap.addActionListener(this);

    JScrollPane scrollTextArea = new JScrollPane( Txt2 );

    // JPanel
      JPanel topPanel = new JPanel(new BorderLayout());
      topPanel.setOpaque(false);  // gennemsigtig


      //----- PLACERING AF KOMPONENTER i topPanel -----

      topPanel.add( label, BorderLayout.WEST );

      topPanel.add( Txt1, BorderLayout.CENTER );

      topPanel.add( Knap, BorderLayout.EAST );


      //----- PLACERING AF KOMPONENTER på applettens overflade -----

      contents.add( topPanel, BorderLayout.NORTH );

      contents.add( scrollTextArea, BorderLayout.CENTER );

  }

  public void actionPerformed(ActionEvent event)
  {
    String input = Txt1.getText();

      Txt2.setText(input);
  }
}
Avatar billede arne_v Ekspert
11. december 2003 - 22:50 #2
Fejlen er vel helt klar.

add(label);

skal erstattes af:

getContentPane().add(label);
Avatar billede arne_v Ekspert
11. december 2003 - 22:50 #3
contents.add(label);

du har jo hentet den.
Avatar billede arne_v Ekspert
11. december 2003 - 22:51 #4
Og det gælder naturligvis ike kkun label men dem alle sammen.
Avatar billede simeone Nybegynder
11. december 2003 - 22:57 #5
forstår jeg det rigtigt:
    add(label);
    add(Txt1);
    add(Knap);
    add(Txt2); skal blive til:

    getContentPane.add(label);
    getContentPane.add(Txt1);
    getContentPane.add(Knap);
    getContentPane.add(Txt2);???

For så brokker compileren sig bare...
Avatar billede arne_v Ekspert
11. december 2003 - 22:59 #6
getContentPane().add(label);
    getContentPane().add(Txt1);
    getContentPane().add(Knap);
    getContentPane().add(Txt2);

med parenteser
Avatar billede arne_v Ekspert
11. december 2003 - 23:00 #7
eller:

    contents.add(label);
    contents.add(Txt1);
    contents.add(Knap);
    contents.add(Txt2);
Avatar billede simeone Nybegynder
11. december 2003 - 23:05 #8
Super, tak for hjælpen :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester