Hallo zusammen,
ich experimeniere gerade mit swing und will zwei JPanels, createMenuBar() und createTextArea() in einer Frame darstellen. Die beiden Panele stelle ich mit BoxLayout dar.
Das klappt zwar, aber die zweite Panele wird nicht direkt unter dem ersten angezeigt, sondern mit
einem Versatz. Ich will aber, dass das Textfeld direkt unter der Menubar dargestellt wird.
Was mache ich falch??
Hier der Code
Vielen Dank im Voraus
SinuS
ich experimeniere gerade mit swing und will zwei JPanels, createMenuBar() und createTextArea() in einer Frame darstellen. Die beiden Panele stelle ich mit BoxLayout dar.
Das klappt zwar, aber die zweite Panele wird nicht direkt unter dem ersten angezeigt, sondern mit
einem Versatz. Ich will aber, dass das Textfeld direkt unter der Menubar dargestellt wird.
Was mache ich falch??
Hier der Code
Java:
import javax.swing.*;
import java.awt.*;
public class GUI_MainMenu {
public JPanel createTextArea() {
JPanel textPanel = new JPanel();
// Array für unsere JList
String interessen[] = {"Computer", "Tiere", "Computer", "Tiere", "Computer", "Tiere", "Sport"};
//JList mit Einträgen wird erstellt
JList<String> themenAuswahl = new JList<String>(interessen);
themenAuswahl.setFixedCellHeight(30);
themenAuswahl.setFixedCellWidth(500);
themenAuswahl.setVisibleRowCount(3);
//JList wird Panel hinzugefügt
textPanel.add(themenAuswahl);
return textPanel;
}
public JPanel createMenuBar() {
//create panel for mainframe
JPanel mainPanel = new JPanel();
mainPanel.setLayout(null);
mainPanel.setBackground(Color.WHITE);
//create object 'menuPanel'
JPanel menuPanel = new JPanel();
menuPanel.setLayout(null);
menuPanel.setSize(1024, 40);
menuPanel.setBackground(Color.GRAY);
mainPanel.add(menuPanel);
//create object buttons for previous and next
JButton buttonPrev = new JButton("<");
buttonPrev.setSize(60,30);
buttonPrev.setLocation(5, 5);
menuPanel.add(buttonPrev);
JButton buttonNext = new JButton(">");
buttonNext.setSize(60,30);
buttonNext.setLocation(70,5);
menuPanel.add(buttonNext);
JButton buttonBook = new JButton("Defter");
buttonBook.setSize(90,30);
buttonBook.setLocation(560, 5);
menuPanel.add(buttonBook);
//create ComboBox
String [] contents = {"1 - Stefan","2 - Thomas", "3 - Henry","47 - Heidi","74 - Dirk"};
JComboBox<String> comboBox = new JComboBox<String>(contents);
comboBox.setSize(125, 30);
comboBox.setLocation(135, 5);
menuPanel.add(comboBox);
//Textfields for Sura number
JTextField fieldSura = new JTextField();
fieldSura.setFont(new Font("Arial", Font.BOLD, 18));
fieldSura.setBackground(Color.lightGray);
fieldSura.setHorizontalAlignment(JTextField.CENTER);
fieldSura.setSize(40,30);
fieldSura.setLocation(265,5);
fieldSura.setBorder(BorderFactory.createLineBorder(Color.black));
menuPanel.add(fieldSura);
//Textfields for Sura number
JTextField fieldAya = new JTextField();
fieldAya.setFont(new Font("Arial", Font.BOLD, 18));
fieldAya.setBackground(Color.lightGray);
fieldAya.setHorizontalAlignment(JTextField.CENTER);;
fieldAya.setSize(40,30);
fieldAya.setLocation(310, 5);
fieldAya.setBorder(BorderFactory.createLineBorder(Color.black));
menuPanel.add(fieldAya);
//create object 'searchBar'
JTextField searchBar = new JTextField();
searchBar.setFont(new Font("Arial", Font.BOLD, 18));
searchBar.setSize(200, 30);
searchBar.setLocation(355, 5);
searchBar.setBorder(BorderFactory.createLineBorder(Color.black));
menuPanel.add(searchBar);
return mainPanel;
}//creatMenuBar
private static void createAndShowGUI() {
//create main frame
JFrame mainFrame = new JFrame("");
mainFrame.setSize(1024, 768);
GUI_MainMenu test = new GUI_MainMenu();
JPanel totalGUI = new JPanel();
totalGUI.setLayout(new BoxLayout(totalGUI, BoxLayout.Y_AXIS));
JPanel mainMenu = test.createMenuBar();
JPanel textFeld = test.createTextArea();
totalGUI.add(mainMenu);
totalGUI.add(textFeld);
//visible mode
mainFrame.add(totalGUI); //integrate main panel to main frame
//mainFrame.pack();
mainFrame.setVisible(true);
}
public static void main (String[] args) {
createAndShowGUI();
}//main
}//GUI_main
Vielen Dank im Voraus
SinuS
Zuletzt bearbeitet: