PDA

View Full Version : fullscreen , background در جاوا



m44miri
پنج شنبه 25 خرداد 1391, 07:28 صبح
خدا لعنت کنه این oracle که گند زد به javafx .این کارو میشد مثل آب خوردن در javafx1.3 انجام داد.
اما توی swing هر کاری میکنم که یک عکس را در background بندازم که panel اون fullscreen هم باشه طوری که نوار handel بالایی نداشته باشه نمیتون البته منظورم اینه که وقتی یک شی مثل یک tabel هم روش بزارم این عکس دیده بشه نمیتونم. دارم برای یک kiosk برنامه مینوسیم اما برنامه ای که نوشتم گیر کردم روی این قسمتش. کسی هست یه کمکی یا لینکی به من بده؟ ممنون میشم

mortezaadi
جمعه 26 خرداد 1391, 12:40 عصر
package backgroundframe;

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Rectangle;

/**
*
* @author mortezaadi
*/
public class ImagePanel extends javax.swing.JPanel {

Image background;
Image scaledBackground;

/** Creates new form ImagePanel */
public ImagePanel() {
scaledBackground = null;
}

public void setBackground(Image background) {
this.background = background;

Rectangle bounds = getBounds();
scaledBackground = background.getScaledInstance(bounds.width, bounds.height,
Image.SCALE_SMOOTH);
}

@Override
public void paintComponent(Graphics g) {

Graphics2D g2d = (Graphics2D)g.create();

Rectangle bounds = getBounds();

if (background == null) {
g.fillRect(0, 0, bounds.width, bounds.height);
} else {
//
// If the scaled image bounds don't match the current bounds,
// rescale the image
//
if (scaledBackground.getWidth(null) != bounds.width ||
scaledBackground.getHeight(null) != bounds.height) {
scaledBackground =
background.getScaledInstance(
bounds.width, bounds.height, Image.SCALE_SMOOTH);
}

g2d.drawImage(scaledBackground, 0, 0, null);
}
}

}

m44miri
چهارشنبه 31 خرداد 1391, 07:58 صبح
دوست عزیز ممنون که جواب دادی.میشه یکم بشتر برام توضیح بدی.خیلی گنگه.کجاش باید فرم را اضافه کنم؟ عکسی که در background قرار داره کجاش باید بزارم؟ واقعیتش اصلا از کدی که گذاشتی سر در نیاوردم. میشه یک table روش قرار بدی؟