Java 如何更改JTable或JScrollpane大小以适应JPanel
首先,很抱歉部件的荷兰名称。现在我想要一个带有jtable和按钮的表单。我有一些填充tableModel的方法-我没有在这里发布。问题是我的JTable在一个JPanel中,这个JPanel在一个带有Gridlayout的JPanel中,但它不会改变大小。 目前,我的表(或者?)我的jscrollpane不适合页面,所以它总是太大——我不确定哪一个是坏家伙组件Java 如何更改JTable或JScrollpane大小以适应JPanel,java,swing,jtable,jscrollpane,layout-manager,Java,Swing,Jtable,Jscrollpane,Layout Manager,首先,很抱歉部件的荷兰名称。现在我想要一个带有jtable和按钮的表单。我有一些填充tableModel的方法-我没有在这里发布。问题是我的JTable在一个JPanel中,这个JPanel在一个带有Gridlayout的JPanel中,但它不会改变大小。 目前,我的表(或者?)我的jscrollpane不适合页面,所以它总是太大——我不确定哪一个是坏家伙组件 public class OpleidingenView extends JFrame implements iView{ privat
public class OpleidingenView extends JFrame implements iView{
private OpleidingenController controller;
private JTable tblOpleidingen;
private DefaultTableModel tableModel;
private JButton btnGoBack;
private JPanel pnlFirstrow, pnlSecondrow,pnlAll,pnlPaneel;
private JScrollPane scroller;
public OpleidingenView(){
tableModel = new DefaultTableModel();
tblOpleidingen = new JTable(tableModel);
tblOpleidingen.setEnabled(false);
scroller = new JScrollPane();
scroller.setViewportView(tblOpleidingen);
btnGoBack = new JButton("Vorige");
pnlFirstrow = new JPanel();
pnlSecondrow = new JPanel();
pnlPaneel = new JPanel();
pnlAll = new JPanel(new GridLayout(2,1));
pnlFirstrow.add(scroller);
pnlSecondrow.add(btnGoBack);
pnlAll.add(scroller);
pnlAll.add(pnlSecondrow);
pnlPaneel.add(pnlAll);
add(pnlPaneel);
}
我所知道的利用窗口/JFrame大小拉伸面板的最简单方法是将其置于边框布局的中心。若要更快获得更好的帮助,请发布一篇文章。您必须了解布局管理器是如何工作的,没有办法:-)嵌套-正如您所做的-有其优点(很多)和优点(很少)。在这里,它掩盖了原因(这是表的滚动窗格添加到的面板的默认FlowLayout)OP:是的,但我有点将我的整个应用程序设置在gridlayout中:/每个其他组件都会根据面板的大小进行调整..然后你给我们一个小拼图,并要求我们解决整个问题。我认为,这就是为什么这里的许多人不尝试回答部分问题的原因——这不是因为我们不知道什么是错的,而是我们讨厌猜测,然后被告知我们错了,而我们所做的只是帮助。我们无法解决一小块框架的UI布局问题,尤其是涉及GridBag的情况下。祝你好运“祝你好运”+1,以及回答部分问题的尝试。我通常会添加一条“发布SSCCE”评论,然后将其留给OP。“发布SSCCE,或者不需要我的帮助。”我怀疑还有很多人持有基本相同的观点。