سلام للجميع
----------------
هنا فى هذه الشفيرة أعرض مجموع من ال Labels باستعمال ال Html
الشفيرة
------------
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class MainFram extends JFrame {
private JPanel mainPanel;
private JButton[] buttons;
private JLabel[] labels;
private String[] labelNames = {"Levels", "Help", "About"};
private String[] label = new String[labelNames.length];
private static final int BUTTON_DISTANCE_X = 20, BUTTON_DISTANCE_Y = 20, LABELS_DISTANCE_X = 100, LABEL_DISTANCE_Y = 20;
private static final int BUTTON_WIDTH = 50, BUTTON_HEIGHT = 50, LABEL_WIDTH = 75, LABEL_HEIGHT = 50;
public MainFram() {
intializingPanel();
intializingButtons();
intializingLabel();
getContentPane().add(mainPanel);
}
public static void main(String[] args) {
MainFram mainFram = new MainFram();
mainFram.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainFram.setSize(new Dimension(600, 300));
mainFram.setLocationRelativeTo(null);
mainFram.setVisible(true);
// mainFram.setExtendedState(MAXIMIZED_BOTH);
}
private void intializingPanel() {
mainPanel = new JPanel(null);
mainPanel.setBounds(100, 10, 600, 300);
mainPanel.setBorder(BorderFactory.createLineBorder(Color.BLACK, 5));
mainPanel.setBackground(Color.GREEN);
}
private void intializingButtons() {
buttons = new JButton[labelNames.length];
for (int i = 0; i < labelNames.length; ++i) {
buttons = new JButton();
buttons.setBounds(BUTTON_DISTANCE_X, ((BUTTON_DISTANCE_Y + BUTTON_HEIGHT) * i) + BUTTON_DISTANCE_Y, BUTTON_WIDTH, BUTTON_HEIGHT);
mainPanel.add(buttons);
}
}
private void intializingLabel() {
labels = new JLabel[labelNames.length];
for (int i = 0; i < labelNames.length; ++i) {
label = labelNames;
String htmlLabel = "<html><body><h1>" + label + "</h1></body></html>";
labels = new JLabel(htmlLabel);
labels.setBounds(LABELS_DISTANCE_X, ((LABEL_DISTANCE_Y + LABEL_HEIGHT) * i) + LABEL_DISTANCE_Y, LABEL_WIDTH, LABEL_HEIGHT);
mainPanel.add(labels);
}
// for (int i = 0; i < labelNames.length; ++i) {
// labels = new JLabel(labelNames);
// }
// Box box = Box.createVerticalBox();
// box.setBounds(100, 50, 100, 100);
// Box.createHorizontalGlue();
// box.add(labels[0]);
// Box.createHorizontalGlue();
// box.add(labels[1]);
// Box.createHorizontalGlue();
// box.add(labels[2]);
// mainPanel.add(box);
}
}هل هناك طريقة أخرى غير استعمال ال SetBounds لعرض مثل ال GUI الذى يخرجه هذا ال code
استعملت كما ترون ال BOX "عليه comment " و لكن لم أعرف كيف أدمج ال Html معه
شكراً
