Перемещение Undecorated окна - Java
Формулировка задачи:
Всем привет мужики. Сделал следущее:
У главной формы установил undecorated(true);
Это привело к тому что я остался без рамки фрейма --- так и задумывал.
Но! Возникла сдедущая беда...... Теперь незнаю как сделать так чтобы окно можно было переносить.
Т.е тупо взяться за любую область окна и перенести. Вот так хочу сделать.
И собственно еще такой вопрос.
Для этого окна делаю прозрачность через .setOpacity(0.5f);
B вместе с фреймом становятся прозрачным все объекты на этой форме... как исправить такую беду?
Решение задачи: «Перемещение Undecorated окна»
textual
Листинг программы
import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Container; import java.awt.Graphics; import java.awt.Graphics2D; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; public class Test extends JFrame { private static final long serialVersionUID = 1802199483736051124L; public Test() throws IOException { setLayout(null); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(280, 10, 1024, 790); setResizable(false); setUndecorated(true); setBackground(new Color(0, 0, 0, 0)); setContentPane(new JLabel() { @Override protected void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2d = (Graphics2D) g.create(); g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.DST_OUT, 1)); g2d.setColor(getBackground()); g2d.fill(getBounds()); g2d.dispose(); } }); } public static void main(String[] args) throws IOException { Test frame = new Test(); frame.setVisible(true); JLabel label = new JLabel(new ImageIcon(ImageIO.read(new File("D:/JavaWork/JPM/src/Graphics/icon.png")))); label.setBounds(200, 200, 48, 48); label.setOpaque(false); frame.add(label); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д