我正在尝试使用JFrame制作一个160x120 JButtons的大型网格图,但它太多而无法放在窗口上。
我怎样才能克服这个?
public class DisplayTable extends JFrame {
public static void main() {
JFrame frame = new JFrame("puzzle layout");
//frame.setResizable(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(3200, 800);
JPanel panel = new JPanel();
panel.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
panel.setBorder(new EmptyBorder(0,0,0,0));
panel.setLayout(new GridLayout(12,16));
for(int i=0; i<120; i++) {
for(int j=0; j<160; j++) {
JButton temp = new JButton("1");
panel.add(temp);
}
}
frame.add(panel);
frame.setVisible(true);
}
}
答案 0 :(得分:1)
使用JScrollPane
打包panel
...此外,您应该使用pack
代替setSize
,但只有在您添加了所有组件后才能使用replaceFragment(ReportPaginationFragment.newInstance(i, isFromList), true, true);
屏幕
有关详细信息,请参阅How to use scroll panes