摘要:
看了两天书,拿眼睛把GUI的部分扫了扫尾,感觉用得上的时候再来查也可以,就没怎么练。 今天开始看二进制IO,虽然我好像明明已经学过这些东西了。 另外昨晚也捡起了视频来看,大致补一补网络的部分。 预定寒假结束之后开始接触安卓吧……或者数据库……还是数据库吧…… 还是C…… 麻了个痹…… 阅读全文
摘要:
因为不能改变窗口大小,加上窗口的大小是按照图片大小决定的…………反正是不太能用…… 我觉得我设计的图标有种艺术气息。 发个0.8版本的exe 阅读全文
摘要:
弹对话框的方法当然是让框架实现WindowListener,注意不是WindowsListener,然后重写windowClosing()方法,让窗口在正在关闭的时候弹一个窗口。 一个窗口:int answer = JOptionPane.showConfirmDialog(this, "blah", "blah", JOptionPane.YES_NO_OPTION); 注意对话框是要静态引用的,不需要new一个JOptionPane出来。 后面用answer来if一下就不用说了,都是静态属性,YES_OPTION,NO_OPTION,CANCEL_O 阅读全文
摘要:
另外给打开和保存界面加了文件过滤器,默认txt,这是考虑到用户体验的优化,还是可以用任意格式保存打开的。 然后还把昨天发现的bug解决了,虽然我也不知道怎么解决的。 嘛大概就是先把文本域内容读取出来然后按分隔符(\n)split()存到数组里,然后for循环写一行加一个newLine()。 一点要注意的是,记事本认的分隔符是\r\n不是\r或者\n就是\r\n。 而文本控件里的分隔符是\n所以分割要用\n,而想要在记事本里打开也能看到换行的话就得用\r\n,其中\r是把光标移到行开头,\n是换行。 点儿exe文件 阅读全文
摘要:
将来写需要词库的游戏时用得到。 作用就是清理一下词汇表,把带连接线的带点的带大写字母的都干掉,然后把中文翻译也干掉,然后写出到文件,一行一个单词。 1 import java.io.*; 2 import java.util.ArrayList; 3 4 public class VocabularyProcesser { 5 File file; 6 ArrayList list = new ArrayList(); 7 8 VocabularyProcesser() {this.file = new File("vocabulary.txt");}... 阅读全文
摘要:
读取保存过程中文本框里显示都很正常,但是直接打开写出的文件是没有换行的。原因应该是文本域用的换行符能输出到文件里,但是没法被Windows的文本文档识别并显示。下个版本修正。 阅读全文
摘要:
于是开心地升级到了V1.1版本 等我先消化下知识再来更新。 关键在于面板的setPreferredSize(Dimension d)方法和框架的pack()方法。======================================================================================== 大概就是说,用了布局管理器的话,管理器会根据preferredSize来安排控件大小,用setSize的话不一定会起作用,所以我之前直接改变面板的大小然后pack框架,最后出来的效果是框架高度变成0,大概就是因为preferredSize默认是0。…... 阅读全文
摘要:
我要不是手滑把一张图当文本打开了现在还发现不了。 于是就特地说一下。 文本域是不自带滚动条的! 要加上滚动条得自己new一个滚动框,像这样:JScrollPane scrollPane = new JScrollPane(content); 如你所见,还得把想加上滚动条的文本域当成参数传进去。 但是我就想了,是不是以后要编辑文本内容就得用这个滚动框了,好在不是,我倒不知道这样规不规范,反正目前看来只加上上边那条语句当做添加滚动条就可以了,以后要操作文本域内容还是直接用文本域本身。===================================================... 阅读全文
摘要:
其实就是GUI练手。 图片阅读器,超简单版。 下JAR点我 要用Graphics类在面板上绘图,这个面板得继承JPanel,然后重写paintComponent(Graphics g)方法,里边就用g来各种draw各种玩弄。 比如drawImage(img, x, y, observer)第四个参数指的是画图位置,当然用this就可以了。 observer前面多几个参数的话还可以指定绘图的范围,目测是直接缩放。 然后还用了下各种Menu,记得,JMenuItem是最小的,是单个菜单选项,JMenu第二小,是单个菜单,比如文件啊编辑啊关于啊。JMenuBar最大,是整个菜单栏。 ... 阅读全文
摘要:
用之前要先import javax.swing.UIManager以及javax.swing.UnsupportedLookAndFeel。 有以下几种备选风格,metal就是默认的风格,对就超级丑那个。 motif很古典,不过有点奇怪。 windows风格在我的机器上打开JFileChooser的时候文件名的字体会有问题,不过大概是MacType的错。而且按钮自带底色,如果面板有底色的话会有点难看。 Numbus超级好看的!!!!!!!!!!!! 说两遍。 Nimbus超级好看!!!!!!!!!!!!!!!!!! 记得要抓不少异常,如果没有好用的IDLE就还是老实点用默认风... 阅读全文
摘要:
惯例发个JAR 这么个玩意也加了rr3,我太看得起自己了。 1. 元件JTextField只支持单行内容,要换行得用JTextArea,JTextPane干啥用的我也不知道。 2. 其实要知道元件都有什么功能,打上setget试试就行了。不过还是记两个吧。 3. 文本类元件有个方法,setEditable(boolean flag)。如字面意思,决定能不能编辑。在这个软件里用在文件路径显示上,这次就不这么蛋疼让用户自己输入路径了。 4. 文本区有个方法文本域没有,就是换行(setLineWrap(boolean flag)),因为文本域不能换行。参数用false的话文本区就也... 阅读全文
摘要:
其实我该睡觉了,擦四点了。 先发个打开文件的代码,布局就先不发吧。 明天把保存按钮的代码写了。 什么你说退出? 1 class openListener implements ActionListener { 2 MainFrame parent; 3 4 openListener(MainFrame parent) {this.parent = parent;} 5 6 @Override 7 public void actionPerformed(ActionEvent e) { 8 //选择文件。 9 ... 阅读全文
摘要:
考试加上懒得写代码,休息了一个多周 ……其实考试的因素很大啦…… 坐着火车不知道干什么好,研究了半天GUI,什么也没搞懂,加上终于学会用BigInteger了,就算了下斐波那契数列。 然后我就发现了,在我电脑算到死机之前,Java和Python的速度差距很小。BigInteger num1 = new BigInteger("1");BigInteger num2 = new BigInteger("1");BigInteger temp;int count = 0;while (count < 100000) { temp = num1; num 阅读全文
摘要:
放个jar 代码还是看源文件吧。 Contact类除了构造方法和修改访问器只有两个方法,toString和compareTo,内容自己稍微想想也能懂,不过toString方法不知道为什么对不齐……两个汉字和三个汉字分别打印的话号码会差一个字符位置。 Book类除了构造修改访问方法,还有三个方法,增加联系人获取联系人和移除联系人,想了想还是没放进修改访问方法那堆里。 CUI类是大头,电话本的基本操作都在里头,另写了saveFile和run方法,有userBook和sourceFile两个属性,也就是说把电话本对象也保存在里头了。这么做的缺点就是将来写GUI的时候还得写不少重复代码,所... 阅读全文
摘要:
昨晚初步写了下Contact类,定义单个联系人对象,其实也就名字号码备注三个属性加构造方法和访问修改器,哦还有一个toString……只有半个多小时,也就没怎么写别的……还想着写写电话本类,好支持多个电话本切换,不过根本没什么时间思考,还是以后写吧。等晚上能用电脑了再发代码吧……私事本来不该往这个博客上写的,也就不说了吧……大概到回家才有写代码的时间了……“……”(´・ω・`) 阅读全文