JPanel 내에 JTable이 있습니다. 테이블의 최대 행 수는 10입니다. 테이블 행을 기반으로 JPanel의 크기를 조정해야합니다. scrollPane을 얻지 않아야합니다.내부의 구성 요소를 기준으로 JPanel 크기 조정
간단하기 때문에 : 테이블 크기에 따라 패널의 크기를 조정해야합니다. 이것이 가능한가?
JPanel 내에 JTable이 있습니다. 테이블의 최대 행 수는 10입니다. 테이블 행을 기반으로 JPanel의 크기를 조정해야합니다. scrollPane을 얻지 않아야합니다.내부의 구성 요소를 기준으로 JPanel 크기 조정
간단하기 때문에 : 테이블 크기에 따라 패널의 크기를 조정해야합니다. 이것이 가능한가?
저는 jtable.getPreferredSize()
이 합리적인 결과를 반환해야한다고 생각합니다. tat가 실패하면 테이블 글꼴 메트릭과 탭 기본 행 높이를 사용하여 크기를 예측할 수 있습니다. 이 경우 1.in
글꼴 메트릭이 필요 없으며 rowheight는 사용자가 수행 한 작업입니다 (데이터가있는 경우와없는 경우). – kleopatra
* 머리를 쓰다듬어, 네, 너의 오른쪽, 그것은 행이어야한다. 높이 & rowCount +1 전나무는 내 발가락에있다. – MadProgrammer
는에 행의 크기를 조정 지원하지 않습니다 기본적으로 JScrollPane
2.notice JTable
를 사용하지 않고 JPanel
과 배치 JTable
표준 LayoutManagers
의 GridBagLayout
최고 vertical direction
import java.awt.BorderLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTable;
public class TableAndGbc {
public static void main(String args[]) throws Exception {
JPanel panel = new JPanel(new GridBagLayout());
final JTable table = new JTable(10, 10);
GridBagConstraints gbc = new GridBagConstraints();
gbc.weightx = 1.0;
gbc.fill = GridBagConstraints.HORIZONTAL;
panel.add(table, gbc);
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(panel, BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
}
}
가만히 있어야한다. 그 속성으로 테이블 크기를 가져 와서 그것에 따라 jpanel을 설정하십시오 .. – CyrillC
Jpanel이로드 될 때 테이블이로드되지 않습니다. 사용자가 파일을 찾아보고 선택합니다. 패널이로드되는 동안 테이블이 없습니다. 사용자가 파일을 찾아보고 추가하는 경우에만 테이블을 추가합니다. – user1548065
그게 LayoutManager에 대한 작업이야 - 스윙 태그 – kleopatra