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

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

Δημοσ.

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

 

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

Δημοσ.
  Στις 20/12/2015 στις 5:48 ΜΜ, tr3quart1sta είπε

Με 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


 

Δημοσ.

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

Δημοσ.
  Στις 23/12/2015 στις 10:03 ΜΜ, visualizer είπε

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

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

Δημοσ.
  Στις 27/12/2015 στις 2:08 ΜΜ, eaglej είπε

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

Άμα το ξέρεις καλώς  :P

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

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

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

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

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

Σύνδεση

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

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