Labe在BoxLayout中会被拉伸,而JLabel不会
在Box或BoxLayout中的效果对比
在 BoxLayout.Y_AXIS 中的效果, Label被拉伸, JLabel没被拉伸
package labelJLabel;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class LabelJLabel在VBox中的效果 {
static Frame frame = new Frame("LabelJLabel在VBox中的效果");
public static void main(String...arguments) {
frame.addWindowListener(new WindowAdapter() {
@Override public void windowClosing(WindowEvent event) {frame.dispose();System.exit(0);}
});
frame.setBounds(100, 50, 1600, 900);
frame.setLayout(new BoxLayout(frame, BoxLayout.Y_AXIS));
for(int c=0;c<5;c++) {
Label lb = new Label("Label-"+c); frame.add(lb); lb.setBackground(Color.YELLOW);
JLabel jlb=new JLabel("JLabel-"+c); frame.add(jlb); jlb.setBackground(Color.BLUE); jlb.setOpaque(true);
}
frame.setVisible(true);
}
}
Label被拉伸, JLabel没被拉伸
在 BoxLayout.X_AXIS 中的效果, Label被拉伸, JLabel没被拉伸
package labelJLabel;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class LabelJLabel在HBox中的效果 {
static Frame frame = new Frame("LabelJLabel在HBox中的效果");
public static void main(String...arguments) {
frame.addWindowListener(new WindowAdapter() {
@Override public void windowClosing(WindowEvent event) {frame.dispose();System.exit(0);}
});
frame.setBounds(100, 50, 1600, 900);
frame.setLayout(new BoxLayout(frame, BoxLayout.X_AXIS));
for(int c=0;c<5;c++) {
Label lb = new Label("Label-"+c); frame.add(lb); lb.setBackground(Color.YELLOW);
JLabel jlb=new JLabel("JLabel-"+c); frame.add(jlb); jlb.setBackground(Color.BLUE); jlb.setOpaque(true);
}
frame.setVisible(true);
}
}
Label被拉伸, JLabel没被拉伸