Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα σάς,

 

Ψάχνω έναν τρόπο να βάλω σε ένα JPanel 6 JButton σε τυχαίες θέσεις. Πώς μπορώ να το υλοποιήσω αυτό χωρίς να πέφτει το ένα πάνω στο άλλο?

Δημοσ.

Με layout manager δοκιμασες??

Ναι και κατέληξα στο setLayout(null) γιατί τα θέλω σκόρπια αλλά χωρίς να τα προκαθορίσω (δηλαδή συντεταγμένες random)

Δημοσ.

Καλησπέρα !

 

Αν θέλεις δοκιμάζεις τον παρακάτω κώδικα που μόλις έγραψα. Δεν ξέρω άμα σε καλύπτει απόλυτα. Τον έγραψα λίγο βιαστικά γιατί πρέπει να φύγω...

 

Χαιρετισμούς,

 

Ο Άσπρος Γάτος

 

import javax.swing.*;
import java.awt.*;
import java.util.*;

class Myframe extends JFrame
{
  public Myframe()
  {
    JButton[] btn=new JButton[5];
    String s=new String();
    setLocation(100,100);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    JPanel p = new JPanel();
    GridBagLayout g=new GridBagLayout();
    p.setLayout(g);
    this.add(p);p.setVisible(true);
    ArrayList list = new ArrayList();
    for(int x = 0; x < btn.length; x++)
    {
      s="Button ";s+=String.valueOf(x);
      btn[x] = new JButton(s);
      list.add(btn[x]);
    }
    Collections.shuffle(list);
    for(int x = 0; x < list.size(); x++)
    {
      JButton t=(JButton)list.get(x);
      p.add(t);
     }
 
 }
  public static void main(String[] args){
Myframe frm=new Myframe();
frm.setVisible(true);
frm.setSize(500,500);

} }
 

Δημοσ.

Άσπρε γάτε σε ευχαριστώ για το χρόνο σου...Τελικά το έκανα με Layout null και με τα Bounds και έλεγχα με intersects αν βρίσκεται πάνω σε κανένα από τα άλλα!! :-D


 

Δημοσ.

Είναι η χειρότερη δυνατή επιλογή αυτή που διάλεξες και θα πρέπει να χρησιμοποιείται μόνο όταν υπάρχει κάποιος ικανοποιητικός λόγος.

Δημοσ.

Είναι η χειρότερη δυνατή επιλογή αυτή που διάλεξες και θα πρέπει να χρησιμοποιείται μόνο όταν υπάρχει κάποιος ικανοποιητικός λόγος.

Tο ξέρω ότι ειναι η χειρότερη επιλογή αλλά για μια φορα δεν εγινε και τιποτα :P

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...