| 

.NET C# Java Javascript Exception

4
Ich will erreichen, dass ein Fenster in einer Anwendung immer nur so vergrößert werden darf, dass die Proportionen erhalten bleiben. Kann ich da mit einem Listener arbeiten, der auf eine Veränderung der Fenstergröße reagiert?
07.12.2011
jon_dev87 11 1
2 Antworten
1
Frame frame = new Frame();
frame.addComponentListener(new ComponentAdapter()
{
@Override
public void componentResized(ComponentEvent e)
{
Component c = (Component)e.getSource();
Dimension newSize = c.getSize();

frame.setSize(newSize.getWidth(), newSize.getWidth() / 2);
}
});


Setzt die Höhe immer auf die halbe Breite.
07.12.2011
LiRo 1,3k 8
0
Ich kann zwar kaum Java, aber ich denk die Funktionalität lässt sich übertragen.
Ich hab das hier mal als VB.Net Code:

Deklaration der variablen:
Dim OldWidth As Double = 600
Dim NewWidth As Double
Dim OldHeight As Double = 300
Dim NewHeight As Double

Event BEVOR das Resize beginnt:
Private Sub Form1_ResizeBegin(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.ResizeBegin
OldWidth = Me.Width
OldHeight = Me.Height
End Sub

Hier Is das SizeChanged oder Resize event drann, geht aber auch mit ResizeEnd(Win95 Style ^^)
Private Sub Form1_SizeChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.SizeChanged
NewWidth = Me.Width
NewHeight = Me.Height

If NewHeight <> OldHeight Then
NewWidth = (NewHeight * OldWidth) / OldHeight
Me.Width = CInt(NewWidth)
End If
If NewWidth <> OldWidth Then
NewHeight = (NewWidth * OldHeight) / OldWidth
Me.Height = CInt(NewHeight)
End If
End Sub

Funktioniert aber auch nur solange, wie die Maximale und Minimale Fenstergröße die selben Proportionen haben.
08.12.2011
DerPunk 793 6

Stelle deine Java-Frage jetzt!