2014-01-22 3 views
1

У меня есть окно с JFileChooser и JTextArea. JFileChooser находится в СЕВЕРНОЙ части BorderLayout. JTextArea находится в части CENTER BorderLayout.Не удается выровнять JFileChooser слева от BorderLayout.NORTH

Я хотел бы выровнять слева ВСЕ мой JFileChooser, но он не будет двигаться, как я хочу, и остался CENTERED. Кроме того, я бы хотел, чтобы мой JFileChooser занимал всю длину моего окна.

EDIT

Вот основной код

public class MainServer 
{ 
    public static void main(String[] args) 
    { 
     ServerBoard frame=new ServerBoard(1000, 500); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.pack(); 
     frame.setVisible(true); 
    } 
} 

Здесь окно кода

public class ServerBoard extends JFrame 
{ 
    private JButton startserver; 
    private JButton senddata; 
    private JButton sendgps; 
    private JTextArea messagearea; 

    public ServerBoard(int l, int h) 
    { 
     super("ServerBoard"); 
     this.initialize(); 
     this.setSize(l,h); 
     this.setDefaultCloseOperation(EXIT_ON_CLOSE); 
     this.setVisible(true); 
    } 

    public void initialize() 
    { 
     // Define a panel 
     Container c=this.getContentPane(); 

     this.messagearea=new JTextArea(40,60);  

     c.add(this.createNorth(), BorderLayout.NORTH); 
     c.add(messagearea, BorderLayout.CENTER); 
    } 

    public JPanel createNorth() 
    { 
     JPanel panelnorth=new JPanel(); 

     JToolBar toolbarnorth=new JToolBar(); 
     panelnorth.add(toolbarnorth); 

     this.startserver=new JButton("START SERVER"); 
     startserver.addActionListener(new ServerBoardListener()); 
     toolbarnorth.add(startserver); 

     this.senddata=new JButton("SEND DATA"); 
     senddata.addActionListener(new ServerBoardListener()); 
     toolbarnorth.add(senddata); 

     this.sendgps=new JButton("SEND GPS FRAME"); 
     sendgps.addActionListener(new ServerBoardListener()); 
     toolbarnorth.add(sendgps); 

     return panelnorth; 
    } 
} 

Вот мое окно

enter image description here

Я действительно хочу, чтобы использовать эту JFileChooser. Не могли бы вы мне помочь ?

Заранее благодарю вас за ответы.

+0

Когда вы говорите «вот код», вы должны предоставить исполняемый код, где нам просто нужно скопировать вставку, тогда вы получите ответы на вопросы и получите ответы! – nachokk

+0

Hi @nachokk, да, извините, я отредактировал свой вопрос :) – Tofuw

ответ

2

Просто гнездо ваши JPanels. Создайте новый JPanel, скажем, под названием northPanel, который использует BorderLayout, и добавьте его в главное окно в позиции BorderLayout.NORTH, а затем добавьте свой JFIleChooser к этой северной панели JPanel в свою позицию BorderLayout.WEST.

Вариант 2: дать северной панели BoxLayout, которая ориентирована вдоль оси линии, добавить JFileChooser и добавить клей.

+0

спасибо за ваш ответ, я даже не думал об этих методах! Я действительно глупый ... Я попробую :) Но эти методы несколько тяжелые, не так ли? Для этого нет других функций? – Tofuw

+0

@Tofuw: нет, все это использует то, что я считаю «легким» кодом и компонентами. Какие другие «функции» вы могли бы иметь в виду? –

+0

Хорошо, это так хорошо :) Другими «функциями» я имею в виду что-то вроде «setPosition (LEFT)». Но, похоже, нет других методов. Спасибо вам снова на воздушной подушке! – Tofuw

Смежные вопросы