我正在尝试制作一个包含JFrame
的{{1}}。有3个选项卡,每个选项卡内部都有一个面板。第一个面板(又名第一个标签)必须有3个元素垂直:一个JTabbedPane
,一个图片和一个文本区域。选项卡必须始终在顶部可见,同时可以滚动选项卡的内容。无论我尝试了什么(windowbuilder,其他Stackoverflow的答案),我似乎无法做到这一点。
答案 0 :(得分:4)
如果没有您尝试过的任何代码,我可以举一些例子。
// Tabbed pane
JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP);
contentPane.add(tabbedPane, BorderLayout.CENTER);
// First panel
JPanel pan1 = new JPanel(new GridLayout(3, 1));
// Content of First panel
JLabel lbl1 = new JLabel("Test1");
pan1.add(lbl1);
JTextField textField_3 = new JTextField();
textField_3.setColumns(10);
pan1.add(textField_3);
JTextField textField_4 = new JTextField();
textField_4.setColumns(10);
pan1.add(textField_4);
// Second panel
JPanel pan2 = new JPanel(new GridLayout(3, 1));
// Content of Second panel
JLabel lbl2 = new JLabel("Test2");
pan2.add(lbl2);
// First Scroll pane
JScrollPane scrollPane1 = new JScrollPane(pan1);
// Second Scroll pane
JScrollPane scrollPane2 = new JScrollPane(pan2);
tabbedPane.add("Tab1", scrollPane1);
tabbedPane.add("Tab2", scrollPane2);
使用标签,图片等更改面板内容。也可以更改其布局。如果您提供一些代码,我可以为您提供准确的解决方案。
答案 1 :(得分:3)
你有很多选择......
首先看一下How to Use Scroll Panes。
将JScrollPane
直接放在标签下...
JTabbedPane tabbedPane = ...
JPanel theView = ...
// Place the elements you want to show on the panel...
JScrollPane scrollPane = new JScrollPane(theView);
tabbedPane.add("Tab with scroll pane", scrollPane);
将滚动窗格放在另一个容器中,然后将其添加到选项卡式窗格...
JTabbedPane tabbedPane = ...
JPanel theView = ...
// Place the elements you want to show on the panel...
JScrollPane scrollPane = new JScrollPane(theView);
JPanel tabPane = new JPanel(new BorderLayout()); // As an example layout
tabPane.add(scrollPane);
tabbedPane.add("Tab with panel with scroll pane", tabPane);
基本上,JScrollPane
只是另一个组件/容器,它允许在任何可以使用其他组件/容器的地方使用它。