Hi!
Bild sagt eigentlich alles.
Hier der Code
(Ganz rechts sind fast immer Kommentare):
Würde mich über eine Antwort freuen!
Bild sagt eigentlich alles.
Das rote Kästchen zeigt die Position des JButtons, wurde nachträglich hinzugefügt.
Ich bin mir sehr sicher, dass der Button dort ist, da es dort MouseEnteredEvents triggert.
Ich bin mir sehr sicher, dass der Button dort ist, da es dort MouseEnteredEvents triggert.
(Ganz rechts sind fast immer Kommentare):
Java:
public class Main extends JFrame {
public int FrameWidth;
public int FrameHeight;
public static int Width;
public static int Height;
public JLabel lblB = new JLabel("Background");
JButton bttnC = new JButton("Close");
public BufferedImage bi;
public static void main(String[] args) throws IOException { //
EventQueue.invokeLater(new Runnable() { //
public void run() { //
try { //
Main frame = new Main(); //Selbsterklärend
frame.setUndecorated(true); //Selbsterklärend
frame.setVisible(true); //Selbsterklärend
Width = (int) Toolkit.getDefaultToolkit().getScreenSize().getWidth(); //Weite des Hauptbildschirms, benötigt für Calc.nMF003, siehe Calc.java
Height = (int) Toolkit.getDefaultToolkit().getScreenSize().getHeight(); //Höhe des Hauptbildschirms, benötigt für Calc.nMF004, siehe Calc.java
} catch (Exception e) { //Selbsterklärend
e.printStackTrace(); //Selbsterklärend
} //
} //
}); //
} //
public Main() throws IOException { //
FrameWidth = Calc.nMF003; //Calc.nMF003 Rechnet die Weite, die das Frame haben soll, aus, siehe Calc.java
FrameHeight = Calc.nMF004; //Calc.nMF004 Rechnet die Höhe, die das Frame haben soll, aus, siehe Calc.java
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Selbsterklärend
setSize(FrameWidth, FrameHeight); //Selbsterklärend
setTitle("TechGamez Launcher"); //Selbsterklärend
setLocation(Calc.nMF001, Calc.nMF002); //Mitte
BufferedImage Icon = ImageIO.read(getClass().getResourceAsStream("/Pictures/LauncherIcon.png")); //ProgramIcon
setIconImage(Icon); //ProgramIcon
lblB.setBounds(0, 0, FrameWidth, FrameHeight); //Hintergrund
lblB.setIcon(new ImageIcon(Scaler.scale(ImageIO.read(getClass().getClassLoader().getResource("Pictures/Background.png")), Calc.nMF003, Calc.nMF004))); //Hintergrund
bttnC.setBounds(lblCX, 0, Calc.nC002, Calc.nC002); //Selbsterklärend
int lblCX = (int) (((double)FrameWidth)- ((double)Calc.nC002)); //Rechnet X-Position des JButtons aus, Calc.nC002 rechnet die Größe des JButtons aus (Ist ein Quadrat), siehe Calc.java
bttnC.setBackground(Color.GREEN); ´ //Selbsterklärend
bttnC.setIcon(new ImageIcon(Scaler.scale(ImageIO.read(getClass().getClassLoader().getResource("Pictures/Close/CloseUnselected.png")), Calc.nC002, Calc.nC002))); //Müsste nachvollziehbar sein
bttnC.setRolloverIcon(new ImageIcon(Scaler.scale(ImageIO.read(getClass().getClassLoader().getResource("Pictures/Close/CloseSelected.png")), Calc.nC002, Calc.nC002))); //Müsste nachvollziehbar sein
bttnC.setRolloverEnabled(true); //Selbsterklärend
bttnC.setBorderPainted(false); //Selbsterklärend
bttnC.setOpaque(true); //Selbsterklärend
bttnC.setVisible(true); //Selbsterklärend
getContentPane().setLayout(null); //Selbsterklärend
getContentPane().add(bttnC); //Selbsterklärend
getContentPane().add(lblB); //Selbsterklärend
}
}
Java:
public class Scaler {
public static Image scale(Image imageToScaleOld, int dWidth, int dHeight) throws IOException {
BufferedImage scaledImage = null;
Image scaledImg = null;
if (imageToScaleOld != null) {
BufferedImage imageToScale = (BufferedImage) imageToScaleOld;
scaledImage = new BufferedImage(dWidth, dHeight, imageToScale.getType());
Graphics2D graphics2D = scaledImage.createGraphics();
graphics2D.drawImage(imageToScale, 0, 0, dWidth, dHeight, null);
graphics2D.dispose();
scaledImg = scaledImage;
}
return scaledImg;
}
}
Java:
public class Calc {
public static int nMF001 = nMF001();
public static int nMF002 = nMF002();
public static int nMF003 = nMF003();
public static int nMF004 = nMF004();
public static int nC001 = nC001();
public static int nC002 = nC002();
private static int nMF001() { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
double c = 0.2224; //Rechnet X Position des JFrames aus
double e = ((double)Toolkit.getDefaultToolkit().getScreenSize().getWidth())*c; //Rechnet X Position des JFrames aus
int r = (int) e; //Rechnet X Position des JFrames aus
return r; //Rechnet X Position des JFrames aus
} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
private static int nMF002() { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
double c = 0.1269; //Rechnet Y Position des JFrames aus
double e = ((double)Toolkit.getDefaultToolkit().getScreenSize().getHeight())*c; //Rechnet Y Position des JFrames aus
int r = (int) e; //Rechnet Y Position des JFrames aus
return r; //Rechnet Y Position des JFrames aus
} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
private static int nMF003() { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
double c = 0.5547; //Rechnet Breite des JFrames aus
double e = ((double)Toolkit.getDefaultToolkit().getScreenSize().getWidth())*c; //Rechnet Breite des JFrames aus
int r = (int) e; //Rechnet Breite des JFrames aus
return r; //Rechnet Breite des JFrames aus
} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
private static int nMF004() { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
double c = 0.7093; //Rechnet Höhe des JFrames aus
double e = ((double)Toolkit.getDefaultToolkit().getScreenSize().getHeight())*c; //Rechnet Höhe des JFrames aus
int r = (int) e; //Rechnet Höhe des JFrames aus
return r; //Rechnet Höhe des JFrames aus
} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
private static int nC001() { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
double c = 0.965; //Rechnet X Position des JButtons aus
double e = ((double)nMF003)*c; //Rechnet X Position des JButtons aus
int r = (int) e; //Rechnet X Position des JButtons aus
return r; //Rechnet X Position des JButtons aus
} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
private static int nC002() { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
double c = 0.0487; //Rechnet Breite & Höhe des JButtons aus
double e = ((double)nMF004)*c; //Rechnet Breite & Höhe des JButtons aus
int r = (int) e; //Rechnet Breite & Höhe des JButtons aus
return r; //Rechnet Breite & Höhe des JButtons aus
} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
}