首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

图形界面设计,该如何处理

2013-04-02 
图形界面设计下面是我设计的一个简单的计算器的图形界面,但自己一直都弄不好,代码如下:/* * Calculator GU

图形界面设计
下面是我设计的一个简单的计算器的图形界面,但自己一直都弄不好,代码如下:
/*
 * Calculator GUI
 */
import javax.swing.*;
public class CalculatorGUI {
public static void main(String[] args){
//setLayout(new FlowLayout());
JLabel title = new JLabel ("简易计算器");
JLabel name1 = new JLabel ("运算数一");
JTextField number1 = new JTextField("    ");
JLabel name2 = new JLabel ("运算数二");
JTextField result = new JTextField("   ");
JLabel resultName = new JLabel ("运算结果");
JTextField number2 = new JTextField("    ");
JButton add = new JButton("相加");
JButton Subtraction =  new JButton ("相减");
JButton restart =  new JButton ("全部清零");
JPanel panel = new JPanel();
panel.add(title);
panel.add(name1);
panel.add(name2);
panel.add(number1);
panel.add(number2);
panel.add(resultName);
panel.add(result);
panel.add(add);
panel.add(Subtraction);
panel.add(restart);
JFrame jframe = new JFrame();
jframe.setSize(300 , 400);
jframe.setVisible(true);
jframe.setTitle("简易计算器");
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jframe.add(panel);
}
}
这个代码得出的界面很丑:图形界面设计,该如何处理
我想弄成是这个样子的:
图形界面设计,该如何处理
改了好久都没改好,来论坛求助一下,各位大虾帮解释一下该怎么改,谢谢。

package com.tur.demo;

import info.clearthought.layout.TableLayout;

import javax.swing.*;

public class Hello extends JPanel {
    public Hello() {
        double p = TableLayout.PREFERRED;
        double[][] size = {
                {0.5, 0.5},
                {p, p, p, p, p, p}
        };

        TableLayout layout = new TableLayout(size);
        layout.setHGap(20);
        layout.setVGap(15);
        setLayout(layout);

        add(new JLabel("简易计算器"), "0, 0, 1, 0, c, c");
        add(new JLabel("运算数一"),   "0, 1, r, c");
        add(new JTextField(10),      "1, 1, l, c");
        add(new JLabel("运算数二"),   "0, 2, r, c");
        add(new JTextField(10),      "1, 2, l, c");
        add(new JLabel("运算结果"),   "0, 3, r, c");


        add(new JTextField(10),      "1, 3, l, c");
        add(new JButton("相加"),      "0, 4, r, c");
        add(new JButton("相减"),      "1, 4, c, c");
        add(new JButton("全部清零"),   "0, 5, , 1, 5, c, c");
    }

    private static void createGuiAndShow() {
        JFrame frame = new JFrame("");

        frame.getContentPane().add(new Hello());

        // Set frame's close operation and location in the screen.
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 400);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        createGuiAndShow();
    }
}


[解决办法]
把Layout改成XYLoyout就很简单了,可以根据xy的坐标来设置控件的位置。

热点排行