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); } public SwingVindue() { try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } private void jbInit() throws Exception { // Swing-komponenter tillader HTML-koder i deres tekst: 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.setText("opdater!"); buttonOpdater.setBounds(new Rectangle(231, 60, 91, 32)); textAreaHilsen.setText("Her kommer en tekst..."); textAreaHilsen.setBounds(new Rectangle(6, 102, 316, 78)); // vigtigt! Tilføj komponenterne til "content pane" på en Swing-container 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); } }