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

Java, custom Panel


loythien

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

Δημοσ.

Hello all :)

Θέλω να φτιάξω ένα πρόγραμμα που να προβάλλει και να χειρίζετε έναν κύκλο μέσω JButton. Έχω φτιάξει τον κώδικα και μου φαίνετε σωστός αλλά προφανώς δεν είναι αφού δεν τρέχει. Νομίζω ότι κάπως δεν έχω καταλάβει σωστά την προσθήκη custom panel. Σας δίνω τον κώδικα και αν έχετε καμια ιδέα plz help me ...

 

package test;

import javax.swing.JPanel;

import java.awt.*;

import javax.swing.*;

import java.awt.*;

import javax.swing.*;

import java.awt.*;

 

public class UseBalloon extends JFrame {

private balloon p1;

private JPanel p2;

private JButton b1,b2,b3,b4,b5,b6;

 

public UseBalloon() {

super ("ΜΠΑΛΟΝΙ");

p1=new balloon();

p2=new JPanel();

b1=new JButton("UP");

b2=new JButton("DOWN");

b3=new JButton("LEFT");

b4=new JButton("RIGHT");

b5=new JButton("GROW");

b6=new JButton("REDUCE");

Container c=getContentPane();

c.add(p1,BorderLayout.NORTH);

c.add(p2,BorderLayout.SOUTH);

p2.add(b1);p2.add(b2);p2.add(b3);p2.add(b4);p2.add(b5);p2.add(b6);

}

public static void main (String arqs[]) {

UseBalloon a=new UseBalloon();

a.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}}

 

package test;

import java.awt.*;

import javax.swing.*;

import java.awt.*;

public class balloon extends JPanel{

public balloon(){}

public void paintComponent(Graphics g) {

super.paintComponent (g);

g.setColor(Color.LIGHT_GRAY);

g.drawOval(15,20,11,13);

}}

 

Thanx για κάθε ενδεχόμενη απάντηση :)

Δημοσ.

Δεν καταλαβαινω γιατι θες να το κανεις με custom panel και δεν ζωγραφιζεις χυμα μεσα στο JFrame αλλα δεν ειναι αυτο το προβλημα.

 

Τα προβληματα ειναι:

Δεν το εχεις κανει ορατο ( setVisible(true) για java 1.5 η show() για παλαιοτερες)

Δεν ειχες ορισει μεγεθος για το frame με αποτελεσμα να εχει μηδενικο μεγεθος ακομα και αν ηταν ορατο

 

Απο κει και περα, επειδεη ποτε δεν μπορεσα να καταλαβω καλα τα layouts, προτιμω να βαζω τα αντικειμενα μου μεσα με συντεταγμενες για να ελεγχω πληρως που ειναι. Ετσι εβαλα το πρωτο Panel πανω και το δευτερο κατω. Οι παραμετροι της setBounds ειναι (Χ, Υ, Μηκος, Πλατος) σε pixels

 

Η σειρα με την οποια γινονται τα add στη useBalloon() εχει σημασια (καλο ειναι να ειναι τελευταια)

Τα null εχουν να κανουν με το Layout

Επισης αντικατεστησα το super με ενα αντιστοιχο this.setTitle που ειναι πιο κατανοητο.

 

Στην κλαση balloon αλλαξα λιγο τις παραμετρους επισης για να ειναι πιο μεγαλος ο κυκλος και συμπαγης, και πρασινος για να φαινεται πιο καλα!

 

>

package test;

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

public class balloon extends JPanel{

   public balloon(){}

   public void paintComponent(Graphics g) {
       super.paintComponent (g);
       g.setColor(Color.GREEN);
       g.fillOval(200,50,250,250);
   }
}

 

>
package test;

import javax.swing.JButton;
import javax.swing.JPanel;
import java.awt.*;
import javax.swing.*;
import java.awt.*;
import javax.swing.*;
import java.awt.*;

public class UseBalloon extends JFrame {
   private balloon p1;
   private JPanel p2;
   private JButton b1,b2,b3,b4,b5,b6;
   private JButton jButton1 = new JButton();
   private JPanel jPanel1 = new JPanel();

   public UseBalloon() {        
       this.setSize(new Dimension(640, 480));
       this.setTitle("ΜΠΑΛΟΝΙ");
       this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       this.setLayout(null);
       
       Container c=getContentPane();
       c.setLayout(null);

       p1=new balloon();
       p1.setBounds(new Rectangle(0, 0, 640, 340));
       p2=new JPanel();
       p2.setBounds(new Rectangle(0, 350, 640, 120));
       
       b1=new JButton("UP");
       b2=new JButton("DOWN");
       b3=new JButton("LEFT");
       b4=new JButton("RIGHT");
       b5=new JButton("GROW");
       b6=new JButton("REDUCE");

       p2.add(b1,null);
       p2.add(b2,null);
       p2.add(b3,null);
       p2.add(b4,null);
       p2.add(b5,null);
       p2.add(b6,null);
           
       c.add(p1,null);
       c.add(p2,null); 
   }
   
   public static void main (String arqs[]) {
       UseBalloon a=new UseBalloon();
       a.setVisible(true);
   }
}

 

PS Καλο ειναι να στοιχιζεις τον κωδικα σου, ειδικα αν προκειται για κατι οχι τοσο μικρο. Θα ειναι και πιο πιθανο να βρεις καποιον προθυμο να το διαβασει

Δημοσ.

Σε ευχαριστώ πάρα πολύ. Άλλαξα κάποια πράγματα + αυτά που μου είπες και τώρα τρέχει μια χαρά :))

 

Έχεις δίκιο για την στοίχιση αλλά είχα σβήσει και ξαναγράψει το προγράμμα αρκετές φορές και δεν μου πέρασε καν απο το μυαλό (γι αυτό ήταν και προχειρογραμμένο τελείως σαν πρόγραμμα).

Δημοσ.

καλημερα παιδεσ σωστε με θέλω ενα να φτιαξω ενα απλό πρόγραμμα αντιστοίχισης σε JavaScript το οποίο θα μετατρέπει

τους λατινικούς και ελληνικούς χαρακτήρες σε αριθμούς. Ο χρήστης θα μπορεί να

εισάγει μια πρόταση σε μια φόρμα και θα επιλέγει ένα κουμπί όταν θελήσει να γίνει η

μετατροπή. Οι χαρακτήρες θα πρέπει να είναι αριθμημένοι με τυχαία σειρά.απαντηστε μ οσο το δυνατο πιο γρηγορα...πως μπορώ:rolleyes::rolleyes::rolleyes::rolleyes::rolleyes::rolleyes::rolleyes::rolleyes::rolleyes::rolleyes::rolleyes:

Δημοσ.
καλημερα παιδεσ σωστε με θέλω ενα να φτιαξω ενα απλό πρόγραμμα αντιστοίχισης σε JavaScript το οποίο θα μετατρέπει

τους λατινικούς και ελληνικούς χαρακτήρες σε αριθμούς. Ο χρήστης θα μπορεί να

εισάγει μια πρόταση σε μια φόρμα και θα επιλέγει ένα κουμπί όταν θελήσει να γίνει η

μετατροπή. Οι χαρακτήρες θα πρέπει να είναι αριθμημένοι με τυχαία σειρά.απαντηστε μ οσο το δυνατο πιο γρηγορα...πως μπορώ:rolleyes::rolleyes::rolleyes::rolleyes::rolleyes::rolleyes::rolleyes::rolleyes::rolleyes::rolleyes::rolleyes:

 

Αν και είναι εντελως off topic αυτο που ρωτάς...Αυτο που πρεπει να κανεις ειναι να κανεις parse το κειμενο χαρακτηρα-χαρακτηρα, και να προσθετεις σε ενα string για καθε χαρακτηρα την αντιστοιχια του σε αριθμο στο τελος του με καποιο delimeter....

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...