为什么当我更改JLabel对象的orientation参数时,它不遵守它。 在以下代码行中:
headerLabel = new JLabel("headerLabel", JLabel.LEFT);
statusLabel = new JLabel("statusLabel", JLabel.RIGHT);
jPanel.add(headerLabel, BorderLayout.EAST);
jPanel.add(headerLabel, BorderLayout.WEST);
无论方向参数顺序如何(EAST; WEST; LEFT; RIGHT),结果总是如此," headerLabel"在左边和" statusLabel"在右边。
如何强制将文本放置在提供的方向参数上。
码:
private void prepareGUI() {
// TODO Auto-generated method stub
mainFrame = new JFrame("Swing Example");
mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainFrame.setSize(400, 400);
JPanel jPanel = new JPanel();
headerLabel = new JLabel("headerLabel", JLabel.LEFT);
statusLabel = new JLabel("statusLabel", JLabel.RIGHT);
jPanel.add(headerLabel, BorderLayout.EAST);
jPanel.add(headerLabel, BorderLayout.WEST);
jPanel.add(statusLabel);
mainFrame.add(jPanel);
//mainFrame.getContentPane().add(headerLabel, BorderLayout.NORTH);
//mainFrame.getContentPane().add(statusLabel, BorderLayout.EAST);
mainFrame.setUndecorated(false);
//mainFrame.add(headerLabel);
//mainFrame.add(statusLabel);
mainFrame.setVisible(true);
}
答案 0 :(得分:0)
JPanel使用其无参数构造函数的默认布局是FlowLayout。如果要使用该LayoutManager
布局其组件,请将jPanel的布局设置为BorderLayoutJPanel jPanel = new JPanel(new BorderLayout());
//use the BorderLayout parameters to add components to jPanel