그래서 여기에 제 문제가 있습니다. JLabel이있는 JPanel을 가지고 있는데, 원하는 것은 JLabel을 클릭 한 후에 크기를 조정해야한다는 것입니다 (이상적으로는 배율로 변경되지만 이상적으로는 상수 값을 사용합니다). 이미지를 반환 했으므로 크기를 조절할 수있게되었지만 원래 JLabel을 새로 크기 조정할 수 없습니다.JLabel을 다른 JLabel로 만들기
이렇게 이상적으로 일어나야 할 일은 e.getSource가 새로 증가 된 JLabel이되어야한다는 것입니다.
나는 꽤 가깝다는 것을 안다. JOptionPane을 디버그 문으로 사용하여 크기를 늘릴 수 있는지 확인했다.
캔트 ((JLabel의) me.getSource = A 왜, A는 나의 새로운 JLabel의입니다 어쨌든
가 여기 내 코드입니다 :?.
이저를 도와주세요
public void mousePressed(MouseEvent me) {
//GreetingCard.setBackground.findComponentAt(me.getX(), me.getY());
//GreetingCard.setBackground.findComponentAt(me.getX(), me.getY)
JLabel a= (JLabel) me.getSource();
Icon icon = a.getIcon();
int scale = 4;
BufferedImage bi = new BufferedImage(
scale*icon.getIconWidth(),
scale*icon.getIconHeight(),
BufferedImage.TYPE_INT_ARGB);
Graphics2D g = bi.createGraphics();
g.scale(scale,scale);
icon.paintIcon(null,g,0,0);
g.dispose();
JLabel temp = new JLabel(new ImageIcon(bi));
((JLabel)me.getSource())= temp;
JOptionPane.showMessageDialog(
null,
new JLabel(new ImageIcon(bi)));
System.out.println("The size of the image is" + b.getIconWidth());
initiateEvent = me;
me.consume();
}
'((JLabel) me.getSource()) = temp; '문장으로 무엇을 달성하려고합니까? 표현식 (예 :'((JLabel) me.getSource())')은 =의 왼쪽에 허용되지 않습니다. 이벤트 소스의 상위 항목을 가져와 기존 라벨을 제거하고 새 라벨을 추가해야 할 가능성이 높습니다. – Zoe