图形界面设计
下面是我设计的一个简单的计算器的图形界面,但自己一直都弄不好,代码如下:
/*
* 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");