Box-Layout???

Status
Nicht offen für weitere Antworten.

Developer_X

Top Contributor
Hi, also ich weiß einfach net wie, ich hab schon so viel ausprobiert, da ist ein
BoxLayout, dann hab ich ne Box gemacht, die, die volle Screensize in der Y achse hat, dann in der X-100, da ich neben dieser Box noch eine machen will, die X_100, Y-screensize groß ist,
ich will in die 2.te box eine Klasse namens "SoundManager" benutzten, wenn mir einer sagen könnte was ich falsch mache?

[HIGHLIGHT="Java"]import javax.swing.*;
import java.applet.Applet;
import java.applet.AudioClip;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.net.MalformedURLException;
import java.net.URL;

public class Main_1 extends JFrame
{
public Main_1()
{


super("Test");

Toolkit tk = Toolkit.getDefaultToolkit();
final Dimension d = tk.getScreenSize();

setUndecorated(true);
setSize(900,900);
setVisible(true);
setCursor( Toolkit.getDefaultToolkit().createCustomCursor(
new BufferedImage( 16, 16, BufferedImage.TYPE_INT_ARGB ),
new Point(0,0), "" ) );


String fnm = "F:/Rayman/BonusGame_1/World.txt";




MazeManager mm = new MazeManager(fnm);
BirdsEye be = new BirdsEye(mm);
SecondViewPanel secondVP = new SecondViewPanel(mm);


WrapMaze3D w3d = new WrapMaze3D(mm, be, secondVP.getCamera2TG() );

Container c = getContentPane();
c.setLayout( new BoxLayout(c, BoxLayout.X_AXIS) );
c.add(w3d);
c.add( Box.createRigidArea( new Dimension(d.width-100,d.height)) );

Box vertBox = Box.createVerticalBox();

vertBox.add( Box.createRigidArea( new Dimension(100,d.height)) );
c.add(vertBox);

pack();
URL url = null;
try {
url = new URL("file:///F:/Rayman/Level_1/S.Loop.1.wav");
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
AudioClip clip = Applet.newAudioClip(url);
clip.loop();
URL url1 = null;
try {
url1 = new URL("file:///F:/Rayman/Level_1/S.Lcoop.2.wav");
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
AudioClip clip1 = Applet.newAudioClip(url1);
clip1.loop();
warte(300);


}

public static void main(String[] args){new Main_1();}
public static void warte(long millis){try{Thread.sleep(millis);}catch(InterruptedException e){}}


} [/HIGHLIGHT]

Ich hab auch nicht recht ahnung, wo ich "SoundManager" adden soll, also wenn einer von euch davon zufällig was weiß, bitte sagts mir,
danke schon mal im VOraus developer_X

PS: DIe klasse "SoundManager" sieht so aus:

[HIGHLIGHT="Java"]public class SoundManager extends JFrame
{
public SoundManager()
{
Toolkit tk = Toolkit.getDefaultToolkit();
final Dimension d = tk.getScreenSize();
setSize(100,d.height);
setUndecorated(true);
setVisible(true);
}
public static void main(String[]args)
{
new SoundManager();
}
}[/HIGHLIGHT]
 
Zuletzt bearbeitet:

hdi

Top Contributor
Die Dimension "d" speichert deine Desktop-Auflösung.
Du erstellst hier eine riesige leere Fläche. (d.width - 100 = geschätzt 1000+)

Schon klar, dass dann in dein 900px breites JFrame nix mehr dahinter passt,
bzw. es nicht angezeigt wird.
 

Developer_X

Top Contributor
was kann ich machen, dass es angezeigt wird?
Wie du sehen kannst, habe ich bei "setSize"
extra bei der X achse "d.weidth -100" geschrieben
 

hdi

Top Contributor
Hä, wovon redest du? Du hast nur ein setSize, und zwar (900,900) für dein Frame.
In dieser Zeile:
Code:
c.add( Box.createRigidArea( new Dimension(d.width-100,d.height)) );
fügst du ins Fenster einen leeren Trennbereich ein. d.width-100 ist wie gesagt
ein sehr hoher Wert.

was kann ich machen, dass es angezeigt wird?
Was meinst du mit "es"?
Du hast nur eine "echte" Komponente im Fenster: Dein WrapMaze3D-Panel/whatever
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben