Hi,
ich möchte ein kleines Grafikprogramm erstellen. Bis jetzt kann man unter "Datei" --> "Neues Projekt" ein JPanel gewünschter Größe erstellen.
Das Problem ist nun, dass dieser JPanel zu einem Punkt von vielleicht 5 x 5 Pixeln schrumpft, wenn man das Fenster vergrößert (zumindest unter Mac OS X).
Weiß vielleicht jemand, woran das liegt?
Hier der komplette Quellcode (Bin für jeden Verbesserungsvorschlag des Designs dankbar!)
Liebe Grüße
Reality
ich möchte ein kleines Grafikprogramm erstellen. Bis jetzt kann man unter "Datei" --> "Neues Projekt" ein JPanel gewünschter Größe erstellen.
Das Problem ist nun, dass dieser JPanel zu einem Punkt von vielleicht 5 x 5 Pixeln schrumpft, wenn man das Fenster vergrößert (zumindest unter Mac OS X).
Weiß vielleicht jemand, woran das liegt?
Hier der komplette Quellcode (Bin für jeden Verbesserungsvorschlag des Designs dankbar!)
Code:
import java.awt.event.*;
import javax.swing.*;
import java.awt.color.*;
import java.awt.*;
public class Window extends JFrame{
private JFrame jfNewProject = new JFrame("Neues Projekt"); //Window to set up the id card.
private JPanel contentPane = new JPanel(); // Here you add Window-Components
private JMenuBar menuBar = new JMenuBar();
private JMenu fileMenu = new JMenu( "Datei" );
private JMenuItem newProject = new JMenuItem("Neues Projekt");
private JPanel idCard = new JPanel();
private int widthIDCard;
private int heightIDCard;
public Window(){
super("Ausweis-Ersteller"); //Titel
contentPane.setBackground(Color.GRAY);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Programm exits on pressing Exit-Button
this.setContentPane(contentPane); //Setting contentpane
this.setMenu();
this.setSize(700, 700);
this.setVisible( true );
}
private void setMenu(){
this.setJMenuBar( menuBar );
menuBar.add( fileMenu );
fileMenu.add(newProject);
newProject.addActionListener(new AbstractAction(){
public void actionPerformed(ActionEvent e){
newProject();
}
});
}
private void newProject(){
JPanel contentPane2 = new JPanel();
jfNewProject.setContentPane(contentPane2);
JLabel jlWidth = new JLabel("Breite in Pixel");
JLabel jlHeight= new JLabel("Höhe in Pixel");
JButton jbOK = new JButton("OK");
JButton jbCancel = new JButton("Abbrechen");
final JTextField jtfWidth = new JTextField(5);
final JTextField jtfHeight = new JTextField(5);
contentPane2.add(jlWidth);
contentPane2.add(jtfWidth);
contentPane2.add(jlHeight);
contentPane2.add(jtfHeight);
contentPane2.add(jbOK);
contentPane2.add(jbCancel);
jfNewProject.setSize(200, 200);
jfNewProject.setVisible( true );
jbOK.addActionListener(new AbstractAction(){
public void actionPerformed(ActionEvent e){
widthIDCard = Integer.parseInt(jtfWidth.getText());
heightIDCard = Integer.parseInt(jtfHeight.getText());
idCard.setSize(widthIDCard, heightIDCard);
idCard.setBackground(Color.white);
contentPane.add(idCard);
repaintWindow();
jfNewProject.dispose();
}
});
jbCancel.addActionListener(new AbstractAction(){
public void actionPerformed(ActionEvent e){
jfNewProject.dispose();
}
});
}
private void repaintWindow(){
this.repaint();
}
}
Code:
public class IdentifierBuilder {
public void IdentifierBuilder(){
}
public static void main(String args[]){
IdentifierBuilder idBuilder = new IdentifierBuilder();
Window window = new Window();
}
}
Liebe Grüße
Reality