Witam! Otóż mam taki kod:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import java.io.*;
public class TaskKiller extends JFrame implements ActionListener {
JButton exitBtn, minimizeBtn, maximizeBtn, OkExitBtn;
JFrame frame, minimizedFrame, err;
public static void main(String[] args)
{
String task = null;
Scanner scan = new Scanner(System.in);
new TaskKiller();
}
public TaskKiller()
{
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
double xFrame = dim.getWidth() - 455;
double yFrame = dim.getHeight() - 225;
double xMFrame = dim.getWidth() - 50;
double yMFrame = dim.getHeight() - 100;
minimizedFrame = new JFrame();
minimizedFrame.setUndecorated(true);
minimizedFrame.setVisible(false);
minimizedFrame.setBounds((int)xMFrame,(int)yMFrame, 50,50);
minimizedFrame.setResizable(false);
minimizedFrame.setAlwaysOnTop(true);
frame = new JFrame("TaskKiller");
frame.setResizable(false);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds((int)xFrame,(int)yFrame,450,175);
frame.setUndecorated(true);
frame.setVisible(true);
frame.setAlwaysOnTop(true);
frame.setBackground(Color.black);
err = new JFrame("Error");
err.setVisible(false);
err.setResizable(false);
err.setLocationRelativeTo(null);
err.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
err.setSize(500,500);
minimizeBtn = new JButton();
minimizeBtn.setBounds(390, 0, 30, 30);
minimizeBtn.setBackground(Color.blue);
minimizeBtn.addActionListener(this);
maximizeBtn = new JButton();
maximizeBtn.setBounds(0,0,0,0);
maximizeBtn.setBackground(Color.blue);
maximizeBtn.addActionListener(this);
exitBtn = new JButton();
exitBtn.setBounds(420, 0, 30,30);
exitBtn.setBackground(Color.red);
exitBtn.addActionListener(this);
OkExitBtn = new JButton();
OkExitBtn.setBounds(220, 450, 30,50);
OkExitBtn.addActionListener(this);
frame.add(exitBtn);
frame.add(minimizeBtn);
minimizedFrame.add(maximizeBtn);
}
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
if(source==exitBtn||source==OkExitBtn)
{
err.dispose();
minimizedFrame.dispose();
frame.dispose();
}
else if(source==minimizeBtn)
{
frame.setVisible(false);
minimizedFrame.setVisible(true);
}
else if(source==maximizeBtn)
{
minimizedFrame.setVisible(false);
frame.setVisible(true);
minimizeBtn.setBounds(390, 0, 30, 30);
minimizeBtn.setSize(30,30);
}
else
{
err.setVisible(true);
}
}
}
I co jakiś czas, gdy uruchamiam program, przycisk "minimizeBtn", zakrywa całą dostępną przestrzeń, zamiast tylko swoje 30x30 px w rogu... Co może to powodować? Da się temu zaradzić? Prosiłbym o pomoc...