如何在java中向下移动表?

jvidinwx  于 2021-06-29  发布在  Java
关注(0)|答案(2)|浏览(312)

在java中是否可以向下移动表。我试过了 setBorder , setLocation , ... 但没用。我该怎么办?

JLabel label = new JLabel("Enter proper data: ");
label.setBounds(0, 0, 120, 50);
frame.add(label);
JButton btn = new JButton("Click");
btn.setBounds(100, 300, 80, 50);
frame.add(btn);
String data [][] = new String [6][4];
String column[]={"No.","Player 1","Player 2","Strategy"};         
JTable table = new JTable(data, column);
JScrollPane sp=new JScrollPane(table);
frame.add(sp);          
frame.setSize(300,400);
frame.setVisible(true);

请看这张图片:

bybem2ql

bybem2ql1#

我根据@andrewthompson的建议修改了代码,结果很好。

JFrame frame = new JFrame("Play");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    JPanel outerPanel = new JPanel(new BorderLayout());
    JPanel topPanel = new JPanel(new BorderLayout());
    JLabel label = new JLabel("Enter proper data: ");
    JButton btn = new JButton("Click");
    String data [][] = new String [100][4];
    String column[]={"No.","Player 1","Player 2","Strategy"};
    JTable table = new JTable(data, column);
    JScrollPane sp=new JScrollPane(table);
    topPanel.add(label, BorderLayout.PAGE_START);
    topPanel.add(sp, BorderLayout.CENTER);
    topPanel.add(btn, BorderLayout.PAGE_END);
    outerPanel.add(topPanel);
    frame.add(outerPanel);
    frame.pack();
    frame.setLocationRelativeTo(null);  
    frame.setVisible(true);

gkl3eglg

gkl3eglg2#


看起来不错 BorderLayout 外部面板(蓝色轮廓)。红色的大标签放在盒子里 PAGE_START 表格的(滚动窗格)进入 CENTER .
把按钮放在面板上 FlowLayout (居中),具有红色轮廓的面板,位于 PAGE_END 边界布局。完成。
所有额外的高度(如果用户使gui更大)都将被赋予表。

相关问题