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

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

Δημοσ.

Γεια σας,

Θα ήθελα να ρωτήσω με ποια συνάρτηση μπορώ να αλλάξω το μέγεθος ενός JButton ή JLabel ή JTextField ή οτιδήποτε άλλο?

Με την setSize() δεν γίνεται καμία αλλαγή στο μέγεθος. :(

Ευχαριστώ.

Δημοσ.

Εξαρτάται από τι Layout χρησιμοποιείς,

 

FlowLayout,BorderLayout,GridLayout?

 

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.event.*;

 

public class ButtonDemo extends JFrame implements ActionListener

{

protected Container cnt;

protected JPanel flowpanel,gridpanel,borderpanel;

protected JButton flowbutton,gridbutton,borderbutton;

 

public ButtonDemo()

{

cnt = getContentPane();

cnt.setLayout(new BorderLayout());

 

flowbutton = new JButton("Flow");

flowbutton.addActionListener(this);

 

flowpanel = new JPanel();

flowpanel.setLayout(new FlowLayout());

flowpanel.add(flowbutton);

 

gridbutton = new JButton("Grid");

gridbutton.addActionListener(this);

gridpanel = new JPanel();

gridpanel.setLayout(new GridLayout(1,2));

gridpanel.add(gridbutton);

 

borderbutton = new JButton("Border");

borderbutton.addActionListener(this);

borderpanel = new JPanel();

borderpanel.setLayout(new BorderLayout());

borderpanel.add(borderbutton,BorderLayout.NORTH);

 

cnt.add(flowpanel,BorderLayout.NORTH);

cnt.add(gridpanel,BorderLayout.CENTER);

cnt.add(borderpanel,BorderLayout.SOUTH);

setSize(400,400);

setVisible(true);

}

 

public void actionPerformed(ActionEvent evt)

{

}

 

public static void main(String [] args)

{

ButtonDemo bd = new ButtonDemo();

bd.addWindowListener(

new WindowAdapter()

{

public void windowClosing(WindowEvent wvt)

{

System.exit(0);

}

}

);

}

}

Δημοσ.

Εξαρτάται από τι Layout χρησιμοποιείς,

 

FlowLayout,BorderLayout,GridLayout?

 

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.event.*;

 

public class ButtonDemo extends JFrame implements ActionListener

{

protected Container cnt;

protected JPanel flowpanel,gridpanel,borderpanel;

protected JButton flowbutton,gridbutton,borderbutton;

 

public ButtonDemo()

{

cnt = getContentPane();

cnt.setLayout(new BorderLayout());

 

flowbutton = new JButton("Flow");

flowbutton.addActionListener(this);

 

flowpanel = new JPanel();

flowpanel.setLayout(new FlowLayout());

flowpanel.add(flowbutton);

 

gridbutton = new JButton("Grid");

gridbutton.addActionListener(this);

gridpanel = new JPanel();

gridpanel.setLayout(new GridLayout(1,2));

gridpanel.add(gridbutton);

 

borderbutton = new JButton("Border");

borderbutton.addActionListener(this);

borderpanel = new JPanel();

borderpanel.setLayout(new BorderLayout());

borderpanel.add(borderbutton,BorderLayout.NORTH);

 

cnt.add(flowpanel,BorderLayout.NORTH);

cnt.add(gridpanel,BorderLayout.CENTER);

cnt.add(borderpanel,BorderLayout.SOUTH);

setSize(400,400);

setVisible(true);

}

 

public void actionPerformed(ActionEvent evt)

{

}

 

public static void main(String [] args)

{

ButtonDemo bd = new ButtonDemo();

bd.addWindowListener(

new WindowAdapter()

{

public void windowClosing(WindowEvent wvt)

{

System.exit(0);

}

}

);

}

}

 

Ευχαριστώ πολύ φίλε, ο τρόπος σου δουλεύει μια χαρά.

Μήπως μπορείς να μου δώσεις ένα γενικό κανόνα για το πότε μπορώ να αλλάζω το size και πότε όχι?

 

Βασικά τώρα που το ξανασκεύτομαι ο τρόπος σου είναι λίγο "ψιλομούφα" :D

Αλλάζεις το μέγεθος του JFrame και όχι του κουμπιού :P

Και επειδή αλλάζει το CENTER ανάλογα με το μέγεθος του JFrame , αλλάζει και το μέγεθος του κουμπιού.

Δεν υπάρχει κάποιος τρόπος που να λέμε πχ button.setSize(...); ?

Δημοσ.

Ναι δεν αλλάζει τίποτα. :(

 

 

δυστυχώς το ξέρω.....

 

>
import javax.swing.JButton;
import javax.swing.JFrame;
import java.awt.Dimension;
import java.awt.FlowLayout;
public class Test extends JFrame{
public Test(){
JButton button1=new JButton("button1");
button1.setMaximumSize(new Dimension(200, 200));
       button1.setPreferredSize(new Dimension(200, 200));
       button1.setMinimumSize(new Dimension(200,200));
JButton button2=new JButton("button2");
button2.setMaximumSize(new Dimension(100, 100));
       button2.setPreferredSize(new Dimension(100, 100));
       button2.setMinimumSize(new Dimension(100,100));
setLayout(new FlowLayout());
add(button1);
add(button2);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(400,400);
setVisible(true);
}
public static void main(String []args){
	new Test();
}
}

Δημοσ.

Για τσέκαρε και αυτό :D

 

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.event.*;

 

public class Test extends JFrame

{

protected Container cnt;

 

public Test()

{

super("It is not moufa");

cnt = getContentPane();

cnt.setLayout(null);

 

JButton b1 = new JButton("one");

JButton b2 = new JButton("two");

JButton b3 = new JButton("three");

 

cnt.add(b1);

cnt.add(b2);

cnt.add(b3);

 

Insets insets = cnt.getInsets();

Dimension size = b1.getPreferredSize();

b1.setBounds(25 + insets.left, 5 + insets.top,

size.width, size.height);

size = b2.getPreferredSize();

b2.setBounds(55 + insets.left, 40 + insets.top,

size.width, size.height);

size = b3.getPreferredSize();

b3.setBounds(150 + insets.left, 15 + insets.top,

size.width + 50, size.height + 20);

 

setSize(300 + insets.left + insets.right,125 + insets.top + insets.bottom);

setVisible(true);

}

 

public static void main(String []args)

{

Test mytest = new Test();

mytest.addWindowListener(

new WindowAdapter()

{

public void windowClosing(WindowEvent wvt)

{

System.exit(0);

}

}

);

}

}

Δημοσ.

Για τσέκαρε και αυτό :D

 

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.event.*;

 

public class Test extends JFrame

{

protected Container cnt;

 

public Test()

{

super("It is not moufa");

cnt = getContentPane();

cnt.setLayout(null);

 

JButton b1 = new JButton("one");

JButton b2 = new JButton("two");

JButton b3 = new JButton("three");

 

cnt.add(b1);

cnt.add(b2);

cnt.add(b3);

 

Insets insets = cnt.getInsets();

Dimension size = b1.getPreferredSize();

b1.setBounds(25 + insets.left, 5 + insets.top,

size.width, size.height);

size = b2.getPreferredSize();

b2.setBounds(55 + insets.left, 40 + insets.top,

size.width, size.height);

size = b3.getPreferredSize();

b3.setBounds(150 + insets.left, 15 + insets.top,

size.width + 50, size.height + 20);

 

setSize(300 + insets.left + insets.right,125 + insets.top + insets.bottom);

setVisible(true);

}

 

public static void main(String []args)

{

Test mytest = new Test();

mytest.addWindowListener(

new WindowAdapter()

{

public void windowClosing(WindowEvent wvt)

{

System.exit(0);

}

}

);

}

}

 

το cnt.setLayout(null); τι κάνει?

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

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

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

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

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

Σύνδεση

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

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