計算機っぽいGUI
30分プログラム、その367。id:mzp:20080902:calcで電卓のロジック部分を作ったので、こんどはGUI部分を作ってみる。
Tkとかは大変そうだったので、JythonでSwingを叩いてみた。
ソースコード
# -*- mode:python; coding:utf-8 -*- # # calc-gui.py - # # Copyright(C) 2008 by mzp # Author: MIZUNO Hiroki / mzpppp at gmail dot com # http://howdyworld.org # # Timestamp: 2008/09/17 21:55:49 # # This program is free software; you can redistribute it and/or # modify it under MIT Lincence. # from java.awt import * from javax.swing import * def bag(x,y,w=1,h=1,wx=1,wy=1,anchor=GridBagConstraints.CENTER, fill=GridBagConstraints.BOTH,px=0,py=0): c = GridBagConstraints() c.gridx = x c.gridy = y c.gridwidth = w c.gridheight = h c.weightx = wx c.weighty = wy c.anchor = GridBagConstraints.NORTHWEST c.fill = fill c.ipadx = px c.ipady = py return c frame = JFrame('Hello world') frame.setSize(400,400) frame.setLayout(GridBagLayout()) frame.add(JTextField('---'),bag(0,0,4)) frame.add(JButton('9'),bag(2,1)) frame.add(JButton('8'),bag(1,1)) frame.add(JButton('7'),bag(0,1)) frame.add(JButton('6'),bag(2,2)) frame.add(JButton('5'),bag(1,2)) frame.add(JButton('4'),bag(0,2)) frame.add(JButton('3'),bag(2,3)) frame.add(JButton('2'),bag(1,3)) frame.add(JButton('1'),bag(0,3)) frame.add(JButton('0'),bag(0,4,w=2)) frame.add(JButton('.'),bag(2,4)) frame.add(JButton('-'),bag(3,1)) frame.add(JButton('+'),bag(3,2)) frame.add(JButton('='),bag(3,3,h=2)) frame.setVisible(True)