首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >手动创建表单

手动创建表单
EN

Stack Overflow用户
提问于 2012-10-09 06:59:54
回答 1查看 940关注 0票数 1

我正在尝试使用代码而不是设计器手动创建窗体,我已经使用设计器创建了该窗体。

这是我到目前为止想出的手动代码,但我在将标签和文本字段并排对齐时遇到了问题

代码语言:javascript
复制
mport java.awt.*;
import javax.swing.*;
/**
 *
 * @author jackandjill
 */
public class summinup_copy extends JFrame
{
    private JLabel lblTitle, lblOctal, lblDecimal, lblMessage ;

private JTextField txtOctal, txtDecimal;

private JButton calculate_btn;




public  summinup_copy()       

{

JPanel panel = (JPanel)this.getContentPane();

panel.setLayout(new BorderLayout());

JPanel panCentre = new JPanel();

panCentre.setLayout(new GridLayout(3,3));

lblTitle = new JLabel("Area of Triangle");

lblTitle.setFont(new Font("Arial", 1, 20));

lblTitle.setHorizontalAlignment(JLabel.CENTER);

lblOctal = new JLabel("Octal");

lblOctal.setHorizontalAlignment(JLabel.CENTER) ;

//lblDecimal = new JLabel("Decimal");
//
//lblDecimal.setHorizontalAlignment(JLabel.CENTER);

lblMessage = new JLabel("Result will be displayed here");

lblMessage.setForeground(Color.red);

lblMessage.setHorizontalAlignment(JLabel.CENTER);

txtOctal = new JTextField("0", 5);

txtOctal.setHorizontalAlignment(JLabel.CENTER); 
//txtDecimal = new JTextField("0", 5);
//
//txtDecimal.setHorizontalAlignment(JLabel.CENTER);

calculate_btn = new JButton("Calculate Area");



//AHandlerClass aListener = new AHandlerClass() ;

//btnOtoD.addActionListener(aListener);

//btnDtoO.addActionListener(aListener);

panCentre.add(lblOctal);

//panCentre.add(lblDecimal);

panCentre.add(txtOctal);

//panCentre.add(txtDecimal);

panCentre.add(calculate_btn);

//panCentre.add(btnDtoO);

panel.add(lblTitle, BorderLayout.NORTH);

panel.add(lblMessage,BorderLayout.SOUTH);


panel.add(panCentre, BorderLayout.CENTER);

}

public static void main(String args[]) {

summinup_copy myGui = new summinup_copy();

myGui.setTitle("Bharath");

myGui.setSize(400, 200);

myGui.setVisible(true);
}

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-09 07:04:15

正如您已经了解到的,在手动编写Swing时,您必须使用LayoutManagers。以下是一些链接,可以帮助您找出适合给定外观的LayoutManager:

http://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html

http://docs.oracle.com/javase/tutorial/uiswing/layout/using.html

为了将JLabel放在JTextField或其他组件的旁边,我通常使用GridLayoutGridBagLayout。我发现,要让组件看起来像我想要的样子,需要进行大量的试验和错误。通常,您必须具有多个嵌入式JPanels层才能恰到好处地实现它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12790657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档