Java scrollpane未添加到面板,而是显示白色屏幕
所以我有一个表,它显示来自Java scrollpane未添加到面板,而是显示白色屏幕,java,swing,jtable,jscrollpane,Java,Swing,Jtable,Jscrollpane,所以我有一个表,它显示来自数据库的数据,但是由于有很多数据被输出到表中,它超出了我为JFrame设置的界限 我尝试在下面添加一个滚动窗格,但不允许我向下滚动GUI,而是在整个GUI上显示白色!所有我需要做的就是使它,这样我就可以向下滚动查看整个表 这是我的密码: public class ViewAll extends JFrame{ //Jtextfields, buttons, labels private static JButton one = new JButton("
数据库的数据
,但是由于有很多数据被输出到表中,它超出了我为JFrame设置的界限
我尝试在下面添加一个滚动窗格,但不允许我向下滚动GUI,而是在整个GUI上显示白色!所有我需要做的就是使它,这样我就可以向下滚动查看整个表
这是我的密码:
public class ViewAll extends JFrame{
//Jtextfields, buttons, labels
private static JButton one = new JButton("Back");
private static JLabel lblMembTitle = new JLabel("<html><h1>All Members</h1></html>");
private static JLabel lblPlayTitle = new JLabel("<html><h1>All Playlists</h1><br /></html>");
//Containers, Panels, Scrollpanes
private Container mainCon = this.getContentPane();
private static JPanel pnlTable = new JPanel();
//Tables
private static JTable tblShowAllMemb = new JTable();
private static JTable tblShowAllPlay = new JTable();
JScrollPane scrollPane = new JScrollPane(pnlTable, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
public ViewAll(){
super("Search/Edit/Delete Members");
this.setBounds(400, 800, 854,400);
//Add panel and create table model
mainCon.add(pnlTable);
MemTableModel tblMembers = new MemTableModel();
PlayTableModel tblPlaylist = new PlayTableModel();
this.add(scrollPane);
//Add table and set tableModel
pnlTable.add(lblMembTitle);
pnlTable.add(tblShowAllMemb);
tblShowAllMemb.setModel(tblMembers);
pnlTable.add(lblPlayTitle);
pnlTable.add(tblShowAllPlay);
tblShowAllPlay.setModel(tblPlaylist);
}
}
public类ViewAll扩展JFrame{
//jtext字段、按钮、标签
私有静态JButton one=新JButton(“Back”);
私有静态JLabel lblMembTitle=新JLabel(“所有成员”);
私有静态JLabel lblplaytTitle=新JLabel(“所有播放列表
”);
//容器、面板、滚动窗格
私有容器mainCon=this.getContentPane();
私有静态JPanel pnlTable=new JPanel();
//桌子
私有静态JTable tblshowallmeb=新JTable();
私有静态JTable tblShowAllPlay=新JTable();
JScrollPane scrollPane=新的JScrollPane(pnlTable、ScrollPaneConstants.VERTICAL、ScrollPaneConstants.HORIZONTAL、ScrollPaneConstants.HORIZONTAL);
公共视图全部(){
超级(“搜索/编辑/删除成员”);
这是一个挫折(400800854400);
//添加面板并创建表格模型
主控添加(pnlTable);
MemTableModel tblMembers=新MemTableModel();
PlayTableModel tblPlaylist=新的PlayTableModel();
添加(滚动窗格);
//添加表格并设置表格模型
pnlTable.add(lblMembTitle);
pnlTable.add(tblshowallmeb);
tblShowAllMemb.setModel(tblMembers);
pnlTable.add(lblPlayTitle);
pnlTable.add(tblShowAllPlay);
tblShowAllPlay.setModel(tblPlaylist);
}
}
您似乎将JPanel pnlTable
添加到多个容器中,首先添加到scrollPane
,然后添加到Container mainCon
(因此它不在scrollPane
中,因为组件只能在一个容器中)。因此,当您将scrollPane
单独添加到ViewAll
时,它不会显示任何内容,因为它是空的
因此,请使用:
mainCon.add(scrollPane);
或删除mainCon.add(pnlTable)代码>并仅使用:
this.add(scrollPane);
您似乎将JPanel pnlTable
添加到多个容器中,首先添加到scrollPane
,然后添加到Container mainCon
(因此它不在scrollPane
,因为组件只能在一个容器中)。因此,当您将scrollPane
单独添加到ViewAll
时,它不会显示任何内容,因为它是空的
因此,请使用:
mainCon.add(scrollPane);
或删除mainCon.add(pnlTable)代码>并仅使用:
this.add(scrollPane);
您似乎将JPanel pnlTable
添加到多个容器中,首先添加到scrollPane
,然后添加到Container mainCon
(因此它不在scrollPane
,因为组件只能在一个容器中)。因此,当您将scrollPane
单独添加到ViewAll
时,它不会显示任何内容,因为它是空的
因此,请使用:
mainCon.add(scrollPane);
或删除mainCon.add(pnlTable)代码>并仅使用:
this.add(scrollPane);
您似乎将JPanel pnlTable
添加到多个容器中,首先添加到scrollPane
,然后添加到Container mainCon
(因此它不在scrollPane
,因为组件只能在一个容器中)。因此,当您将scrollPane
单独添加到ViewAll
时,它不会显示任何内容,因为它是空的
因此,请使用:
mainCon.add(scrollPane);
或删除mainCon.add(pnlTable)代码>并仅使用:
this.add(scrollPane);
不要阻止EDT(事件调度线程)。发生这种情况时,GUI将“冻结”。有关详细信息和修复方法,请参阅。不要阻止EDT(事件调度线程)。发生这种情况时,GUI将“冻结”。有关详细信息和修复方法,请参阅。不要阻止EDT(事件调度线程)。发生这种情况时,GUI将“冻结”。有关详细信息和修复方法,请参阅。不要阻止EDT(事件调度线程)。发生这种情况时,GUI将“冻结”。有关详细信息和修复方法,请参阅。我已经完成了此操作,但由于某些原因,它会将表和Jlabels
水平放置?所以不要向下滚动,你必须水平滚动@James111试图更改pnlTable
的布局,JPanel
的默认布局是FlowLayout
,可能会出现问题。例如,将其更改为BoxLayout.PAGE_AXIS
是的,您的权利……我与布局管理器没有做太多工作。我可能应该花更多的时间在布局上,因为我还没有设计任何GUI的样式!我已经这样做了,但由于某种原因,它会将表和Jlabels
水平放置?所以不要向下滚动,你必须水平滚动@James111试图更改pnlTable
的布局,JPanel
的默认布局是FlowLayout
,可能会出现问题。例如,将其更改为BoxLayout.PAGE_AXIS
是的,您的权利……我与布局管理器没有做太多工作。我可能应该花更多的时间在布局上,因为我还没有设计任何GUI的样式!我已经这样做了,但由于某种原因,它会将表和Jlabels
水平放置?所以不要向下滚动,你必须水平滚动@James111试图更改pnlTable
的布局,JPanel
的默认布局是FlowLayout
,可能会出现问题。例如,将其更改为BoxLayout.PAGE_AXIS
是的,您的权利……我与布局管理器没有做太多工作。我可能应该花更多的时间在布局上,因为我还没有设计任何GUI的样式!我已经这样做了,但由于某种原因,它会将表和Jlabels
水平放置?所以不要向下滚动,你必须水平滚动@James111尝试更改pnlTable
的布局,默认