Hallo,
jedes Mal, wenn man das Fenster maximiert, bzw. minimiert, werden die Bedienelemte automatisch neu in eine horizontale Linie angeordnet. Wie kann ich diesen Fehler beheben?
Schonmal Danke für die Hilfe!
jedes Mal, wenn man das Fenster maximiert, bzw. minimiert, werden die Bedienelemte automatisch neu in eine horizontale Linie angeordnet. Wie kann ich diesen Fehler beheben?
Java:
package programm;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JSlider;
import javax.swing.border.LineBorder;
import org.xml.sax.SAXNotSupportedException;
public class Main {
static JPanel mainpanel;
static JMenuItem neuesp;
static JMenuItem sploeschen;
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame mainframe = new JFrame();
mainframe.setBounds(250, 70, 900, 500);
mainpanel = new JPanel();
mainpanel.setBackground(Color.gray);
mainpanel.setLayout(null);
mainframe.add(mainpanel);
JMenuBar bar = new JMenuBar();
bar.setBounds(0, 0, 1366, 23);
mainpanel.add(bar);
JMenu datei = new JMenu("Datei");
datei.setFont(new Font("SansSerif", Font.PLAIN, 16));
JMenuItem btausw = new JMenuItem("Backing Track auswählen");
datei.add(btausw);
bar.add(datei);
JMenu spuren = new JMenu("Spuren");
spuren.setFont(new Font("SansSerif", Font.PLAIN, 16));
neuesp = new JMenuItem("Neue Spur");
spuren.add(neuesp);
sploeschen = new JMenuItem("Spur(en) löschen");
spuren.add(sploeschen);
bar.add(spuren);
mainframe.setVisible(true);
Spuren.clickhandler();
}
}
Java:
package programm;
import java.awt.Component;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JMenuBar;
import javax.swing.JSlider;
import javax.swing.event.ChangeListener;
public class Spuren {
static int anz = 5;
static int n = 0;
static int y = 0;
static JMenuBar[] audiobar = new JMenuBar[anz];
static JButton[] play = new JButton[anz];
static JButton[] pause = new JButton[anz];
static JButton[] mute = new JButton[anz];
static JButton[] rec = new JButton[anz];
static JButton[] begin = new JButton[anz];
static JButton[] close = new JButton[anz];
static JButton[] stop = new JButton[anz];
static JButton[] replay = new JButton[anz];
static JSlider[] audioslider = new JSlider[anz];
static JSlider[] volumeslider = new JSlider[anz];
static JLabel[] titel = new JLabel[anz];
static JLabel[] tracklaenge = new JLabel[anz];
public static void clickhandler(){
Main.neuesp.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
audiobar[n] = new JMenuBar();
audiobar[n].setBounds(5, 25+98*y, 1355, 90);
Main.mainpanel.add(audiobar[n]);
play[n] = new JButton();
play[n].setBounds(5, 29, 50, 28);
audiobar[n].add(play[n]);
pause[n] = new JButton();
pause[n].setBounds(60, 29, 50, 28);
audiobar[n].add(pause[n]);
mute[n] = new JButton();
mute[n].setBounds(115, 29, 50, 28);
audiobar[n].add(mute[n]);
rec[n] = new JButton();
rec[n].setBounds(5, 60, 50, 28);
audiobar[n].add(rec[n]);
stop[n] = new JButton();
stop[n].setBounds(60, 60, 50, 28);
audiobar[n].add(stop[n]);
begin[n] = new JButton();
begin[n].setBounds(115, 60, 50, 28);
audiobar[n].add(begin[n]);
replay[n] = new JButton();
replay[n].setBounds(210, 0, 50, 27);
audiobar[n].add(replay[n]);
close[n] = new JButton();
close[n].setBounds(5, 0, 50, 27);
audiobar[n].add(close[n]);
titel[n] = new JLabel("titel shshsh");
audiobar[n].add(titel[n]);
tracklaenge[n] = new JLabel("10:20");
audiobar[n].add(tracklaenge[n]);
audioslider[n] = new JSlider();
audioslider[n].setBounds(170, 38, 700, 30);
audiobar[n].add(audioslider[n]);
volumeslider[n] = new JSlider();
volumeslider[n].setBounds(170, 38, 700, 30);
audiobar[n].add(volumeslider[n]);
Main.mainpanel.repaint();
n++;
y++;
}
});
}
}
Schonmal Danke für die Hilfe!
Zuletzt bearbeitet von einem Moderator: