0
액티브 한 JInternalFrame의 취득에 문제가 있습니다. 나는 그것에 대해 몇 가지 작업을 수행 할 것이므로 활성 ImageInternalFrame (내 클래스, 즉 JInternalFrame을 확장)을 표시해야합니다. 어떻게 해결 해야할지 모르겠지만 누군가 나를 도울 수 있습니까?Swing : 액티브하게되는 방법 JInternalFrame
public class MainFrame extends javax.swing.JFrame {
ArrayList <ImageInternalFrame> imageInternalFrameList = new ArrayList();
private void openMenuItemActionPerformed(java.awt.event.ActionEvent evt) {
JFileChooser chooser = new JFileChooser();
chooser.showOpenDialog(null);
File f = chooser.getSelectedFile();
String filePath = f.getPath();
BufferedImage bufferedImage;
ImageInternalFrame imageInternalFrame;
String mimetype= new MimetypesFileTypeMap().getContentType(f);
String type = mimetype.split("/")[0];
if(type.equals("image")){
bufferedImage = null;
try {
bufferedImage = ImageIO.read(new File(filePath));
} catch (IOException ex) {
Logger.getLogger(MainFrame.class.getName()).log(Level.SEVERE, null, ex);
}
imageInternalFrame = new ImageInternalFrame(filePath);
imageInternalFrame.setSize(bufferedImage.getWidth(), bufferedImage.getHeight());
imageInternalFrame.setVisible(true);
imageInternalFrame.setLocation(imageInternalFrameList.size() * 25 , imageInternalFrameList.size() * 25);
add(imageInternalFrame);
imageInternalFrameList.add(imageInternalFrame);
}
else{
JOptionPane.showMessageDialog(null, "It's NOT an image");
}}
public class ImageInternalFrame extends javax.swing.JInternalFrame {
public ImageInternalFrame(String imagePath) {
initComponents();
setImage(imagePath);
}
public void setImage(String imagePath){
imageLabel.setIcon(new ImageIcon(imagePath));
imageLabel.paintImmediately(imageLabel.getVisibleRect());
}
}
코드 스 니펫, HTML/XML 또는 입력/출력과 같은 구조화 된 문서의 코드 형식을 사용하십시오. 이렇게하려면 텍스트를 선택하고 메시지 게시/편집 양식 상단의 '{}'버튼을 클릭하십시오. –