이미지 처리 소프트웨어 (재미 있기만 한)를 개발 중이며 이미지 크기 조정 옵션이 있습니다. 기본적으로 두 개의 JTextArea
구성 요소가있는 창이 열리고 크기 조정을 위해 원하는 이미지 너비와 높이가 표시됩니다. 사용자가 원하는 경우 화면 비율을 유지하기 위해 JCheckBox
도 있습니다. 문제는. 확인란을 선택하면 사용자가 너비 또는 높이를 먼저 입력합니다. 다른 텍스트 영역이 AR을 유지할 수 있도록 변경 될 때마다 자동으로 업데이트되기를 원합니다. 이 문제를 다루는 몇 가지 코드를 개발했지만 실제로 청취자가 어떤 구성 요소에 할당해야하는지 이해하지 못하기 때문에 실제로 원하는 것을 제공하지 않습니다.두 개의 JTextArea에 대한 이벤트 리스너 설정
코드 :
이String height, width;
if (checkBoxImage.isSelected()){
// aspect ratio = width/height
width = widthArea.getText();
height = heightArea.getText();
double aspectRatio = (double) images.get(tabbedPane.getSelectedIndex()).getWidth()/images.get(tabbedPane.getSelectedIndex()).getHeight();
/**
* to do, update width, height area
* to the closest user input
*/
if(heightArea.getText().length() != 0 && heightArea.getText().length() <= 5
&& heightArea.getText().charAt(0) != '0'){
//parsing string to integer
try{
int heightNum = Integer.parseInt(height);
int widthNum = (int) Math.round(aspectRatio * heightNum);
widthArea.setText(String.valueOf(widthNum));
widthArea.updateUI();
frameimgSize.repaint();
}
catch(NumberFormatException e1){JOptionPane.showMessageDialog(error,e1.getMessage(),"Error", JOptionPane.ERROR_MESSAGE);}
}
//width has been entered first
else if(widthArea.getText().length() != 0 && widthArea.getText().length() <= 5 &&
widthArea.getText().charAt(0) != '0'){
try{
int widthNum = Integer.parseInt(width);
int heightNum = (int) Math.round(aspectRatio * widthNum);
heightArea.setText(String.valueOf(heightNum));
heightArea.updateUI();
frameimgSize.repaint();
}
catch(NumberFormatException e1){JOptionPane.showMessageDialog(error,e1.getMessage(),"Error", JOptionPane.ERROR_MESSAGE);}
}
}
문제가있는 코드를 오프 사이트에 연결하는 대신 질문 자체에 게시하십시오. jTextAreas의 텍스트를 설정하거나 이벤트 리스너를 연결하거나 값 또는 다른 것의 계산에 문제가 있습니까? –
내 주요 문제는 정확히 내가 이벤트 리스너를 첨부해야합니다 무엇입니까? JTextArea에요? CheckBox 구성 요소에? 사용자가 너비 또는 높이 값을 변경할 때마다 텍스트를 업데이트 할 수 있으려면 JTextArea?는 실제로 코드 관련 문제가 아닙니다. –