Hallo Zusammen!!
Ich bin seit etlicher Zeit am suchen, wie de Benutzer die Größe einer GUI selbst bestimmen kann...
Sprich : die GUI größe soll nicht bereits vom Entwickler fest definiert sein, sondern vom Anwender manuel eingegeben werden.
Ist das möglich?
Ich bitte um eure Mithilfe
Vielen Dank
Mein Problem ist, dass es mir das Fenster nicht anzeigen will... Ich habe soweit eine Eingabe über die Console mittels scanner implementiert, jedoch benutze ich kein layoutmanager... welches layout würde denn meinem Problem abhilfe schaffen?
Danke für deine Antwort
hier mal ein kleines Bsp wie man sowas implementieren könnte...auf große Schönheit habe ich keinen Wert gelegt. Wenn du eine GUI hast, warum willst du dann einen Scanner benutzen???
Java:
importjava.awt.BorderLayout;importjava.awt.Dimension;importjava.awt.GridLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;importjavax.swing.JDialog;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JOptionPane;importjavax.swing.JPanel;importjavax.swing.JTextField;publicclassBspKlasse{JFrame f;JDialog d;Dimension out;JTextField t1 =newJTextField();JTextField t2 =newJTextField();publicstaticvoidmain(String[] args){newBspKlasse();}publicBspKlasse(){initDialog();}privatevoidinitFrame(Dimension d2){
f =newJFrame("("+String.valueOf(d2.width)+"|"+String.valueOf(d2.height)+")*");
f.setSize(d2);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setLocationRelativeTo(null);
f.setVisible(true);}privateDimensioninitDialog(){
d =newJDialog();
d.setSize(250,150);
d.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
d.setLocationRelativeTo(null);JPanel p =newJPanel();
p.setLayout(newGridLayout(2,2));JLabel l1 =newJLabel(" x-Größe:");JLabel l2 =newJLabel(" y-Größe:");
d.setLayout(newBorderLayout());
p.add(l1);
p.add(t1);
p.add(l2);
p.add(t2);JPanel pUnten =newJPanel();JButton b =newJButton("OK");initActionListener(b);
pUnten.add(b);
d.add(p);
d.add(pUnten,BorderLayout.SOUTH);
d.setVisible(true);return out;}privatevoidinitActionListener(JButton b){
b.addActionListener(newActionListener(){@OverridepublicvoidactionPerformed(ActionEvent e){try{int dx =Integer.parseInt(t1.getText());int dy =Integer.parseInt(t2.getText());
out =newDimension(dx, dy);
d.dispose();initFrame(out);}catch(Exception ex){JOptionPane.showMessageDialog(f, ex.getMessage(),"Fehler",JOptionPane.ERROR_MESSAGE);
out =newDimension(500,500);}}});}}