PDA

View Full Version : BackGround++++++++



Ebrahimkh
پنج شنبه 05 تیر 1393, 09:45 صبح
با عرض سلام و ادب به برنامه نویسان عزیز
یه سوال در باب جاوا داشتم
.
.
.
می خواستم بدونم براچی تو جاوا ما نمی توانیم یه تصویری رو به عنوان پس زمینه انتخاب کنیم
با وجودی در تمام زبانهای برنامه نویسی این یه امری بسیار سادست
.
.
.
الان من چند روزه که می خوام یه تصویر به عنوان پس زمینه انتخاب کنم :گریه: سرچ هم کردم میگن یه Label اضافه کن بعد یه تصویری رو بهش add کن
که این کار اونی نیست که من در نظرم دارم
من فقط می خوام یه پس زمینه به jframe برنامم اضافه کنم فقط همین


آیا براچنین کاری دوستان راهی راغ دارند یانه


بازم سپاسگذارم :قلب:

Tiyana
پنج شنبه 05 تیر 1393, 11:51 صبح
شما باید از BufferedImage استفاده کنی و یه شی ازش بسازی و آدرس تصویری رو که میخوای به ImageIO.read بدی تا تصویرت داخل اون شیی که ساختی ریخته بشه بعد درون paintComponent متد g.drawImage رو فراخوانی میکنی...



import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;


import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;




public class AddImage extends JPanel
{
private BufferedImage image;
private static int width;
private static int height;

public static void main(String[] args)
{
JFrame frame=new JFrame();
AddImage img=new AddImage();
frame.add(img);
frame.setSize(width, height);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOS E);
}

public AddImage()
{
try
{
image=ImageIO.read(new File("path"));//example:C:/Users/Mohammad/Desktop/Start.jpg
width=image.getWidth();
height=image.getHeight();
}
catch(IOException e)
{
e.printStackTrace();
}
}
@Override
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.drawImage(image, 0, 0, null);
}
}

Ebrahimkh
پنج شنبه 05 تیر 1393, 23:39 عصر
بازم بسیار سپاسگذارم بخاطر راهنماییهاتون


فقط یه چیز دیگه
یعنی حتما ما باید اول یه کامپونتی به برناممون اضافه کنیم تا بتونیم یه پس زمینه دلخواه بزاریم
یعنی بدون برنامه نویسی نمیشه

Tiyana
جمعه 06 تیر 1393, 00:27 صبح
معمول ترین راه همینه که با paintComponent تصویر ایجاد کنی و سرچی که تو اینترنت زدم به جز این روش راه دیگه ای پیدا نکردم اما شاید راه دیگه ای هم باشه.... یه راهشم همونیه که خودتون گفتید یعنی تصویرو با JLabel ایجاد کنی.

http://stackoverflow.com/questions/7542124/bg-image-with-swing-without-overriding-paintcomponent

Ebrahimkh
جمعه 06 تیر 1393, 09:03 صبح
ممنون Tiyana (http://barnamenevis.org/member.php?310355-Tiyana) جان
قربان محبتت که برا سوالم وقت گذاشتی