// Eksemplet kræver muligvis JDK1.5 (Java 2 Standard Edition 5.0).
// Bruger du JDK1.4 eller tidligere så se http://javabog.dk/OOP2/kode
import java.awt.*;
import javax.swing.*;
public class SwingVindue extends JFrame
{
JLabel labelHvadErDitNavn = new JLabel();
JTextField textFieldNavn = new JTextField();
JButton buttonOpdater = new JButton();
JTextArea textAreaHilsen = new JTextArea();
public void paint(Graphics g)
{
// vigtigt! Kald den oprindelige paint() så Swing-komponenter bliver tegnet
super.paint(g);
g.drawLine(0,0,50,50);
g.fillOval(5,20,300,30);
g.setColor(Color.GREEN);
String navn = textFieldNavn.getText();
for (int i=0; i<50; i=i+10)
g.drawString("Hej "+navn+" !",100+i,30+i);
}
// Fix til at få paint() kaldt på Jframe under JDK 1.5. Se Sun Bug Id: 6215263
{ getRootPane().setOpaque(false); }
public SwingVindue() {
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
private void jbInit() throws Exception {
labelHvadErDitNavn.setText("Hvad er dit navn?");
labelHvadErDitNavn.setBounds(new Rectangle(15, 69, 108, 15));
textFieldNavn.setText("Jacob");
textFieldNavn.setBounds(new Rectangle(129, 61, 95, 29));
buttonOpdater.setLabel("opdater!");
buttonOpdater.setBounds(new Rectangle(231, 60, 91, 32));
textAreaHilsen.setText("Her kommer en tekst...");
textAreaHilsen.setBounds(new Rectangle(6, 102, 316, 78));
this.getContentPane().setLayout(null);
this.getContentPane().add(labelHvadErDitNavn, null);
this.getContentPane().add(textAreaHilsen, null);
this.getContentPane().add(buttonOpdater, null);
this.getContentPane().add(textFieldNavn, null);
}
public static void main(String[] arg)
{
SwingVindue vindue = new SwingVindue();
vindue.setSize(350,120);
vindue.setVisible(true);
}
}