java swing中JPanel的布局问题

2024-12-31 00:53:53
推荐回答(3个)
回答1:

贴码吧,不然怎么分析
desktopPane_1.setBounds(0, 0, 1, 1);你这尺寸在1个像素,肉眼看不到啊。
//
还是你设置的bounds问题,之所以放center能显示,是因为center里面会自适应大小

回答2:

使用FlowLayout,那么应该设置desktop的preferredSize

回答3:

贴出你的代码,帮你找找。

-------------------------------------------------------

你给出的代码,有几个PANEL不知道是怎么来的,我稍改动了一下,你看看,

现在是显示出来了。

import java.awt.BorderLayout;
import javax.swing.JButton;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JScrollPane;
public class App extends JFrame {
public App() {
// 加入这这段注释代码不能显示
JDesktopPane desktopPane_1 = new JDesktopPane();
desktopPane_1.setBounds(0, 0, 1, 1);
add(BorderLayout.CENTER, desktopPane_1);
JInternalFrame internalFrame_1 = new JInternalFrame(
"New JInternalFrame");
internalFrame_1.setSize(400, 300);
desktopPane_1.add(internalFrame_1);
JScrollPane scrollPane_1 = new JScrollPane();
internalFrame_1.getContentPane().add(scrollPane_1, BorderLayout.CENTER);
internalFrame_1.setVisible(true);
JButton btn_1 = new JButton("OK");
add(BorderLayout.NORTH, btn_1);
setSize(600, 400);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
new App();
}
}