1.JTable
表格的美化:
private void beautifyTable(JTable table){
/*
* void setRowHeight(int rowHeight)
* 将所有单元格的高度设置为 rowHeight(以像素为单位),重新验证并重新绘制它。
* void setRowHeight(int row, int rowHeight)
* 将 row 的高度设置为 rowHeight,重新验证并重新绘制它。
* void setRowMargin(int rowMargin)
* 设置相临行中单元格之间的间距
*/
//各个单元格的高度将等于行的高度减去行间的距离。
table.setRowHeight(40);
//table.setRowMargin(0);
//设每一列的宽度
for(int i = 0; i < table.getColumnCount(); i++){
//void javax.swing.table.TableColumn.setPreferredWidth(int preferredWidth)
// void setPreferredWidth(int preferredWidth)
// 将此列的首选宽度设置为 preferredWidth。
table.getColumnModel().getColumn(i).setPreferredWidth(40);
}
/*
* 单元格内方格坐标线的缺省颜色是Color.gray。要更改这些方格坐标线的颜色,用
* void setGridColor(Color gridColor)
*将用来绘制网格线的颜色设置为 gridColor 并重新显示它。
*/
//table.setGridColor(Color.WHITE);
//隐藏单元格的方格坐标线
table.setShowHorizontalLines(false);
table.setShowVerticalLines(false);
//在缺省状况下,当用户在JTable里选择一个单元格的时候,整个行都被选中了。
//setCellSelectionEnabled()方法让用户能够同时选择单个单元格或者整个行:
table.setCellSelectionEnabled(true);
}
2.JComboBox
复选框javax.swing.JComboBox, 选择框:java.awt.Choice,列表框java.awt.List
选择框和列表框
add(String item)向选择框增加选项
getSelectedItem() 返回当前选项的索引号
选择框与列表框的区别:
选择框只能单选,列表框可以多选
复选框:
//为项列表添加项item。
void javax.swing.JComboBox.addItem(Object anObject)
//添加 ItemListener,选择的item改变的时候
void addItemListener(ItemListener aListener)
private JComboBox getJComboBoxStyle(){
if (jcb == null) {
jcb = new JComboBox();
//jcb.setBounds(new Rectangle(18, 40, 30, 27));
jcb.addItem("QQ1");
jcb.addItem("QQ2");
jcb.addItem("水果");
jcb.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if (jcb.getSelectedIndex() == 0) {
imgName = "imagesOflianliankan";
}else if (jcb.getSelectedIndex() == 1) {
imgName = "imagesOflianliankan2";
}else if (jcb.getSelectedIndex() == 2) {
imgName = "imagesOflianliankan1";
}
dm.setImgName(imgName);
javax.swing.SwingUtilities.updateComponentTreeUI(lu);
}
});
}
return jcb;
}
3.导入图片
ImageIcon ic = new ImageIcon(this.getClass().getResource("images/1.jpg" ))
此方法的images文件夹应和该class在同一目录下,同一级。
private static Toolkit tk = Toolkit.getDefaultToolkit();
//static 没必要每new一个就loader一次
private static Image []imgs= {
//abstract Image getImage(String filename)
//返回一幅图像,该图像从指定文件中获取像素数据,图像格式可以是 GIF、JPEG 或 PNG。
//abstract Image getImage(URL url)
//返回一幅图像,该图像从指定 URL 获取像素数据。
//java.lang.Class 描述编译好的.class文件的信息
// ClassLoader getClassLoader() 返回该类的类加载器。
//java.lang.ClassLoader
// URL getResource(String name) 查找具有给定名称的资源。
tk.getImage(Explode.class.getClassLoader().getResource("images/0.png")),
tk.getImage(Explode.class.getClassLoader().getResource("images/1.png")),
tk.getImage(Explode.class.getClassLoader().getResource("images/2.png")),
tk.getImage(Explode.class.getClassLoader tk.getImage(Explode.class.getClassLoader().getResource("images/3.png"))
};
此方法的images文件夹应在src下。
例如,创建带有初始图标的按钮
JButton(String text, Icon icon)
JButton jb = new JButton("关于", new ImageIcon(this.getClass().getResource("images/8.png" )));
4.数据和显示分离。。。想起web的三层结构。。。。。
ps:win8自带的ie10不支持flash,abode公司也放弃了移动平台的flash开发。。。。ie10支持html5。。。。
html5是主流
。。。。。c++11出来了。。。装了一年从来没使过的F#。。。。语言学不完的。。。呜呜。。。。不想变码农啊。。。。呜呜。。。。好多人鄙视学java的,“JAVA 是很能干,但不过是一“民工工具”而已,再能干撑死也就是一“瑞士军刀”,完全的市场化工业化的产物,从语言本身来说,它是最失败的。”。。。。。可惜市场就是需要这样的语言啊。。。。。伤不起。。。。。