【发布时间】:2020-12-03 06:52:41
【问题描述】:
我的问题是当我使用 Windows Feel and Look 将 JScrollPane 添加到空 JPanel(使用 JMenuBar 附加到 JFrame 的 JPanel)时,会发生这种情况:
JScrollPane 没有覆盖整个 JPanel:
跨平台感觉和外观不会发生这种情况:
跨平台感觉和外观涵盖所有内容:
这是我的代码:
import javax.swing.*;
import java.awt.*;
public class Test {
public static void main(String[] args) {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (UnsupportedLookAndFeelException e) {
e.printStackTrace();
}
SwingUtilities.invokeLater(() -> {
JFrame frame = new JFrame("Test");
frame.setSize(600, 400);
JMenuBar menuBar = new JMenuBar();
frame.setJMenuBar(menuBar);
JMenu menu = new JMenu("Test");
menuBar.add(menu);
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());
frame.add(panel);
JScrollPane scrollPane = new JScrollPane();
panel.add(scrollPane);
frame.setVisible(true);
});
}
}
有修复还是我的代码?
【问题讨论】:
-
使用 Windows 感觉和外观 - 您发布的代码未设置 Windows LAF。
-
哎呀对不起,我没有复制它
-
@camickr 已修复,感谢告知
标签: java swing user-interface