如何改变JFrame的大小?

时间:2013-12-01 15:40:15

标签: java swing jframe

我正在尝试设置包含MVC的框架的大小:

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的参数,这都不会产生任何影响。

我错过了什么吗?请帮忙!

1 个答案:

答案 0 :(得分:0)

mmm我建议使用不同的方式来编程摆动...更容易 你使用另一个类来声明一个windows motor,例如:

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和de windows维度

对于创建Jframe,您应该在另一个类中创建,例如:

    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);
    }

这个用于创建Window的表单是最好的,因为使用另一个执行线程并且没有重载......

我希望你能帮忙 祝你好运