📄 layoutmanagerex.java
字号:
package layout;
import java.awt.*; // needed for layout managers
import javax.swing.*;
public class LayoutManagerEx extends JPanel {
private static final long serialVersionUID = 934392830372584926L;
private static final int FRAME_WIDTH = 300;
private static final int FRAME_HEIGHT = 400;
private static final int XCOORD = 100;
private static final int YCOORD = 200;
private JFrame frame;
private String title = "Layout Manager Example";
private JButton[] jButtonArray;
private enum LayoutManager {Flow, Grid};
private LayoutManager manager = LayoutManager.Grid;
public LayoutManagerEx() {
frame = new JFrame();
frame.setContentPane(this);
frame.setLocation(XCOORD, YCOORD);
frame.setSize(new Dimension(FRAME_WIDTH, FRAME_HEIGHT));
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setTitle(title);
/* Determining which layout to use */
int horizontalGap, verticalGap;
switch (manager) {
case Flow:
// Left to right and row by row
int alignment = FlowLayout.CENTER;
horizontalGap = 40; verticalGap = 20;
setLayout(new FlowLayout(alignment, horizontalGap, verticalGap));
break;
case Grid:
// Matrix with specifies number of rows and columns
// Number of rows is dominating factor
// If one (rows or columns) is 0 the non-zero will be fixed
int rows = 2, columns = 4;
horizontalGap = 40; verticalGap = 20;
setLayout(new GridLayout(rows, columns, horizontalGap, verticalGap));
break;
}
/* Adding a a set of buttons */
jButtonArray = new JButton[10];
for (int i=0; i<jButtonArray.length; i++)
jButtonArray[i] = new JButton("Button" + (i+1));
for (JButton j : jButtonArray)
add(j);
frame.setVisible(true);
frame.pack();
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
new LayoutManagerEx();
}
});
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -