에 맞도록 조정하십시오. 웹 사이트에서이 문제를 찾았습니다. 제공된 솔루션은 불행히도 저에게 효과적이지 않으므로 요청해야합니다. 다시 한 번 내가 잘못하고있는 것을 볼 수 있습니다.이미지 크기를 변경하기 전에 크기가
내가있어 코드로 했어가장 가까운 성과는이 (내가 가장 확실히 나는 이미지를 검색 할 때, 나중에에 대한 것을 절약 할 시도를 사용하고 캐치 할 필요)입니다 :
private void asignarTile(Tile tile, JPanel panel){
if(tile.getTipo() == 0){
ImageIcon ii = new ImageIcon("pasto.png");
Image image = ii.getImage();
Image newimg = image.getScaledInstance(32, 32, java.awt.Image.SCALE_SMOOTH);
ii = new ImageIcon(newimg);
tile.setIcon(ii);
panel.add(tile);
}
}
자, 지금까지 말한 것처럼, 코드가 특정 크기에서 작동한다는 것을 언급해야하지만 나중에 이미지의 크기를 JLabel에 적용하지 않을 것입니다. 즉, 먼저 다음을 갖습니다.
그러나 크기를 조정하면 이 :
내가 그것을 그 타일의 JLabel을 확장하고 이러한 변경 사항입니다주의하는 것이 유용 할 것이라고 생각
(COLUMNA 열을 의미 휠라는 행, 어쩌면 내가 영어로 완전히 내 코드 작성을 시작한다는 뜻) 나는 내가이 JLabel의 확장 이후 타일에 componentListener를 추가 고려했다고 말을해야 결론적으로package gui;
import javax.swing.JLabel;
public class Tile extends JLabel{
private int fila, columna, tipo;
public int getFila() {
return fila;
}
public void setFila(int x) {
this.fila = x;
}
public int getColumna() {
return columna;
}
public void setColumna(int y) {
this.columna = y;
}
public int getTipo(){
return tipo;
}
public void setTipo(int tipo){
if(tipo >= 0 || tipo <= 6)
this.tipo = tipo;
}
public Tile(int x, int y, int tipo) {
this.setFila(x);
this.setColumna(y);
this.setTipo(tipo);
}
}
하지만 나을 내 주면서 또한, 아무 소용이 라벨의 크기에 이미지 크기를 조정하는 것을 시도했다 예외는 그 차원이 0이고, 잘 0이 될 수 없다는 것을 말합니다.
읽어 주셔서 감사합니다.
아마도 쉽게 대답 할 수 있지만 다른 게시물에서는 아직 답을 수락하지 않았으므로이 항목을 전달하겠습니다. – camickr
오? 그건 새로운 개념입니다. 제가 고칠 수 있도록, 정말 감사해야합니다. 방금 답변을 수락했는데, 처음에는해야한다는 것을 알지 못했습니다. 죄송합니다. – krieg