2013-12-01 2 views
0

Я пытаюсь установить размер для фрейма, который содержит MVC:Как изменить размер JFrame?

chartModel = new ChartModel(); 
chartModel.setChartData(dataName, data); 

pieChart = new PieChart(); 
barChart = new BarChart(); 

setLayout(new java.awt.GridLayout(1, 2)); 

pieChart.setModel(chartModel); 
add(pieChart); 

barChart.setModel(chartModel); 
add(barChart); 

public static void main(String[] args) { 
Chart chart = new Chart(); 
JFrame frame = new JFrame(); 

frame.setTitle("Chart"); 

frame.setSize(600,420); 
//frame.setSize(400,320); 

frame.add(chart, BorderLayout.CENTER); 

chart.init(); 
chart.start(); 

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
frame.setLocationRelativeTo(null); // Center the frame 
frame.setVisible(true); 
} 

Это, однако, не делает никакого эффекта, независимо от того, как я могу изменить параметры SetSize.

Я что-то не хватает? Пожалуйста помоги!

+0

Это не имеет ничего ** ** сделать с MVC .. если вы не понимаете это как «Мой очень код». –

+0

Как это выглядит? –

+0

где черт делает код выше вашего основного сидеть? Можете ли вы поместить код так, как вы его используете? – Cruncher

ответ

0

ттт Я рекомендую использовать другой способ программирования качелей ... более легкая вы используете другой класс для объявить двигатель окна, например:

public class Console { 

public static void run (final JFrame f, final int width, final int height) { 

    SwingUtilities.invokeLater(new Runnable() { 
     @Override 
     public void run() { 
      f.setTitle(f.getClass().getSimpleName()); 
      f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
      f.setSize(width, height); 
      f.setVisible(true); 
      f.setLocationRelativeTo(null); 
     } 
    }); 

} 

теперь у вас есть консоль класса и когда создать этот объект, вы должны пройти JFrame и де окна измерения

для создания JFrame, вы должны создать в другом классе, для Exemple:

public class nameClass extends JFrame{ 

    //code 

    public nameClass(){ // constructor 
     Chart chart = new Chart(); 
     setTitle("Chart"); 
     add(chart, BorderLayout.CENTER); 
     chart.init(); 
     chart.start(); 
    } 

    public static void main(String[] args) { 
      Console.run(new nameClass(),300,400); 
    } 

Эта форма для создания окна лучше, потому что с помощью другой поток исполнения и отсутствие перегрузки ...

Я надеюсь, что вы помочь служить хорошо повезло

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