首页  »   J2SE

JAVA作业解决思路

网友分享于:2013-06-29  浏览:0次
JAVA作业
编写一个程序,模拟如图6-4所示的小键盘界面。编写程序。(图中的按钮类型为JButton类型,使用该种按钮类型的方法与Button类型类似,面板类型为JPanel,其使用方法与Panel类似,只是需将javax.swing.*包引进来)
------解决思路----------------------
import java.awt.BorderLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;


@SuppressWarnings("serial")
public class JInputBoard extends JFrame{
    MyPanel myPanel = new MyPanel();
public JInputBoard(String title){
     super(title);
     setSize(400,110);
     add(myPanel);
     setVisible(true);
    }
    
public static void main(String[] args) {
new JInputBoard("用户登录界面");
}
    
}  

@SuppressWarnings("serial")
class MyPanel extends JPanel{
    JTextField jTextField = new JTextField();
    JLabel jLabel = new JLabel("Please enter your name:");
JButton jButton = new JButton("OK");
public MyPanel(){
setLayout(new BorderLayout());
add(jLabel,BorderLayout.NORTH);
add(jTextField,BorderLayout.CENTER);
add(jButton,BorderLayout.SOUTH);
}
}

------解决思路----------------------
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class GridBagLayoutTest extends JFrame{
    /**
 * 
 */
private static final long serialVersionUID = -3536095843035735921L;
public GridBagLayoutTest(String title){
     setSize(400, 250);
     setTitle(title);
     add(new MyPanel()); 
    }
    public static void main(String[] args) {
     EventQueue.invokeLater(new Runnable()
        {
           public void run()
           {
              JFrame frame = new  GridBagLayoutTest("NumberPad");
              frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              frame.setVisible(true);
           }
        });

}
}

class MyPanel extends JPanel{
/**
 * 
 */
private static final long serialVersionUID = -6614909775783828920L;

public MyPanel(){
GridBagLayout layout = new GridBagLayout();
setLayout(layout);
addto("Num",0,0,2,1);
addto("/",2,0,2,1);
addto("*",4,0,2,1);
addto("-",6,0,2,1);
addto("1",0,1,2,1);
addto("2",2,1,2,1);
addto("3",4,1,2,1);
addto("4",0,2,2,1);
addto("5",2,2,2,1);
addto("6",4,2,2,1);
addto("7",0,3,2,1);
addto("8",2,3,2,1);
addto("9",4,3,2,1);
addto("0",0,4,5,1);
addto(".",5,4,1,1);
addto("+",6,1,2,2);
addto("Enter",6,3,2,2);
}

public void addto(String name,int x,int y,int width,int height){
JButton button = new JButton(name);
button.setPreferredSize(new Dimension(10, 10));
add(button,new GridBagConstraints
(x,y,width,height,100,100,
GridBagConstraints.CENTER,
GridBagConstraints.BOTH,new Insets(2, 2, 2, 2),0,0));
}
}
------解决思路----------------------
import java.awt.Color;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class NumberPadUI extends JFrame{
private static final long serialVersionUID = 8477203213070754493L;
private JButton jb1, jb2, jb3, jb4, jb5, jb6, jb7, jb8, jb9, jb0;
private JButton num, multi, divide, add, sub, dot, enter;
private JPanel panel;
private GridBagLayout layout;
private GridBagConstraints gbc;
public NumberPadUI() {
setTitle("NumberPad");
init();
setVisible(true);
pack();
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
private void init(){
panel = new JPanel();
panel.setBackground(Color.blue);
getContentPane().add(panel);
layout = new GridBagLayout();
panel.setLayout(layout);
jb1 = createButton("1");
jb2 = createButton("2");
jb3 = createButton("3");
jb4 = createButton("4");
jb5 = createButton("5");
jb6 = createButton("6");
jb7 = createButton("7");
jb8 = createButton("8");
jb9 = createButton("9");
jb0 = createButton("0");
num = createButton("Num");
multi = createButton("*");
divide = createButton("/");
add = createButton("+");
sub = createButton("-");
dot = createButton(".");
enter = createButton("Enter");
panel.add(num);
panel.add(divide);
panel.add(multi);
panel.add(sub);
panel.add(jb1);
panel.add(jb2);
panel.add(jb3);
panel.add(add);
panel.add(jb4);
panel.add(jb5);
panel.add(jb6);
panel.add(jb7);
panel.add(jb8);
panel.add(jb9);
panel.add(enter);
panel.add(jb0);
panel.add(dot);
gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.BOTH;
setCons(num, 0, 0, 2, 1, 1, 1);
setCons(divide, 0, 2, 2, 1, 1, 1);
setCons(multi, 0, 4, 2, 1, 1, 1);
setCons(sub, 0, 6, 0, 1, 1, 1);
setCons(jb1, 1, 0, 2, 1, 1, 1);
setCons(jb2, 1, 2, 2, 1, 1, 1);
setCons(jb3, 1, 4, 2, 1, 1, 1);
setCons(add, 1, 6, 0, 2, 1, 1);
setCons(jb4, 2, 0, 2, 1, 1, 1);
setCons(jb5, 2, 2, 2, 1, 1, 1);
setCons(jb6, 2, 4, 2, 1, 1, 1);
setCons(jb7, 3, 0, 2, 1, 1, 1);
setCons(jb8, 3, 2, 2, 1, 1, 1);
setCons(jb9, 3, 4, 2, 1, 1, 1);
setCons(enter, 3, 6, 0, 2, 1, 1);
setCons(jb0, 4, 0, 5, 1, 1, 1);
setCons(dot, 4, 5, 1, 1, 1, 1);
}
private void setCons(JButton jb, int y, int x, int gwidth, int gheight, int wx, int wy){
gbc.gridy = y; // 设置组件起始行
gbc.gridx = x; // 设置组件起始列
gbc.gridwidth = gwidth; // 设置组件占据的列数
gbc.gridheight = gheight; // 设置组件占据的行数
gbc.weightx = wx; // 设置组件在水平方向上是否可以伸缩,0表示不可以;1表示可以
gbc.weighty = wy; // 设置组件在垂直方向上是否可以伸缩,0表示不可以;1表示可以
layout.setConstraints(jb, gbc);
}
private JButton createButton(String name){
return new JButton(name);
}
public static void main(String[] args) {
new NumberPadUI();
}
}

相关解决方案

最新解决方案