Hallo Leute, ich habe ein Problem bei einem/mehreren JButtons. Ich wollte eine PNG Datei als Icon setzen, das Bild sieht aber im Programm selber auf einmal viel schlechter aus. Gibt es irgendwelche Sachen, die ich berücksichtigen sollte?
In der Preview:
Im Programm:
Code:
Mfg Nick
In der Preview:
Im Programm:
Code:
Java:
save = new JButton();
save.setPreferredSize(new Dimension(Window.boxPixelHeight, Window.boxPixelHeight));
save.setBackground(Window.backgroundColor);
save.setToolTipText("Save project");
save.setContentAreaFilled(false);
save.addMouseListener(new MouseListener() {
@Override
public void mouseReleased(MouseEvent e) {
save.setOpaque(false);
}
@Override
public void mousePressed(MouseEvent e) {
save.setOpaque(true);
}
@Override
public void mouseExited(MouseEvent e) {
Window.getFrame().setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
}
@Override
public void mouseEntered(MouseEvent e) {
Window.getFrame().setCursor(new Cursor(Cursor.HAND_CURSOR));
}
@Override
public void mouseClicked(MouseEvent e) {
}
});
save.setOpaque(false);
try {
Image saveImg = ImageIO.read(new File(FileManager.path + "/icons/save.png")).getScaledInstance(
(int) save.getPreferredSize().getWidth(), (int) save.getPreferredSize().getHeight(),
Image.SCALE_DEFAULT);
save.setIcon(new ImageIcon(saveImg));
save.setBackground(Window.backgroundColor);
save.setBorder(null);
} catch (IOException e) {
JOptionPane.showMessageDialog(null,
"Could not find file: " + new File(FileManager.path + "/icons/save.png").getAbsolutePath());
e.printStackTrace();
}
save.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
FileManager.saveBlock(current, current.getName());
}
});
Mfg Nick