Java JTabbedPane中滚动窗格中的表
我想使用JTabbedPane显示一些表(每个选项卡中有一个表)。 很容易实现:你制作一个JTabbedPane,放置一些滚动窗格(代表选项卡),然后你只需将表格添加到滚动窗格中。 我的问题是,在滚动窗格中,您只能添加表格,我还需要添加文本框、单选按钮和标签Java JTabbedPane中滚动窗格中的表,java,swing,jtabbedpane,scrollpane,Java,Swing,Jtabbedpane,Scrollpane,我想使用JTabbedPane显示一些表(每个选项卡中有一个表)。 很容易实现:你制作一个JTabbedPane,放置一些滚动窗格(代表选项卡),然后你只需将表格添加到滚动窗格中。 我的问题是,在滚动窗格中,您只能添加表格,我还需要添加文本框、单选按钮和标签 我想知道是否还有其他方法可以做到这一点。如果我了解你。。。您可以将scrollPane放入选项卡并添加到它的面板中 并将所需的控件和表格添加到面板中 像这样 您可以使用jformdesiner生成代码 jTabbedPane1 = ne
我想知道是否还有其他方法可以做到这一点。如果我了解你。。。您可以将scrollPane放入选项卡并添加到它的面板中 并将所需的控件和表格添加到面板中 像这样 您可以使用jformdesiner生成代码
jTabbedPane1 = new javax.swing.JTabbedPane();
jScrollPane1 = new javax.swing.JScrollPane();
jPanel1 = new javax.swing.JPanel();
jButton2 = new javax.swing.JButton();
jScrollPane2 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
jPanel1.setLayout(new javax.swing.BoxLayout(jPanel1, javax.swing.BoxLayout.Y_AXIS));
jButton2.setText("jButton2");
jPanel1.add(jButton2);
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
jScrollPane2.setViewportView(jTable1);
jPanel1.add(jScrollPane2);
jScrollPane1.setViewportView(jPanel1);
jTabbedPane1.addTab("tab1", jScrollPane1);
将所有元素放在一个JPanel上,并将JPanel放在JScrollPane内。如@Compass所说。虽然您可能只需要JScrollPane中的JTable,但随后将JScrollPane放置到另一个在中间位置使用BorderLayout的JPanel中,并将其他组件添加到其他JPanel中,然后将这些JPanel添加到主JPanel中,然后将其添加到JTabbedPane中。这里的关键思想是:是的,您可以而且应该嵌套JPanel,并且每个都可以使用自己的布局管理器。玩玩它,看看你能想出什么。@装满鳗鱼的气垫船如果你把桌子放在一个JPanel里,你将看不到第一行,它代表着列名:)@Compass已经试过了。你读了我贴的东西,事实上是我的第一句话!是的,你把JTable放进了JScrollPane,但是那就放进了嵌套的jpanel。我已经试过了,但没有成功。但是,您的代码可以工作,但请尝试将jTabbedPane1添加到帧中。你会看到那张桌子不再出现了。我已经使用了Eclipse中的jform设计器
public static void main(String[] args) {
JFrame Frame = new JFrame();
JTabbedPane jTabbedPane1 = new javax.swing.JTabbedPane();
JScrollPane jScrollPane1 = new javax.swing.JScrollPane();
JPanel jPanel1 = new javax.swing.JPanel();
JButton jButton1 = new javax.swing.JButton();
JButton jButton2 = new javax.swing.JButton();
JScrollPane jScrollPane2 = new javax.swing.JScrollPane();
JTable jTable1 = new javax.swing.JTable();
Frame.setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jPanel1.setLayout(new javax.swing.BoxLayout(jPanel1, javax.swing.BoxLayout.Y_AXIS));
jButton1.setText("jButton1");
jPanel1.add(jButton1);
jButton2.setText("jButton2");
jPanel1.add(jButton2);
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object[][]{
{null, null, null, null, null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null, null, null, null, null},
},
new String[]{
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
jScrollPane2.setViewportView(jTable1);
jPanel1.add(jScrollPane2);
jScrollPane1.setViewportView(jPanel1);
jTabbedPane1.addTab("tab2", jScrollPane1);
Frame.setContentPane(jTabbedPane1);
Frame.setVisible(true);
}