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?
Annonceindlæg fra Arrow ECS
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); } }
11. december 2003 - 22:50
#2
Fejlen er vel helt klar. add(label); skal erstattes af: getContentPane().add(label);
11. december 2003 - 22:50
#3
contents.add(label); du har jo hentet den.
11. december 2003 - 22:51
#4
Og det gælder naturligvis ike kkun label men dem alle sammen.
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...
11. december 2003 - 22:59
#6
getContentPane().add(label); getContentPane().add(Txt1); getContentPane().add(Knap); getContentPane().add(Txt2); med parenteser
11. december 2003 - 23:00
#7
eller: contents.add(label); contents.add(Txt1); contents.add(Knap); contents.add(Txt2);
11. december 2003 - 23:05
#8
Super, tak for hjælpen :)
Kurser inden for grundlæggende programmering