Hey.
Jeg har for tiden lavet en rigtig simpel JFrame i Swing med nogle textfields og labels på. Men underlig nok gider komponenterne ikke at vise sig.
Nogen gange gider de godt. Nogen gange er det kun nogen af komponenterne der bliver vist. Andre gange er det ingen. Det er fuldstændig tilfældigt, og ændre sig hver gang jeg compiler.
Er der nogen der kender til fejlen og kan se hvad der er galt.
Min kode er følgende:
package dialog;
import java.awt.Dimension;
//import java.awt.Insets; Skal måske bruges senere
import java.awt.Toolkit;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import model.*;
/**
* Denne klasse er vindue hvor et nyt projekt kan laves
* @author Theis
*/
public class AddProjektVindue extends JFrame {
private Model model;
private JLabel introTekst = new JLabel("Make a new project:");
private JLabel navnLabel = new JLabel("Project name: ");
private JLabel startLabel = new JLabel("Start time: ");
private JLabel slutLabel = new JLabel("End time: ");
private JTextField navnField = new JTextField();
private JTextField startField = new JTextField();
private JTextField slutField = new JTextField();
private JButton okBut = new JButton("Okay");
public AddProjektVindue(Model model) {
this.model = model;
this.setSize(300, 200);
this.setVisible(true);
this.setTitle("Make project...");
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Show the screen in the center of the monitor
Toolkit toolkit = Toolkit.getDefaultToolkit();
Dimension ssize = toolkit.getScreenSize();
int x = (int) ( ssize.getWidth() - this.getWidth() ) / 2;
int y = (int) ( ssize.getHeight() - this.getHeight() ) / 2;
this.setLocation(x,y);
JPanel panel = new JPanel();
this.getContentPane().add(panel);
panel.setLayout(null);
//Tilfoej Komponontenter
Dimension size; //Bruges til at finde stoerrelse af komponent
size = introTekst.getPreferredSize();
introTekst.setBounds(5, 5, size.width, size.height);
panel.add(introTekst);
size = navnLabel.getPreferredSize();
navnLabel.setBounds(5, 44, size.width, size.height);
panel.add(navnLabel);
size = navnField.getPreferredSize();
navnField.setBounds(130, 40, 150, size.height);
panel.add(navnField);
size = startLabel.getPreferredSize();
startLabel.setBounds(5, 74, size.width, size.height);
panel.add(startLabel);
size = startField.getPreferredSize();
startField.setBounds(130, 70, 150, size.height);
panel.add(startField);
size = slutLabel.getPreferredSize();
slutLabel.setBounds(5, 104, size.width, size.height);
panel.add(slutLabel);
size = slutField.getPreferredSize();
slutField.setBounds(130, 100, 150, size.height);
panel.add(slutField);
size = okBut.getPreferredSize();
okBut.setBounds(213, 130, size.width, size.height);
panel.add(okBut);
}
/**
* This main method is just for testing.
* Drives the window
* @param args
*/
public static void main(String[] args) {
AddProjektVindue test = new AddProjektVindue(new Model());
}
}
På forhånd tak