Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Phil_GDM

Alter Hase

  • »Phil_GDM« ist der Autor dieses Themas

Beiträge: 443

Wohnort: Graz

Beruf: Student-Softwareentwicklung u. Wissensmanagement

  • Private Nachricht senden

1

12.08.2005, 16:11

[Gelöst] Java: Wie maximiert man ein Fenster (JFrame)?

Ich finde einfach keinen weg ein Fenster zu maximieren? Weiß einer von euch wie das geht?.

2.) Gibt es eine gute online Referenz für Java?

mfg Philipp

2

12.08.2005, 16:28

Zu 1:

Quellcode

1
2
Dimension d = Toolkit.getDefaultToolkit.getScreenSize();
myJFrame.setSize(d);

Du fragst also zuerst die Bildschirmgröße ab und setzt danach die Größe deines Fensters auf diese, wobei myJFrame dein JFrame-Fenster ist.

Zu 2: Java ist auch eine Insel

Phil_GDM

Alter Hase

  • »Phil_GDM« ist der Autor dieses Themas

Beiträge: 443

Wohnort: Graz

Beruf: Student-Softwareentwicklung u. Wissensmanagement

  • Private Nachricht senden

3

12.08.2005, 16:48

Danke!
Das funktioniert schon mal ganz gut :), aber ist noch nicht ganz das gewünschte Ergebnis :(.
Wenn ich dass so mache, habe ich noch immer einen Rahmen um das Anwendungsfenster herum, der bei einem maximierten Fenster aber nicht mehr zu sehen sein sollte. Außerdem kann das Fenster immer noch verschoben werden was auch nicht sein sollte.
Es muss doch irgendwie möglich sein, ein Fenster "wirklich" zu maximieren?

mfg Philipp

Sicaine

unregistriert

4

12.08.2005, 16:50

Ich könnt jetzt so tun als wüsst ich die Lösung aber da ich noch nien maximierten Jframe gebraucht hab:

Google java jframe maximieren. Erste ergebnis bringt dich zum Ziel.

Phil_GDM

Alter Hase

  • »Phil_GDM« ist der Autor dieses Themas

Beiträge: 443

Wohnort: Graz

Beruf: Student-Softwareentwicklung u. Wissensmanagement

  • Private Nachricht senden

5

12.08.2005, 17:05

Thx! Damit funktionierts.

Ich sollte mir meine Suchbegriffe die ich in google eingebe mal wirklich besser überlegen damit ich auch Ergebnisse bekomme, mit denen ich etwas anfangen kann :angel:

mfg Philipp

Phil_GDM

Alter Hase

  • »Phil_GDM« ist der Autor dieses Themas

Beiträge: 443

Wohnort: Graz

Beruf: Student-Softwareentwicklung u. Wissensmanagement

  • Private Nachricht senden

6

12.08.2005, 19:57

Eine neue Programmiersprache zu lernen kann echt frustrierend sein :crying:, hab nämlich schon wieder ein Problem.
Wenn ich das Fenster maximiere liefert getSize (u. auch getBounds) immer nur 0;0 (0;0;0;0) zurück. getSize() liefert nur dann die richtige Dimension zurück, wenn ich die Groesse vorher mittels setSize gesetz habe. Wenn ich aber die Größe setze, und das Fenster maximiere, sehe ich überhaupt nur mehr die Titelleiste des Fensters ???.
Kann mir irgendjemand einen Hinweis geben, wie ich die Größe eines maximierten Fensters bekommen kann?

mfg Philipp

Sicaine

unregistriert

7

12.08.2005, 21:08

Öhm Bildschirmauflösung?
Alternativ empfehle ich dir mal irc java.de oder ein themenbezogenes Forum ala tutorials.de oder ähnliches ka.

Phil_GDM

Alter Hase

  • »Phil_GDM« ist der Autor dieses Themas

Beiträge: 443

Wohnort: Graz

Beruf: Student-Softwareentwicklung u. Wissensmanagement

  • Private Nachricht senden

8

12.08.2005, 21:38

Öhm ja wenns maximiert ist natürlich schon :angel:
Wollt eigentlich darauf hinaus, dass ich ja nicht weiß, ob dass Fenster maximiert ist, und deshalb wollte ich haben, dass getSize mir auch dann die richtigen Werte liefert (hab mittlerweile schon eine Lösung gefunden, ich frage einfach mittels getExtendedState den Status ab).
Aber egal bin heut glaube ich schon zu fertig mit den Nerven :wirbel:, war ein langer anstrengender Tag und jetzt werd ich mir ein kaltes Bier genehmigen und sonst nix mehr tun heut . 8)

mfg Philipp

Phil_GDM

Alter Hase

  • »Phil_GDM« ist der Autor dieses Themas

Beiträge: 443

Wohnort: Graz

Beruf: Student-Softwareentwicklung u. Wissensmanagement

  • Private Nachricht senden

9

18.08.2005, 14:33

So ich hab nun schon wieder eine Frage, es geht noch immer um Die Größe von Fenstern :o
Ich habe immer noch das Problem, dass getSize(), getWidth(), getHeight() mir einfach nicht die richtigen Werte liefern sondern immer nur 0. Ich werde hier einfach mal den Code Posten, vielleicht kann einer von euch ja mal kurz drübersehen denn ich weiß einfach nicht mehr weiter )

Das getSize() wird in ArrangeControls aufgerufen. Ich benötige die Groessen der drei Panels (mainpanel, southpanel, eastpanel), die in einem GridBag-Layout sind.

Kann es irgendwie sein, dass getSize() 0:0 liefert, weil ich Layoutmanager verwende, denn wenn ich ohne Layoutmanager arbeite und die Fenstergroessen mit setSize() setze, liefert mir getSize() korrekte Werte.
Es wäre nun natürlich möglich, komplett ohne Layout-Manager zu arbeiten, aber wenn möglich möchte ich das vermeiden (wäre ziemlich viel Arbeit das ganze Programm umzustellen)

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
public class ContractTemplateEditorScreen extends javax.swing.JPanel
{
  
  private final int BORDER = 10;
  
  MainFrame       parent;
  
  public ContractTemplateEditorScreen(MainFrame _parent)
  {
    initComponents();
    parent = _parent;
    ArrangeControls();
    LoadParagraphTemplates();
  }
  
  public void ArrangeControls()
  {
    Dimension d = mainpanel.getSize();  //Hier bekomme ich immer 0:0

    contractscroll.setLocation(BORDER, BORDER);
    contractscroll.setSize(mainpanel.getWidth() - 2 * BORDER, 
      mainpanel.getHeight() - 2 * BORDER);
    
    paragraphtemplates.setLocation(new Point(BORDER, BORDER));
    paragraphtemplates.setSize(eastpanel.getWidth() - 2 * BORDER, 
      eastpanel.HEIGHT - 3 * BORDER * addtemplate.HEIGHT);
    
    addtemplate.setSize(paragraphtemplates.WIDTH, addtemplate.HEIGHT);
  }
  
                        
  private void initComponents()
  {
    java.awt.GridBagConstraints gridBagConstraints;

    mainpanel = new javax.swing.JPanel();
    contractscroll = new javax.swing.JScrollPane();
    contract = new javax.swing.JList();
    southpanel = new javax.swing.JPanel();
    preview = new javax.swing.JButton();
    save = new javax.swing.JButton();
    jLabel1 = new javax.swing.JLabel();
    jTextField1 = new javax.swing.JTextField();
    jLabel2 = new javax.swing.JLabel();
    jLabel3 = new javax.swing.JLabel();
    jLabel4 = new javax.swing.JLabel();
    subcategory = new javax.swing.JTextField();
    category = new javax.swing.JTextField();
    maincategory = new javax.swing.JTextField();
    eastpanel = new javax.swing.JPanel();
    paragraphtemplatesscroll = new javax.swing.JScrollPane();
    paragraphtemplates = new javax.swing.JList();
    addtemplate = new javax.swing.JButton();

    setLayout(new java.awt.GridBagLayout());

    mainpanel.setLayout(null);

    mainpanel.setBackground(new java.awt.Color(51, 0, 204));
    contractscroll.setPreferredSize(new java.awt.Dimension(100, 50));
    contractscroll.setViewportView(contract);

    mainpanel.add(contractscroll);
    contractscroll.setBounds(10, 10, 380, 330);

    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridwidth = 2;
    gridBagConstraints.gridheight = 2;
    gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
    gridBagConstraints.weightx = 1.0;
    gridBagConstraints.weighty = 1.0;
    add(mainpanel, gridBagConstraints);

    southpanel.setLayout(null);

    southpanel.setBackground(new java.awt.Color(0, 153, 0));
    preview.setText("Vorschau");
    preview.addActionListener(new java.awt.event.ActionListener()
    {
      public void actionPerformed(java.awt.event.ActionEvent evt)
      {
        previewActionPerformed(evt);
      }
    });

    southpanel.add(preview);
    preview.setBounds(510, 20, 100, 23);

    save.setText("Speichern");
    southpanel.add(save);
    save.setBounds(510, 120, 100, 23);

    jLabel1.setText("Name:");
    southpanel.add(jLabel1);
    jLabel1.setBounds(10, 120, 34, 14);

    southpanel.add(jTextField1);
    jTextField1.setBounds(50, 120, 450, 20);

    jLabel2.setText("Unterkategorie:");
    southpanel.add(jLabel2);
    jLabel2.setBounds(10, 90, 80, 14);

    jLabel3.setText("Kategorie:");
    southpanel.add(jLabel3);
    jLabel3.setBounds(10, 60, 70, 14);

    jLabel4.setText("Hauptkategorie");
    southpanel.add(jLabel4);
    jLabel4.setBounds(10, 30, 74, 14);

    southpanel.add(subcategory);
    subcategory.setBounds(100, 90, 290, 20);

    southpanel.add(category);
    category.setBounds(100, 60, 290, 20);

    southpanel.add(maincategory);
    maincategory.setBounds(100, 30, 290, 20);

    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 0;
    gridBagConstraints.gridy = 2;
    gridBagConstraints.gridwidth = 2;
    gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
    gridBagConstraints.weightx = 1.0;
    gridBagConstraints.weighty = 0.5;
    add(southpanel, gridBagConstraints);

    eastpanel.setLayout(null);

    eastpanel.setBackground(new java.awt.Color(255, 102, 102));
    paragraphtemplatesscroll.setViewportView(paragraphtemplates);

    eastpanel.add(paragraphtemplatesscroll);
    paragraphtemplatesscroll.setBounds(10, 20, 180, 440);

    addtemplate.setText("Hinzuf\u00fcgen");
    addtemplate.addActionListener(new java.awt.event.ActionListener()
    {
      public void actionPerformed(java.awt.event.ActionEvent evt)
      {
        addtemplateActionPerformed(evt);
      }
    });

    eastpanel.add(addtemplate);
    addtemplate.setBounds(10, 470, 180, 23);

    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 2;
    gridBagConstraints.gridy = 0;
    gridBagConstraints.gridheight = 3;
    gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
    gridBagConstraints.weightx = 0.5;
    gridBagConstraints.weighty = 1.0;
    add(eastpanel, gridBagConstraints);

  }                         

  
  // Variables declaration - do not modify                     

  private javax.swing.JButton addtemplate;
  private javax.swing.JTextField category;
  private javax.swing.JList contract;
  private javax.swing.JScrollPane contractscroll;
  private javax.swing.JPanel eastpanel;
  private javax.swing.JLabel jLabel1;
  private javax.swing.JLabel jLabel2;
  private javax.swing.JLabel jLabel3;
  private javax.swing.JLabel jLabel4;
  private javax.swing.JTextField jTextField1;
  private javax.swing.JTextField maincategory;
  private javax.swing.JPanel mainpanel;
  private javax.swing.JList paragraphtemplates;
  private javax.swing.JScrollPane paragraphtemplatesscroll;
  private javax.swing.JButton preview;
  private javax.swing.JButton save;
  private javax.swing.JPanel southpanel;
  private javax.swing.JTextField subcategory;
  // End of variables declaration                   

  
}

mfg Philipp

Phil_GDM

Alter Hase

  • »Phil_GDM« ist der Autor dieses Themas

Beiträge: 443

Wohnort: Graz

Beruf: Student-Softwareentwicklung u. Wissensmanagement

  • Private Nachricht senden

10

19.08.2005, 09:19

Anscheinend konnte ich nun nach einigen Tagen intensiver Sucherei usw. das Problem mit der Größe endlich lösen.

Damit ein Fenster, welches mit Layoutmanagern arbeitet, die wirlichen Groessen der Komponenten, die von diesen Layoutmanagern bearbeitet werden zurückliefert, muss man die Methode setSize() des Oberfensters dieses Fensters aufrufen. Erst dannach haben die Layoutmanager korrekte Informationen über die Groesse der von ihnen zu verwaltenden Komponenten.

mfg Philipp

Werbeanzeige