Привет всем.Значит я сделал поздравительный винлокер для подруги.Но не могу замутить картинку в фон.Вроде легче лёгкого.Но ничего в голову не идёт.Помогите пожалуйста.Пишу на Яве.Кстати,нужно будет скачать две библиотечки вот здесь
https://github.com/java-native-acces...ee/master/dist jna.jar и jna-platform.jar
Код:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import com.sun.jna.*;
import com.sun.jna.platform.win32.*;
import com.sun.jna.platform.win32.WinDef.*;
import com.sun.jna.win32.*;
public class prog18 {
public static void main(String[] args) {
okno myOkno = new okno();
}
}
class okno extends JFrame
{
private Timer rTimer;
private JTextArea text;
private boolean flagExit = false;
private HWND hWnd;
private int wWight,wHeight;
public interface MyUser32 extends User32
{
static final MyUser32 instance=(MyUser32) Native.loadLibrary("user32",MyUser32.class,W32APIOptions.DEFAULT_OPTIONS);
public boolean SetWindowPos(HWND hwnd,int hwnd2,int arg1,int arg2,int arg3,int arg,int flags);
public int EnableWindow(HWND hwnd,boolean enabled);
public HWND SetFocus(HWND hwnd);
}
private void setAct()
{
MyUser32.instance.SetWindowPos
(hWnd, -1, 0, 0, wWight, wHeight, 0x0040|0x0002|0x0001);
MyUser32.instance.EnableWindow(hWnd, true);
MyUser32.instance.SetFocus(hWnd);
}
private void setWindow_()
{
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension dm = tk.getScreenSize();
setBounds(0,0,dm.width,dm.height);
this.setMinimumSize(dm);
this.setMaximumSize(dm);
setUndecorated(true);
this.setFocusable(true);
this.requestFocus();
this.toFront();
wWight = dm.width;
wHeight = dm.height;
this.setTitle("test");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
private void setContent_()
{
Container cont = getContentPane();
JPanel pan = new JPanel();
pan.setLayout(null);
Font labFont1 = new Font("Comic Sans MS",0,40);
Font labFont2 = new Font("Comic Sans MS",0,25);
JLabel lab1 = new JLabel("Ваш компьютер ЗАБЛОКИРОВАН!!");
lab1.setForeground(Color.MAGENTA);
lab1.setFont(labFont1);
lab1.setBounds(50,0,800,100);
pan.add(lab1);
JLabel lab2 =
new JLabel("Вас приветствует поздравительный блокировщик Windows:D");
lab2.setForeground(Color.ORANGE);
lab2.setFont(labFont2);
lab2.setBounds(50, 50, 800, 100);
pan.add(lab2);
JLabel lab3=
new JLabel("Поздравляем с 8 марта!!!");
lab3.setForeground(Color.GREEN);
lab3.setFont(labFont1);
lab3.setBounds(50,0,800,100);
JLabel lab4=
new JLabel("Чтобы снять блокировку введите ваше имя:");
lab4.setForeground(Color.ORANGE);
lab4.setFont(labFont2);
lab4.setBounds(50, 150, 800, 100);
pan.add(lab4);
text = new JTextArea();
text.setFont(labFont2);
text.setBounds(50, 250, 300,35);
text.setForeground(new Color(0,0,100));
text.setBackground(Color.LIGHT_GRAY);
pan.add(text);
JButton btn = new JButton("Ввод");
btn.setSize(150,35);
btn.setFont(labFont2);
btn.setLocation(50,300);
btn.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e){
String str = text.getText().toLowerCase().trim();
String test=(String)"оксана";
if(str.equals(test))
{
rTimer.stop();
MyUser32.instance.CloseWindow(hWnd);
JOptionPane.showMessageDialog(null,
"Примите наши поздравления ещё раз!!Всего доброго!=)");
flagExit=true;
System.exit(0);
}
else text.setText("ОТВЕТ НЕВЕРНЫЙ!!!");
}});
pan.add(btn);
cont.add(pan);
}
public okno()
{
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent evt){
if(flagExit==false)
{
setWindow_();
}
}
});
rTimer = new Timer(10,new ActionListener(){
public void actionPerformed(ActionEvent arg0){
setAct();
}
});
rTimer.start();
setContent_();
setWindow_();
hWnd = MyUser32.instance.FindWindow(null, "test");
}
}