WindowBuilderPro를 사용하여 프로그램을 작성했으며 정상적으로 작동합니다. 그러나 이제는 새로운 프로젝트에서 2 개의 클래스를 재사용하고 싶지만 처음 프로젝트에 복사하면 Eclipse에서 2 개의 오류가 발생합니다. 다음과 같이 내가 할WindowBuilderPro로 만든 시각적 클래스 재사용
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JTextField;
import javax.swing.JLabel;
import java.awt.Font;
import org.eclipse.wb.swing.FocusTraversalOnArray;
import java.awt.Component;
public class ExampleFrame extends JFrame {
private JPanel contentPane;
private JTextField textField;
private JTextField textField_1;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
ExampleFrame frame = new ExampleFrame();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public ExampleFrame() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
textField = new JTextField();
textField.setBounds(106, 32, 74, 28);
contentPane.add(textField);
textField.setColumns(10);
JLabel lblNewLabel = new JLabel("Box 1");
lblNewLabel.setFont(new Font("Tahoma", Font.PLAIN, 18));
lblNewLabel.setBounds(31, 39, 46, 14);
contentPane.add(lblNewLabel);
JLabel lblBox = new JLabel("Box 2");
lblBox.setFont(new Font("Tahoma", Font.PLAIN, 18));
lblBox.setBounds(31, 101, 46, 14);
contentPane.add(lblBox);
textField_1 = new JTextField();
textField_1.setColumns(10);
textField_1.setBounds(106, 94, 74, 28);
contentPane.add(textField_1);
contentPane.setFocusTraversalPolicy(new FocusTraversalOnArray(new Component[]{lblNewLabel, textField, lblBox, textField_1}));
}
}
2 개의 오류가 있습니다 : 여기에 문제를 보여주는 SSCCE입니다
import org.eclipse.wb.swing.FocusTraversalOnArray;
및
FocusTraversalOnArray cannot be resolved to a type
상기 라인에
The import org.eclipse cannot be resolved
라인
contentPane.setFocusTraversalPolicy(new FocusTraversalOnArray(new Component[]{lblNewLabel, textField, lblBox, textField_1}));
이 줄들은 탭 순서를 설정할 때 나타납니다. 아무도 이것을 극복하는 방법을 알고 있습니까? Java의 핵심은 컴포넌트를 재사용 할 수 있다는 것입니다.
답변 해 주셔서 감사합니다. 제 경우에는 누락 된 줄이 없었습니다. 내 대답에 넣은 문제는 (답장이 내 사서함에 나타날 때까지는 그것을 잊어 버렸습니다.) 모든 라이브러리를 빌드 경로에 추가해야했습니다. –