Ich weiß, dass die absolute Positionierung nicht empfohlen wird, aber ich muss meine Labels zufällig verteilt zeigen sowie ihre Positionen zufällig ändern. Ich habe recherchiert, wie man setBounds verwendet, aber es scheint nicht zu funktionieren. Der folgende Code zeigt die Beschriftungen in einem Ablauflayout. Wenn ich setLayout (null) verwende, wird ein leerer Rahmen angezeigt.Java Swing GUI absolute Positionierung
public class GUI extends JFrame{
device mobiles[];
device station;
JPanel pane= new JPanel();
public GUI()
{
setTitle("communication is Key");
setSize(1000, 1000);
setResizable(false);
setDefaultCloseOperation(EXIT_ON_CLOSE);
pane.setBackground(Color.WHITE);
int x=0; int y=0;
mobiles= new device[10];
for (int i = 0; i < 10; i++) {
x=randInt();
y=randInt();
mobiles[i]= new device(1,x,y);
pane.add(mobiles[i]);
}
x=randInt();
y=randInt();
station = new device(0,x,y);
pane.add(station);
this.add(pane);
}
und das ist Klasse "Geräte", die JLabel
public class device extends JLabel{
ImageIcon mob = new ImageIcon("mob.png");
ImageIcon tow = new ImageIcon("tower.png");
public device(int num, int x, int y)
{ if(num==1)
this.setIcon(mob);
else this.setIcon(tow);
this.setBounds(x, y, 3, 7);
}
}
herauszufinden, jede Hilfe erstreckt, was das Problem ist, würde geschätzt werden.
* „aber ich brauche meine Etiketten zufällig als zufällig auch verstreut zeigen, ihre Positionen zu ändern“ * - Dazu gibt es einen Layout-Manager - [zum Beispiel] (http://stackoverflow.com/questions/27974966/moving-jpasswordfield-to-absolute-position/27975101#27975101) und [Beispiel] (http://stackoverflow.com)/questions/11819669/absolute-positioning-graphic-jpanel-innen-jframe-blocked-by-blank-abschnitte/11822601 # 11822601) – MadProgrammer
[Beispiel] (http://stackoverflow.com/questions/17847816/position-image- In-jedem-Bildschirm-Auflösung/17848635 # 17848635) – MadProgrammer