重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
希望能帮助你
成都创新互联不只是一家网站建设的网络公司;我们对营销、技术、服务都有自己独特见解,公司采取“创意+综合+营销”一体化的方式为您提供更专业的服务!我们经历的每一步也许不一定是最完美的,但每一步都有值得深思的意义。我们珍视每一份信任,关注我们的成都网站设计、成都网站制作质量和服务品质,在得到用户满意的同时,也能得到同行业的专业认可,能够为行业创新发展助力。未来将继续专注于技术创新,服务升级,满足企业一站式营销型网站需求,让再小的品牌网站建设也能产生价值!
import java.awt.BorderLayout;
import java.awt.Choice;
import java.awt.Frame;
import java.awt.TextField;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
public class Ch71 extends Frame {
int n;// 循环时使用的变量
String dirname = "c:/";// 文件遍历目录路径
File file = new File(dirname);// 打开文件
String[] flist = new String[100];// 定义数组
Choice listFile = new Choice();// 定义选择框
TextField tf = new TextField(); // 定义文本框
public Ch71() {
setLayout(new BorderLayout(10, 10));// 设置布局方式
flist = file.list();//获取指定目录下面的文件和文件夹
for (n = 0; n flist.length; n++) {//遍历文件
listFile.addItem(flist[n]);//选择框添加单元
}
add("North", listFile);// 把选择框放置窗口北方
add("South", tf);//把文本框放置在窗口南方
setSize(250, 200);//设置窗口大小
setVisible(true);// 设置窗口可见
listFile.addItemListener(new koListener());// 选择框添加选择监听事件
addWindowListener(new koWindowListener());// 添加窗口事件
}
public static void main(String args[]) {
new Ch71();// 启动小程序
}
class koListener implements ItemListener {// 选择框监听类
public void itemStateChanged(ItemEvent e) {// 选中状态发生变化
String ko = (String) e.getItem();// 获取选择框选中文本
for (n = 0; n flist.length; n++)
if (ko == flist[n]) {// 判断文件是否是文件还是目录
File f = new File(file + System.getProperty("file.separator") + ko);
if (f.isFile() == true) tf.setText(ko + "是个文件!");
if (f.isDirectory() == true) tf.setText(ko + "是个目录!");
}
}
}
class koWindowListener extends WindowAdapter {// 窗口监听类
public void windowClosing(WindowEvent e) {// 窗口即将关闭时
dispose();// 窗口隐藏
System.exit(0);// 程序退出
}
}
}
宽度优先算法指的就是先遍历第一层再遍历第二层?
图的宽度优先?有根节点吧
如果是的话:
定义一个队列,队列不只存储元素的引用,还存储元素的层数
然后把根节点入队,进入循环:
queue.push(1); //根节点属于第一层
queue.push(root); //根节点入队
while(!queue.isEmpty()){
for(int i = 0; i count; i++){
int layer = queue.pop();
Object obj = queue.pop();
println("Item:" + obj.toString() + " Layer:" + layer); //输出节点和层数
//对于访问完的节点,将他的下一层孩子节点加入队列,并把孩子节点的层数设置为当前节点层数+1
for(Object item : obj.childNodeList){
queue.push(layer + 1);
queue.push(item);
}
}
}
循环结束,图遍历完毕。
以上代码的queue这里只用了一个,可能在实践中一个队列同时存储layer(Integer)和Node(Object)只能用queueObject了,也可以使用两个队列,一个存Layer(queueInteger),一个存Node(queueNode)
真心的没有做过 不过肯定的是这个需要用到文件的迭代 ,如果是文件夹
让文件夹里面的文件组成文件数组 forZ循环迭代
如果是图片文件的话,判断图片文件的类型 case语句 判断打印
横向和纵向的路径是指什么意思 谢谢
java.awt.image.BufferedImage bi = javax.imageio.ImageIO.read(file);
bi.getWidth(); //获得 宽度
bi.getHeight() ;//获得 高度
高度大于宽带纵向 相反就是横向
你把天数加上1的上面那一行代码注释取消掉改成 System.out.println(sdf.format(tmp)); 就行了啊....
你要显示每一天 那肯定得把打印代码写在循环里面呀 或者在循环里面把每一天都拼接在一起 最后return ,你目前把循环输出给注释掉了,然后又只return了最后一天的字符串回去 那当然只打印最后一天。
你要不就把那行代码取消了 ,要不就先声明一个String用来接收循环拼接完的日期最后return回去
一个简单的表格,就显示两行数据
package cn.mff.mvc.view.studentdialog;
import java.awt.Color;
import javax.swing.*;
import javax.swing.JTable;
import javax.swing.table.*;
//import oracle.jdeveloper.layout.OverlayLayout2;
//一个测试,看JTable怎么用
public class TableTest extends JFrame{
private JTable table;
private JScrollPane scrollPane;
private JTableHeader tableh;
public TableTest(){
super("表格显示");
//设置JTable的title和content
Object[][] content = {{"mafeifei","12","f","24"},{"wangran","4","f","20"}};
String[] title ={"name","number","sex","age"};
table = new JTable(content,title);
//设置背景色
table.setBackground(new Color(230, 230, 230));
//jtable没有选中的文字颜色
table.setForeground(new Color(0, 0, 0));
//设置边线线条
table.setGridColor(Color.CYAN);
tableh = table.getTableHeader();
//设置表头背景色
tableh.setBackground(Color.GREEN);
scrollPane = new JScrollPane(table);
getContentPane().add(scrollPane);
}
public static void main(String[] args){
TableTest test = new TableTest();
test.setSize(400,300);
test.setDefaultCloseOperation(EXIT_ON_CLOSE);
test.setVisible(true);
}
}