import javax.swing.*; import java.awt.*; /** Demonstratie van het gebruik van * absolute positionering. * @author Lieven Smits * @version 1.0 24/7/2000 */ class AbsoluteDemo extends JFrame { /** De algemene titel van het formulier. */ JLabel lblReservatieformulier = new JLabel("Reservatieformulier"); /** Een vaste tekst om de betekenis van een tekstveld * te verduidelijken. */ JLabel lblNaam = new JLabel("Naam:"), lblLezersnummer = new JLabel("Lezersnummer:"), lblStatuut = new JLabel("Statuut:"), lblTitelBoek = new JLabel("Titel boek:"), lblAuteur = new JLabel("Auteur:"); /** De naam van een lid van de bibliotheek. */ JTextField txtNaam = new JTextField(); /** Uniek nummer van een lid van de bibliotheek. */ JTextField txtLezersnummer = new JTextField(); /** Titel op de kaft van het boek. */ JTextField txtTitelBoek = new JTextField(); /** Naam van de eerste auteur van het boek. */ JTextField txtAuteur = new JTextField(); /** Keuzemogelijkheid voor het statuut van de lezer. */ JRadioButton radStudent = new JRadioButton("student", true), radPersoneel = new JRadioButton("personeel"), radExtern = new JRadioButton("extern"); /** Drie keuzemogelijkheden voor het statuut als lezer. */ ButtonGroup grpStatuut = new ButtonGroup(); /** Construeer een venster met zes labels en * vier tekstvelden van verschillende afmetingen, * en drie onderling gekoppelde keuzerondjes. */ AbsoluteDemo() { super("Demonstratie absolute positionering"); Container hetPaneel = getContentPane(); hetPaneel.setLayout(null); // bouw de groep van drie keuzerondjes op grpStatuut.add(radStudent); grpStatuut.add(radPersoneel); grpStatuut.add(radExtern); // maak de titel opvallend Font oudType = lblReservatieformulier.getFont(); float lettergrootte = oudType.getSize() * 2; Font nieuwType = oudType.deriveFont(Font.BOLD, lettergrootte); lblReservatieformulier.setFont(nieuwType); lblReservatieformulier.setHorizontalAlignment(SwingConstants.CENTER); lblReservatieformulier.setLocation(46, 6); lblReservatieformulier.setSize(223, 20); hetPaneel.add(lblReservatieformulier); lblNaam.setLocation(0, 37); lblNaam.setSize(37, 11); hetPaneel.add(lblNaam); lblLezersnummer.setLocation(0, 57); lblLezersnummer.setSize(91, 11); hetPaneel.add(lblLezersnummer); lblStatuut.setLocation(0, 79); lblStatuut.setSize(45, 11); hetPaneel.add(lblStatuut); txtNaam.setLocation(112, 32); txtNaam.setSize(200, 20); hetPaneel.add(txtNaam); txtLezersnummer.setLocation(112, 52); txtLezersnummer.setSize(200, 20); hetPaneel.add(txtLezersnummer); radStudent.setLocation(112, 79); radStudent.setSize(61, 15); hetPaneel.add(radStudent); radPersoneel.setLocation(112, 102); radPersoneel.setSize(76, 15); hetPaneel.add(radPersoneel); radExtern.setLocation(112, 126); radExtern.setSize(56, 15); hetPaneel.add(radExtern); lblTitelBoek.setLocation(0, 148); lblTitelBoek.setSize(58, 11); hetPaneel.add(lblTitelBoek); txtTitelBoek.setLocation(0, 161); txtTitelBoek.setSize(314, 20); hetPaneel.add(txtTitelBoek); lblAuteur.setLocation(0, 184); lblAuteur.setSize(41, 11); hetPaneel.add(lblAuteur); txtAuteur.setLocation(0, 197); txtAuteur.setSize(313, 20); hetPaneel.add(txtAuteur); } /** Toon een reservatieformulier voor een * bibliotheek. */ public static void main(String[] args) { AbsoluteDemo hetVenster = new AbsoluteDemo(); hetVenster.setSize(320, 240); hetVenster.show(); } }