View Full Version : مبتدی: اندازه ای که برای JFrame ست می کنم با کمی تغییر اعمال میشه
saeed-esfandi
دوشنبه 21 تیر 1389, 22:12 عصر
سلام
من یه JFrame دارم با استفاده از setSize براش اندازه ست میکنم و یه JPanel بهش add میکنم
ولی هنگامی که اندازه رو در JPanel با استفاده از getWidth و getHeight بدست میارم
با اون اولیه فرق داره:اشتباه:
میشه دلیلشو توضیح بدید
jlover
سه شنبه 22 تیر 1389, 12:28 عصر
اندازه ی چیو در میارید؟؟
با کدوم اولیه فرق داره؟؟
لطفاً سوالتون رو واضحتر بفرمایید و کدهای مربوطه تون رو قرار بدید
saeed-esfandi
سه شنبه 22 تیر 1389, 14:34 عصر
ممنون از توجهتان
سوال که واضحه
ولی مثلا
DrawPanel panel = new DrawPanel();
JFrame application = new JFrame();
application.add(panel);
application.setSize(256, 256);
application.setVisible(true);
که کلاس DrawPanel به صورت زیر است
public class DrawPanel extends JPanel {
@Override
public void paintComponent(Graphics g){
System.out.println(getWidth() + " - " + getHeight());
}
}
ولی خروجی این برنامه به صورت 224 - 254 است که با 256 - 256 فرق داره
billguess
سه شنبه 22 تیر 1389, 18:08 عصر
ممنون از توجهتان
سوال که واضحه
ولی مثلا
DrawPanel panel = new DrawPanel();
JFrame application = new JFrame();
application.getRootPane().add(panel);
application.setSize(256, 256);
application.setVisible(true);
که کلاس DrawPanel به صورت زیر است
public class DrawPanel extends JPanel {
@Override
public void paintComponent(Graphics g){
System.out.println(getWidth() + " - " + getHeight());
}
}
ولی خروجی این برنامه به صورت 224 - 254 است که با 256 - 256 فرق داره
شما سایز فریم رو ست کردی ولی سایز فریم رو getنمی کنی
با کمترین تغییر در برنامه شما اگر تعریف فریم به اسم applicationعمومی کنیم مورد نظر شما برآورده می شود
for example
classs1{
public JFrame application = new JFrame();
public class DrawPanel extends JPanel {
@Override
public void paintComponent(Graphics g){
System.out.println(application.getWidth() + " - " + application.getHeight());
}
}
class /Method 2{
DrawPanel panel = new DrawPanel();
application.add(panel);
application.setSize(256, 256);
application.setVisible(true);
}
}
saeed-esfandi
چهارشنبه 23 تیر 1389, 17:17 عصر
ممنون از پاسختون
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.