JScrollPane
에 JTable
을 추가하고 스크롤 패널을 패널에 추가 한 다음 프레임에 패널을 추가하지만 여기서는 코드가 작동하지 않습니다. 사용자가 볼 수 있도록 테이블을 스크롤 할 수있게 해주는 테이블 또는 프레임에 스크롤 막대가 있어야합니다. 나는 많은 방법을 시도했지만 비는 나를 위해 일한 여기에 전체 코드는 다음을 수행 표 안에 스크롤하려면JScrollPane의 JTable
public class View extends JFrame {
private static final long serialVersionUID = 1L;
/**
* Launch the application.
*/
//here in the main method i it adds in the JFrame everything
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
View frame = new View();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public void showData() throws SQLException, ParseException {
panel = new JPanel();
panel_1 = new JPanel();
model_1 = new DefaultTableModel();
model_2 = new DefaultTableModel();
model_1.addColumn("Title");
model_1.addColumn("Priority ");
model_1.addColumn("DeadLine");
model_1.addColumn("Time");
model_1.addColumn("Progress");
model_2.addColumn("Task Title");
model_2.addColumn("Priority ");
model_2.addColumn("DeadLine");
model_2.addColumn("Time");
model_2.addColumn("Done");
Database obj = new Database();
ArrayList<Task> list = obj.getTasks();
for (int i = 0; i < list.size(); i++) {
Task task = list.get(i);
Object[] row = { task.title, task.priority, task.deadine,
task.time, task.progress };
// Comparing Dates
Calendar currentDate = Calendar.getInstance();
SimpleDateFormat formatter = new SimpleDateFormat("MM-d-yyyy");
String dateNow = formatter.format(currentDate.getTime());
java.util.Date systemDate = new SimpleDateFormat("MM-d-yyyy",
Locale.ENGLISH).parse(dateNow);
if (!task.deadine.before(systemDate)) {
// add row to to do tab
model_1.addRow(row);
} else {
// add row to done tab
model_2.addRow(row);
}
// **********************
}
toDoTable = new JTable(model_1);
doneTable = new JTable(model_2);
toDoTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
doneTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
toDoTable.setFillsViewportHeight(true);
doneTable.setFillsViewportHeight(true);
//here i add the JScrollPane and it doesnt work
JScrollPane jpane = new JScrollPane(toDoTable);
JScrollPane jpane1 = new JScrollPane(doneTable);
panel.add(jpane);
panel_1.add(jpane1);
panel.add(jpane);
panel_1.add(jpane1);
}
}
코드를 게시하십시오. 현재 게시 된 것은 괜찮은 것 같습니다. 패널을 기본 컨테이너에 어떻게 추가합니까? SSCCE? – StanislavL
여기에서 ** panel.add (jpane); **이 패널을 JScrollPane에 추가하여 테이블이 스크롤되도록 ** add (새 JScrollPane (패널)) ** – Amarnath