JavaDummie
Gebruiker
- Lid geworden
- 20 jun 2009
- Berichten
- 6
Hoi,
Ik ben bezig met een simpel programmaatje dat horizontale lijnen op de onderste helft van het venster plaatst. De afstand tussen de lijnen is variabel en door de gebruiker in te stellen via een tekstvak en een knop aan de bovenkant van het venster. Het probleem is dat als ik het programmaatje run er alleen doorzichtig venster komt dat ik geforceerd moet afsluiten.
Ik gebruik de IDE Eclipse.
Hieronder de code voor klasse voor het venster (ik denk niet dat de fout hierin zit):
Kan iemand hier de fout in zien? Alvast bedankt!!!
Met vriendelijke groet,
Ralf
Ik ben bezig met een simpel programmaatje dat horizontale lijnen op de onderste helft van het venster plaatst. De afstand tussen de lijnen is variabel en door de gebruiker in te stellen via een tekstvak en een knop aan de bovenkant van het venster. Het probleem is dat als ik het programmaatje run er alleen doorzichtig venster komt dat ik geforceerd moet afsluiten.
Ik gebruik de IDE Eclipse.
Hieronder de code voor klasse voor het venster (ik denk niet dat de fout hierin zit):
Code:
package h03;
import javax.swing.*;
public class H_lijnen extends JFrame
{
public H_lijnen()
{
JFrame venster = new JFrame();
venster.setSize(500,200);
venster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
venster.setLocation(200,200);
venster.setTitle("Horizontale lijnen");
JPanel paneel = new H_lijnenpaneel();
venster.add(paneel);
venster.setVisible(true);
}
public static void main( String[] args)
{
new H_lijnen();
}
}
Hieronder de code voor de klasse met het paneel:
package h03;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class H_lijnenpaneel extends JPanel implements ActionListener
{
private JTextField afstandLijnen;
private JButton tekenLijnen;
private int afstand;
public H_lijnenpaneel()
{
afstandLijnen = new JTextField("5");
tekenLijnen = new JButton("Teken de lijnen");
tekenLijnen.addActionListener(this);
add(new JLabel("Afstand tussen de lijnen"));
add(afstandLijnen);
add(tekenLijnen);
}
public void paintComponent(Graphics g)
{
super.paintComponent( g );
g.setColor(Color.BLACK);
int onder = getHeight();
int helft = getHeight() / 2;
int yPos = helft;
while(yPos <= onder)
{
g.drawLine(0,yPos,500,yPos);
yPos = yPos + afstand;
}
}
public void actionPerformed(ActionEvent e)
{
afstand = Integer.parseInt(afstandLijnen.getText());
repaint();
}
}
Met vriendelijke groet,
Ralf
Laatst bewerkt door een moderator: